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