Кассовый сервер предоставляет возможность проверки и контроля акцизных марок для:
- алкогольных товаров, подлежащих обязательной регистрации в ЕГАИС;
- табачной продукции, подлежащей мониторингу с помощью информационной системы МОТП;
- обувных товаров, подлежащих мониторингу с помощью информационной системы МООТ;
- лекарственных препаратов, подлежащих мониторингу с помощью информационной системы МДЛП;
- маркированных товаров, подлежащих мониторингу с помощью информационной системы оборота товаров.
Резервирование акцизных марок
При продаже и возврате акцизных товаров на кассе и кассовом сервере проверяются уникальность и статус каждой акцизной марки.
Данные статусов акцизных марок, а также акцизных марок, разрешенных к продаже, записаны в таблицы excisemark
(статусы акцизных марок) и excisemarkwhite
("белый" список) в БД Dictionaries
. Все изменения статусов акцизных марок сохраняются в БД. В таблице documentsAll.excisemarks
в поле status_date
записывается дата и время изменения статуса акцизной марки. Актуальным считается статус акцизной марки с максимальным значением status_date
.
Статусы акцизных марок (для алкогольной продукции, табачной продукции и обувных товаров) могут принимать следующие значения:
- 0 - Марка не зарегистрирована в БД.
- 1 - Товар с такой маркой продан.
- 2 - Товар с такой маркой возвращен.
- 3 - Марка зарезервирована в чеке продажи.
- 4 - Марка снята с резерва в чеке продажи.
- 5 - Марка зарезервирована в чеке возврата (чеке возврата по чеку продажи).
- 6 - Марка снята с резерва в чеке возврата (чеке возврата по чеку продажи).
- 7 - Акцизная марка отсутствует в списке разрешенных к продаже.
- 8 - Связка кода и алкокода товара отсутствует.
- 9 - Товар отсутствует на остатке.
- 10 - Штрих-код для проверки в списке акцизных марок, разрешенных к продаже, не передан.
- 11 - Соответствие акцизной марки и штрих-кода в списке акцизных марок, разрешенных к продаже, не найдено.
- 12 - Магазин для проверки остатков не найден.
- 13 - Штрих-код для проверки остатков не заполнен.
- 14 - Код товара для проверки остатков не заполнен.
- 15 - Справочник остатков для товара, по которому проверяем остатки, заполнен не корректно.
- Любое другое значение - неизвестный статус акцизной марки.
Справочник статусов акцизных марок проверяется всегда. Существует дополнительная проверка акцизных марок в "белом" списке. Настроить проверку в "белом" списке акцизных марок можно:
- для табачной продукции;
- для алкогольной продукции;
- для обувных товаров;
- для лекарственных препаратов.
Резервирование при продаже
При добавлении акцизного товара в чек продажи с кассы на кассовый сервер направляется REST запрос на получение статуса акцизной марки. По запросу на кассовом сервере осуществляются следующие проверки:
- получение статуса акцизной марки из данных о продажах (БД
Documents
таблицаexcisemarks
), - если в данных о продажах акцизная марка не найдена, то выполняется проверка в справочнике статусов акцизных марок (БД
Dictionaries
таблицаexcisemark
), - если продажа разрешена или акцизная марка не обнаружена, то проверяется справочник акцизных марок, разрешенных к продаже (БД
Dictionaries
таблицаexcisemarkwhite
).
Если по результатам всех проверок товар с акцизной маркой может быть продан, то на кассу передается статус проверок и акцизная марка ставится в резерв продажи на кассовом сервере.
Результат проверки акцизных марок при выключенной проверке в справочнике excisemarkwhite ("белый" список не проверяется)
Результат проверки в БД продаж excisemarks | Результат проверки в справочнике статусов акцизных марок excisemark | Результат, возвращаемый на кассу |
---|---|---|
нет в БД | нет в БД | Возвращается статус 0. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. |
разрешено продавать (статусы 0, 2, 4) | Возвращается статус акцизной марки. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | |
запрещено продавать (статусы 1, 3, 5, 6, 7, 8, 9) | Возвращается статус акцизной марки. Запрещено продавать. Статус акцизной марки в documentsAll.excisemarks не изменяется. | |
разрешено продавать | нет в БД | Возвращается статус акцизной марки. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. |
разрешено продавать | ||
запрещено продавать | ||
запрещено продавать | нет в БД | Возвращается статус акцизной марки. Запрещено продавать. Статус акцизной марки в documentsAll.excisemarks не изменяется. |
разрешено продавать | ||
запрещено продавать |
Результат проверки акцизных марок при включенной проверке акцизных марок в справочнике excisemarkwhite (проверяется статус акцизной марки в "белом" списке)
Результат проверки в БД продаж excisemarks | Результат проверки в справочнике статусов акцизных марок excisemark | Результат проверки в справочнике акцизных марок, разрешенных к продаже excisemarkwhite ("белый" список) | Результат, возвращаемый на кассу |
---|---|---|---|
нет в БД | нет в БД | нет в БД | Возвращается статус 7. Запрещено продавать. |
нет в БД | есть в БД | Возвращается статус 0. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | |
запрещено продавать | нет в БД | Возвращается статус акцизной марки из таблицы excisemark. Запрещено продавать. | |
запрещено продавать | есть в БД | ||
разрешено продавать | нет в БД | Возвращается статус 7. Запрещено продавать. | |
разрешено продавать | есть в БД | Возвращается статус акцизной марки. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | |
разрешено продавать | нет в БД | нет в БД | Возвращается статус 7. Запрещено продавать. |
нет в БД | есть в БД | Возвращается статус акцизной марки. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | |
запрещено продавать | нет в БД | Возвращается статус 7. Запрещено продавать. | |
запрещено продавать | есть в БД | Возвращается статус из БД продаж (2 или 4). Разрешено продавать. | |
разрешено продавать | нет в БД | Возвращается статус 7. Запрещено продавать. | |
разрешено продавать | есть в БД | Возвращается статус акцизной марки. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | |
запрещено продавать | нет в БД | нет в БД | Возвращается статус из таблицы documentsAll.excisemarks. Запрещено продавать. |
нет в БД | есть в БД | ||
запрещено продавать | нет в БД | ||
запрещено продавать | есть в БД | ||
разрешено продавать | нет в БД | ||
разрешено продавать | есть в БД |
Результат проверки акцизных марок при включенной проверке связки акцизных марок и штрих-кодов в справочнике excisemarkwhite (проверяется связка акцизной марки и штрих-кода товара в "белом" списке)
Результат проверки в БД продаж excisemarks | Результат проверки в справочнике статусов акцизных марок excisemark | Результат проверки в справочнике акцизных марок, разрешенных к продаже excisemarkwhite ("белый" список) | Статус штрих-кода (передан/не передан в запросе, соответствует или нет связке в таблице excisemarkwhite) | Результат, возвращаемый на кассу |
---|---|---|---|---|
нет в БД | нет в БД | нет в БД | штрих-код передан | Возвращается статус 11. Запрещено продавать. |
штрих-код не передан | Возвращается статус 10. Запрещено продавать. | |||
есть в БД | штрих-код соответствует акцизной марке | Возвращается статус 0. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | ||
есть в БД | штрих-код не соответствует акцизной марке | Возвращается статус 11. Запрещено продавать. | ||
есть в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
разрешено продавать | нет в БД | штрих-код передан | Возвращается статус 11. Запрещено продавать. | |
нет в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
есть в БД | штрих-код соответствует акцизной марке | Возвращается статус акцизной марки из справочника статусов. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | ||
есть в БД | штрих-код не соответствует акцизной марке | Возвращается статус 11. Запрещено продавать. | ||
есть в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
запрещено продавать | нет в БД | штрих-код передан | Возвращается статус акцизной марки из таблицы excisemark. Запрещено продавать. | |
нет в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
есть в БД | штрих-код соответствует акцизной марке | Возвращается статус акцизной марки из справочника статусов. Запрещено продавать. | ||
есть в БД | штрих-код не соответствует акцизной марке | |||
есть в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
разрешено продавать | нет в БД | нет в БД | штрих-код передан | Возвращается статус 11. Запрещено продавать. |
нет в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
есть в БД | штрих-код соответствует акцизной марке | Возвращается статус 0. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | ||
есть в БД | штрих-код не соответствует акцизной марке | Возвращается статус 11. Запрещено продавать. | ||
есть в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
разрешено продавать | нет в БД | штрих-код передан | Возвращается статус 11. Запрещено продавать. | |
нет в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
есть в БД | штрих-код соответствует акцизной марке | Возвращается статус акцизной марки из таблицы documentsAll.excisemarks. Разрешено продавать. Статус акцизной марки в documentsAll.excisemarks меняется на 3. | ||
есть в БД | штрих-код не соответствует акцизной марке | Возвращается статус 11. Запрещено продавать. | ||
есть в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
запрещено продавать | нет в БД | штрих-код передан | Возвращается статус 11. Запрещено продавать. | |
нет в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
есть в БД | штрих-код соответствует акцизной марке | Возвращается статус из БД продаж (2 или 4). Разрешено продавать. | ||
есть в БД | штрих-код не соответствует акцизной марке | Возвращается статус 11. Запрещено продавать. | ||
есть в БД | штрих-код не передан | Возвращается статус 10. Запрещено продавать. | ||
запрещено продавать | нет в БД | нет в БД | штрих-код передан | Возвращается статус акцизной марки из таблицы documentsAll.excisemarks. Запрещено продавать. |
нет в БД | штрих-код не передан | |||
есть в БД | штрих-код соответствует акцизной марке | |||
есть в БД | штрих-код не соответствует акцизной марке | |||
есть в БД | штрих-код не передан | |||
разрешено продавать | нет в БД | штрих-код передан | ||
нет в БД | штрих-код не передан | |||
есть в БД | штрих-код соответствует акцизной марке | |||
есть в БД | штрих-код не соответствует акцизной марке | |||
есть в БД | штрих-код не передан | |||
запрещено продавать | нет в БД | штрих-код передан | ||
нет в БД | штрих-код не передан | |||
есть в БД | штрих-код соответствует акцизной марке | |||
есть в БД | штрих-код не соответствует акцизной марке | |||
есть в БД | штрих-код не передан |
Резервирование при возврате
При добавлении акцизного товара в чек возврата с кассы на кассовый сервер направляется REST запрос на получение статуса акцизной марки. По запросу на кассовом сервере осуществляются следующие проверки:
- получение статуса акцизной марки из данных о продажах,
- если в продажах акцизная марка не найдена - марка проверяется в справочнике статусов акцизных марок (
excisemark
),- если акцизная марка найдена в справочнике, то на кассу передается статус из справочника,
- если в справочнике марка не найдена, то на кассу передается статус из документов продаж.
Если после всех проверок товар с акцизной маркой можно вернуть, то на кассу передается статус проверок и акцизная марка ставится в резерв возврата на кассовом сервере.
Результат проверки в БД продаж excisemarks | Результат проверки в справочнике статусов акцизных марок excisemark | Результат, возвращаемый на кассу |
---|---|---|
нет в БД | нет в БД | Возвращается статус 0. Запрещено возвращать, т.к. товар не был продан ранее. |
разрешено возвращать | Возвращается статус акцизной марки. Разрешено возвращать. Статус акцизной марки в documentsAll.excisemarks меняется на 5. | |
запрещено возвращать | Возвращается статус акцизной марки. Запрещено возвращать. Статус акцизной марки в documentsAll.excisemarks не изменяется. | |
разрешено возвращать | нет в БД | Возвращается статус акцизной марки. Разрешено возвращать. Статус акцизной марки в documentsAll.excisemarks меняется на 5. |
разрешено возвращать | ||
запрещено возвращать | ||
запрещено возвращать | нет в БД | Возвращается статус акцизной марки. Запрещено возвращать. Статус акцизной марки в documentsAll.excisemarks не изменяется. |
разрешено возвращать | ||
запрещено возвращать |
МОТП (реализация табачной продукции)
Проверка акцизной марки табачной продукции в "белом" списке
Проверка акцизных марок табачной продукции в "белом" списке настраивается в веб-интерфейсе кассового сервера в меню Настройки, вкладка Локальные настройки.
Возможные значения:
- Не проверять.
- Проверять только наличие акцизной марки.
- Проверять связку акцизной марки и штрих-кода товара.
Результаты проверки при активированной настройке описаны в таблице.
Контроль остатков товара
При продаже табачной продукции возможно контролировать наличие товара на остатках магазина. Для контроля остатков табачной продукции в настройках кассового сервера, во вкладке Локальные настройки, необходимо установить свойство "Контроль остатков при продаже табачной продукции":
Свойство может принимать значения:
- Не проверять. Наличие табачной продукции на остатке не контролируется.
- Проверять по коду. Проверка остатков табачной продукции осуществляется по коду.
- Проверять по штрих-коду. Проверка остатков табачной продукции осуществляется по штрих-коду.
Подсчет остатков осуществляется следующим образом:
- Определяется количество остатков для кода (штрих-кода) товара на основании данных справочника остатков акцизного товара. Подсчет остатков начинается от записи с типом 0 (установка остатков) и максимальным значением
effectivedate
, меньшим текущей даты и времени. Далее при подсчете учитываются все операции добавления и списания остатков и дата актуальности, которая должна быть больше, чем в записи с типом 0, но меньше текущего времени. - Определяется количество остатков на основании данных продаж между датой
effectivedate
(из пункта 1) и текущей датой. При подсчете учитываются акцизные марки со статусами 2, 3, 4. - Актуальные остатки получаются путем суммирования данных, полученных на основании пунктов 1 и 2.
ЕГАИС (реализация алкогольной продукции)
Проверка акцизной марки алкогольной продукции в "белом" списке
Проверка акцизных марок алкогольной продукции в "белом" списке настраивается в веб-интерфейсе кассового сервера в меню Настройки, вкладка Локальные настройки. Уровень проверки настраивается для старых (68 символов) и новых (150 символов) акцизных марок по отдельности.
Возможные значения:
- Не проверять.
- Проверять только наличие акцизной марки.
- Проверять связку акцизной марки и штрих-кода товара.
Результаты проверки при активированной настройке описаны в таблице.
Реквизиты магазина
Реквизиты магазина для реализации алкогольной продукции задаются в веб-интерфейсе кассового сервера. Для того, чтобы получить возможность заполнять данные для передачи данных продаж в ЕГАИС, в настройках кассового сервера, во вкладке Алкогольная продукция, необходимо установить свойство "Отображать реквизиты ЕГАИС в веб".
Реквизиты магазина заполняются во вкладке "Редактирование" магазина в секции дополнительных настроек:
Проверка алкокодов
При продаже алкогольной продукции существует возможность контролировать наличие связки кодов и алкокодов товара. Для контроля алкокодов в настройках кассового сервера, во вкладке Локальные настройки, необходимо задать свойство "Контроль алкокодов при продаже акцизной продукции (только для алкоголя с акцизной маркой образца 2016 года)":
Проверка связки товара с алкокодом проверяется только при продаже акцизного товара. Продать акцизный товар можно только в том случае, если статус акцизной марки позволяет ее продать и в БД Справочники в таблице TmcAlcocode
имеется связка кода и алкокода товара. Если акцизная марка товара имеет статус, разрешающий продавать товар (статусы 0, 2, 4), но связка кода и алкокода товара в БД отсутствует, то кассовой программе будет отправлен статус 8. Продажа такого товара запрещена.
Если на сервере активен режим проверки акцизных марок из "белого" списка, то проверка связки товара с алкокодом выполняется после нее. После проверки при наличии связки с алкокодом в кассовую программу направляется ее текущий статус. Если товар с акцизной маркой разрешен к продаже (имеет статусы 0, 2, 4), но для такого товара отсутствует связка с алкокодом, то кассовой программе будет возвращен статус 7.
Контроль остатков товара
При продаже алкогольной продукции возможно контролировать наличие акцизного товара на остатках магазина. Для контроля остатков акцизного товара в настройках кассового сервера, во вкладке Локальные настройки, необходимо установить свойство "Контроль остатков при продаже акцизной продукции":
Свойство может принимать значения:
- Не проверять. Наличие акцизного товара на остатке не контролируется.
- Проверять по коду. Проверка остатков акцизного товара осуществляется по коду.
- Проверять по штрих-коду. Проверка остатков акцизного товара осуществляется по штрих-коду.
Подсчет остатков осуществляется следующим образом:
- Определяется количество остатков для кода (штрих-кода) товара на основании данных справочника остатков акцизного товара. Подсчет остатков начинается от записи с типом 0 (установка остатков) и максимальным значением
effectivedate
, меньшим текущей даты и времени. Далее при подсчете учитываются все операции добавления и списания остатков и дата актуальности, которая должна быть больше, чем в записи с типом 0, но меньше текущего времени. - Определяется количество остатков на основании данных продаж между датой
effectivedate
(из пункта 1) и текущей датой. При подсчете учитываются акцизные марки со статусами 2, 3, 4. - Актуальные остатки получаются путем суммирования данных, полученных на основании пунктов 1 и 2.
МООТ (реализация обувных товаров)
Проверка кодов маркировки обувных товаров в "белом" списке
Проверка разрешенных к продаже кодов маркировки обуви в "белом" списке настраивается в веб-интерфейсе кассового сервера в меню Настройки, вкладка Локальные настройки.
Возможные значения:
- Не проверять.
- Проверять по коду маркировки.
- Проверять по коду маркировки и штрих-коду.
Результаты проверки при активированной настройке описаны в таблице.
МДЛП (реализация лекарственных препаратов)
При продаже и возврате лекарственных препаратов на кассовом сервере проверяются уникальность и статус каждого кода маркировки.
Все изменения статусов кодов маркировки сохраняются в БД DocumentsAll
таблица partialmark
. В поле status_date
записывается дата и время изменения статуса кода маркировки. Актуальным считается статус акцизной марки с максимальным значением status_date
.
Статусы кода маркировки для лекарственных препаратов могут принимать следующие значения:
- 0 - Марка не зарегистрирована в БД;
- 7 - Акцизная марка отсутствует в списке разрешенных к продаже;
- 10 - Штрих-код для проверки в списке акцизных марок, разрешенных к продаже, не передан;
- 11 - Соответствие акцизной марки и штрих-кода в списке акцизных марок, разрешенных к продаже, не найдено;
- 100 - Повторный запрос подтверждения продажи марки;
- 101 - Заблокирована продажа/возврат марки в справочнике;
- 102 - Превышен лимит продажи товара, который продается частями. Например, продажа блистеров из одной упаковки;
- Любое другое значение - неизвестный статус акцизной марки.
Дальнейшее поведение программы определяется полученным статусом.
Проверка кодов маркировки лекарственных препаратов в "белом" списке
Проверка разрешенных к продаже кодов маркировки лекарств в "белом" списке настраивается в веб-интерфейсе кассового сервера в меню Настройки, вкладка Локальные настройки.
Возможные значения:
- Не проверять.
- Проверять по коду маркировки.
- Проверять по коду маркировки и штрих-коду.
Реализация маркированных товаров
Проверка кодов маркировки в "белом" списке
Проверка разрешенных к продаже кодов маркировки товаров в "белом" списке настраивается в веб-интерфейсе кассового сервера в меню Настройки, вкладка Локальные настройки.
Возможные значения:
- Не проверять.
- Проверять по коду маркировки.
- Проверять по коду маркировки и штрих-коду.
Результаты проверки при активированной настройке описаны в таблице.