Маркировка и МРЦ ◾️ Разливной акцизный алкоголь с использованием SetMark

Публичное пространство

Маркировка и МРЦ ◾️ Разливной акцизный алкоголь с использованием SetMark

https://crystals.atlassian.net/browse/SRTB-8783

https://crystals.atlassian.net/browse/CR-12013

Setretail 10.4.14.0

setmark 2.22.0

Описание

Начиная с версии SetRetail 10.4.14.0 и SetMark 2.22.0 реализована поддержка порционного списания акцизного алкоголя в SetMark/SetMark Centrum. Доработка позволяет продавать на кассе порционный алкоголь с акцизной маркой (шоты) в соответствии с требованиями законодательства.

Ценность

Соблюдение требований законодательства в части реализации порционного алкоголя.

Принцип работы

  • В SetMark/SetMarkCentrum загружается список акцизных марок, которые переданы в бар на реализацию.

  • При добавлении позиции “Разливной акцизный алкоголь” (товарная позиция загружена с признаком сatering) в чек продажи касса обращается в SetMark/SetMarkCentrum для получения АМ, с которой можно списать необходимый объем позиции.

  • В случае отсутствия в одной вскрытой бутылке запрашиваемого объема в SetMark/SetMarkCentrum при добавлении позиции в чек касса запрещает продажу.

  • При добавлении позиции алкогольного товара - бутылки в чек продажи/возврата производится проверка акцизной марки в списке доступных к продаже/возврату в SetMark/SetMarkCentrum.

  • При добавлении позиции в чек возврата (возврат по чеку продажи) для товарных позиций с признаком сatering:

    • кассовая система позволяет провести полный возврат чека, включая позиции с товарами с АМ.

    • касса запрашивает для позиции сканирование АМ.

  • При добавлении в чек возврата позиции без признака сatering (бутылки с акцизным алкоголем) возврат осуществляется с запросом считывания АМ.

Также реализован контроль соответствия АМ товару по алкокоду (АК) - настройка setmark.alco.check.alcocode:

  • касса запретит продажу товара, у которого алкокод, загруженный в SM/SMC вместе с АМ, не совпадает с алкокодом, загруженным для товарной позиции из товароучетной системы в кассовую.

Примеры работы

Продажа шотов

  1. Кассир считывает ШК1 шота, в котором указано кол-во 0,05 л (50 мл)

  2. Касса обращается в SM/SMC, получает АМ1 для первых 50 мл в чеке

  3. Кассир считывает ШК1 шота, в котором указано кол-во 0,05 л (50 мл)

  4. Касса обращается в SM/SMC, получает АМ1 для вторых 50 мл в чеке

  5. Кассир считывает ШК1 шота, в котором указано кол-во 0,05 л (50 мл)

  6. Касса обращается в SM/SMC, получает АМ2 для третьих 50 мл в чеке, так как 100 мл из АМ1 уже есть в чеке.

  7. Кассир регистрирует чек.

  8. АМ1 в SM/SMC переходит из доступных к продаже в проданные.

Продажа бутылки по ШК

  • АМ для реализации бутылки целиком

  • Включена настройка setmark.alco.check.alcocode

  1. Кассир сканирует ШК2 с бутылки. На бутылку нанесено АМ3 .

  2. Касса распознает, что это целая бутылка, запрашивает считывание АМ.

  3. Кассир сканирует АМ3 с бутылки.

  4. Касса обращается в SM/SMC для проверки АМ3.

  5. SM/SMC проверяет, что алкокод продаваемого товара соответствует алкокоду, загруженному с АМ3.

  6. SM/SMC возвращает положительный ответ.

  7. Бутылка добавляется в Чек.

  8. Кассир регистрирует чек. В Чеке зарегистрирована АМ3.

  9. АМ3 в SM/SMC переходит из доступных к продаже в проданные.

