Проанализируем ситуацию, с которой часто сталкиваются магазины при продаже алкогольной продукции. Клиент подходит с бутылкой на кассу, кассир сканирует марку и нажимает кнопку оплаты по безналичному расчету. У клиента списываются деньги, из эквайрингового терминала (ККМ) выходит слип-чек об оплате. Клиент забирает бутылку и уходит. И только после этого Универсальный транспортный модуль (УТМ) выдает ошибку по ЕГАИС, сообщая, что данную марку продавать нельзя. Деньги сняты, товар ушел, а чек в учетной системе не пробит. Разберем по шагам, как избежать таких ситуаций и настроить систему так, чтобы проверка марки происходила до списания средств.
Если вы используете современные релизы программы (начиная с 1С:Розница 2.3.12 и выше), разработчики уже внедрили расширенный контроль статусов кодов маркировки перед пробитием чека. Рассмотрим подробнее, как это работает.
Вам необходимо зайти в настройки Рабочего места кассира (РМК) и включить соответствующую опцию контроля. При активации этой настройки программа будет выполнять автоматическую проверку отсканированного кода акцизной марки через УТМ до инициализации эквайрингового терминала. Если марка не числится на балансе организации или ее статус не позволяет осуществить продажу, кассир мгновенно получит уведомление об ошибке, и программа заблокирует дальнейшую отправку команды на терминал. Таким образом, деньги с карты покупателя списаны не будут.
Даже если оплата по карте прошла, система должна уметь обрабатывать отказы от ЕГАИС. В свежих версиях программы улучшена логика работы с эквайрингом при сбоях. Если на этапе отправки данных в УТМ или при фискализации чека происходит ошибка, операция оплаты отменяется автоматически (на терминал отправляется команда отмены).
Если же вы работаете в более старых версиях, рассмотрим действия кассира. Пока открыто диалоговое окно оплаты в РМК, у кассира есть доступ к кнопке Сторно. Если УТМ выдал ошибку после снятия денег:
Сторно (или отложите чек, в этот момент программа сама предложит сделать сторно оплаты).Чтобы проблемная алкогольная продукция в принципе не доходила до кассовой зоны, выясним причину и применим превентивные меры. Рекомендуется проверять марки на этапе приемки товара или при инвентаризации.
В системе 1С существует документ ПроверкаМарокВУТМ. С его помощью мы можем сформировать запрос остатков по Регистру №3 (регистр акцизных марок). Процесс выглядит следующим образом:
Часто возникает ситуация, когда марка не пробивается на кассе не из-за того, что она дубль или принадлежит другому юрлицу, а потому что в базе 1С потерялся входящий тикет (ответ) от УТМ о подтверждении приходной накладной. Марка физически у вас, но в 1С имеет статус "не принятая". Разберем, как это исправить:
СтатусыДокументовЕГАИС.АкцизныеМаркиЕГАИС, найдите марки из этой накладной и измените их статус на "В наличии". После этого касса позволит продать товар без ошибок.Чтобы клиент не успел уйти с неоплаченным товаром, пока печатается длинная лента чеков (слип терминала, фискальный чек, слип ЕГАИС), в новых версиях программы добавлена настройка печати единого QR-кода. Обязательно включите её. При этом отдельный слип-чек ЕГАИС не печатается, а вся нужная информация и QR-код для проверки на сайте ФСРАР выводятся в основном фискальном чеке. Это значительно сокращает время нахождения покупателя на кассе.
Если стандартных механизмов вам недостаточно или вы используете старую конфигурацию без возможности обновления, посмотрим на пример того, как программист может реализовать предварительную проверку через прямой XML-запрос к УТМ. Механизм контроля можно дописать самостоятельно.
Чтобы отправить в УТМ запрос о наличии марок на балансе организации, необходимо сформировать и отправить XML-документ следующего вида:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ns:Documents xmlns="http://fsrar.ru/WEGAIS/QueryFilter" xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" Version="1.0">
<ns:Owner>
<ns:FSRAR_ID>030000328912</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:QueryFilter>
<bc>21N000008AGPGK825SNCPBX803053347875347JS5O4IY0H5PN4ZVD3WXICDBPN5AJ15</bc>
<bc>20N000008AGPGK825SNMYU280217526509616BJ04B1QAEIUFWXF2RNSC0UOT79BOR16</bc>
</ns:QueryFilter>
</ns:Document>
</ns:Documents>
В случае наличия всех переданных марок на балансе вашей организации, от УТМ вернется положительный ответ:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ns:Documents xmlns="http://fsrar.ru/WEGAIS/QueryFilter" xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" Version="1.0">
<ns:Owner>
<ns:FSRAR_ID>030000337946</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:ReplyFilter>
<result>Проверка пройдена</result>
</ns:ReplyFilter>
</ns:Document>
</ns:Documents>
Если же проверяемая марка отсутствует на балансе или имеет запрет на продажу, УТМ сформирует документ с ошибкой, указав конкретный проблемный штрихкод:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ns:Documents xmlns="http://fsrar.ru/WEGAIS/QueryFilter" xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" Version="1.0">
<ns:Owner>
<ns:FSRAR_ID>030000337946</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:ReplyFilter>
<result>Штрихкод не найден</result>
<bc>21N000008AGPGK825SWYEVN8012917567577367H9SXZZZ03P71QLC65URXBDN4V4684</bc>
</ns:ReplyFilter>
</ns:Document>
</ns:Documents>
Встроив отправку такого запроса в обработчик события добавления товара в корзину РМК или перед вызовом процедуры оплаты по эквайрингу, вы гарантированно заблокируете попытку продажи нелегального или "потерянного" алкоголя до того, как с карты клиента будут списаны денежные средства.