Полный возврат чека

  1. Покупатель обнаруживает, что забыл применить дисконтную карту.

  2. Кассир инициирует процесс возврата, вызывая функцию полного возврата чека.

  3. Касса запрашивает отсканировать АМ товара.

  4. Кассир выбирает вариант взять АМ из чека продажи.

  5. Касса автоматически выбирает все позиции из чека для возврата, включая шоты с АМ.

  6. Касса запрашивает сканирование АМ

  7. Кассир сканирует АМ

  8. Касса отправляет АМ в SM на проверку

  9. SM вернул положительный ответ

  10. Касса производит операцию возврата (добавляя объем шотов из чека к оставшемуся объёму АМ в SM/SMC (remaining_volume)) и закрывает возвратный чек.

  11. Кассир начинает новый чек продажи - добавляет в чек товары, включая шоты.

  12. Касса обращается в SM для назначения АМ шотам.

  13. Касса добавляет товары в Чек.

  14. Кассир сканирует дисконтную карту.

  15. Касса учитывает дисконт и проводит операцию продажи с применением скидок

  16. В SM/SMC вычитается из объёма назначенных АМ объём шотов из чека.

  17. Кассир регистрирует вновь сформированный чек.

 

Пример отрицательного сценария

  • Для товара не загружена ни одна АМ

1. Кассир считывает ШК/артикул шота, в котором указано кол-во 0,05 л (50 мл)

2. Касса запрашивает сканирование марки с бутылки

3. Касса обращается в SM/SMC за АМ.

4. SM/SMC возвращает ошибку. В журнал нарушений уходит сообщение об ошибке.

5. На кассе отображается сообщение об ошибке: “Товара с такой маркой нет на остатках магазина. Продажа невозможна. Передача товара покупателю запрещена!”.

Касса предлагает сканировать новую марку или отменить добавление товара.

 

Ограничения

  1. В чеке могут быть несколько (>1) товарных позиций с признаком сatering с одинаковой АМ.

  2. Проверка соответствия по алкокоду осуществляется в рамках одного типа товара: разливной алкоголь (productType = 30) или акцизный алкоголь (productType = 1).

  3. В текущей версии при возврате по чеку не проверяется соответствие марки. Объем возвращается в отсканированную марку. 

  4. Схлопывание позиций: на кассе позиции схлопываются. В выгрузке чека на сервер и в запросе в УТМ позиции не схлопываются.

  5. В текущей версии не реализовано резервирование в SetMark/SetMarkCentrum объема добавленной позиции (шота). 

Настройка

Импорт из ERP

Загрузите товар с признаком catering в соответствии с интеграционной документацией.

  • Признак сatering должен быть true, только при условии выставленного значения true для признака excise.

  • Для товарных позиций с признаком сatering добавьте информацию об объеме товарной позиции - volume.

  • Тип товара <product-type>ProductSpiritsEntity</product-type>.

Импорт в SetMark 

Добавление/удаление марки

Метод

POST

Параметр

/add_keg

В данном случае указывается productType=30 для разливного алкоголя.

{ "id": {{$timestamp}}, "version": 1, "operationType": 1, "productType": 30, "data": [ { "mark": "187325994000540224001DPWUXQCQDI3WDVODPF5HRPPRTUEW3NQ3GHPSMCCDYYGIHQXS4UHUNIFFKEMCFNG6WH67MYOUS23U2UFR6YBHW5L7CDP7AIX63MPRKOF5BXWDNTBE3IHIEDVQWYQ23W674", "volume": "3000", "item": "12346", "shop": 779, "barcode": "12345678901236" } ] }

Типы данных в запросе по добавлению/удалению марки

Название

Тип данных

Обязательный

Описание

id

bigint

Да

Уникальный идентификатор для каждого запроса. Не должен повторяться.

version

int

Да

Версия пакета. В настоящий момент поддерживается только версия 1.

operationType

int

Да

Тип операции добавление/удаление:

1 - для добавления бутылки.
2 - для удаления бутылки.

productType

int

Да

Тип продукта. В данном случае указывается productType=30 для разливного алкоголя.

mark

text

Да

Контрольная марка бутылки, обязательно полная с криптохвостом.

volume

bigint

Да

Объем бутылки, передается в миллилитрах.

shop

bigint

Да

Номер магазина.

item

text

Да

Артикул товара.

Если соответствует артикулу из SetRetail10, то продажа на кассе по штрихкоду будет проходить без запроса марки.

 

УТМ ЕГАИС

Для корректной работы требуется использование 4 версии чека для УТМ ЕГАИС.

 

Сервер

В настройках процессинга SetMark установите флажок 

Валидировать порционный алкоголь → кликните
.

 

Также установите флажок

Продавать маркированный товар по артикулу товара, если требуется.

 

Статьи по теме