Заявки на загрузку чеков

Редактировал(а) Татьяна Брыкова 2025/01/13 15:23

Заявки на загрузку чеков (чеки из ФНС)

Система предоставляет возможность для привязки чека к контакту путем сканирования QR кода с кассового чека, например, в мобильном приложении участника программы лояльности.

Принцип работы функциональности следующий:

  • В мобильном приложении программы лояльности участник сканирует QR код с кассового чека.
  • Приложение передаёт в систему ML посредством запроса сервиса OData реквизиты отсканированного из QR кода чека (сумма, дата чека, ФН, ФД и ФПД).
  • Система ML обращается к сервису НДС+ для получения содержимого чека из ФНС и затем привязывает чек к одной из активных карт данного контакта для предоставления привилегий (начисления бонусов, изменения уровня и т.д.).

При обработке чека в системе происходят различные проверки, в том числе следующие: чек не просрочен (есть возможность для настройки допустимого периода сканирования чека контактом), чек не был отсканирован ранее (один чек может быть отсканирован только один раз), чек имеет тип операции «Приход».

См. подробнее описание метода по привязке чека в документации API для интеграции с ЛК или МП.

Ошибочные чеки, по которым вернулась ошибка от сервиса НДС+ (например, чек отсутствует в ФНС) или по которым произошла ошибка при привязке чека в базе лояльности (например, не найден pos-терминал), а также успешно привязанные чеки – все чеки сохраняются с соответствующим статусом в базу данных и отображаются в интерфейсе ML в отдельном представлении заявок на загрузку чеков.

Оператор программы лояльности может выполнять различные действия с заявками на загрузку чеков в интерфейсе: создавать новые заявки вручную, искать чек из заявки в ФНС (для получения содержимого чека из ФНС), подтвердить чек из заявки (привязка чека к контакту, по которому успешно получена информация из ФНС), отклонить заявку с указанием причины отклонения.

Участник программы лояльности может просмотреть в МП все свои отсканированные чеки со статусами их обработки, в том числе с причиной отклонения оператором.

Записи заявок на загрузку чеков доступны в меню системы:

1708417084075-414.png

Рис. Справочник заявок на загрузку чеков в системе

Запись заявки на загрузку чека содержит следующие параметры:

ПолеОписаниеОбязательное полеРедактирование
ОтветственныйПользователь, ответственный за создание и ведение данной записи.ДаПоле доступно для редактирования. Заполняется из справочника пользователей.
ПодразделениеПодразделение, к которому относится данная запись.ДаПоле доступно для редактирования. Заполняется из справочника подразделений.
Общие сведения
Номер заявки/чекаНомер чека. Должен быть уникальным. По умолчанию заполняется функцией автонумератора. Возможно редактирование.ДаПоле доступно для редактирования, заполняется автоматически автонумератором
Общий статус

Общий статус заявки на загрузку чека.

Возможные значения:

  • Новая
  • Ошибка обработки
  • Успешно
  • Отклонена

При создании заявки вручную в интерфейсе общий статус проставляется как «Новая».

Если по чеку успешно получено содержимое из ФНС и далее успешно подтвердили (привязали) чек, то общий статус проставляется как «Успешно».

НетПоле недоступно для редактирования, заполняется автоматически
Статус чека из ФНС

Статус чека из ФНС. Заполняется после поиска чека в ФНС.

Возможные значения:

200 - Данные чека получены (успешный запрос)

400 - Клиент послал невалидные данные

404 - Чек не найден в базе ФНС, но может быть найден позже

406 - Чек не легален

410 - Чек не найден и уже не будет найден позже

429 - Превышен лимит запросов в секунду по одному чеку или общий лимит запросов в ФНС

500 - Внутренняя ошибка сервера

503 - Сервис временно недоступен из-за проблем связанных с ФНС

НетПоле недоступно для редактирования, заполняется автоматически
Статус процессинга

Статус процессинга. Заполняется после подтверждения чека.

Возможные значения:

0 - чек привязан к контакту (чек успешно обработан в процессинге ML)

8**** - ошибка обработки чека в процессинге ML

Наиболее типичные ошибки при процессинге чека из ФНС:

81301 - Не может быть чека от того же POS в тот же день с тем же номером

81342 – не найден POS

НетПоле недоступно для редактирования, заполняется автоматически
КонтактСсылка на контакт чекаДаПоле доступно для редактирования, заполняется автоматически с возможностью редактирования.
Дата покупкиДата и время совершения покупки. Заполняется по умолчанию текущей датой и текущим временем создания. При необходимости редактируется.ДаПоле доступно для редактирования, заполняется автоматически с возможностью редактирования.
Сумма покупкиОбщая сумма чека.ДаПоле доступно для редактирования, заполняется вручную
ФННомер фискального накопителя в чеке.ДаПоле доступно для редактирования, заполняется вручную
ФДНомер фискального документа в чеке.ДаПоле доступно для редактирования, заполняется вручную
ФПДФискальный признак документа в чеке.ДаПоле доступно для редактирования, заполняется вручную
Тип операции

Тип транзакции. Возможные значения:

  • Покупка
  • Возврат (в текущей версии не поддерживается)

Значение по умолчанию: Покупка.

ДаПоле недоступно для редактирования, заполняется автоматически
МагазинСсылка на магазин чека, который успешно привязан к карте контакта. Поле заполняется автоматически после подтверждения и привязки чека.ДаПоле доступно для редактирования, заполняется вручную
POS-терминалСсылка на pos-терминал чека, который успешно привязан к карте контакта. Поле заполняется автоматически после подтверждения и привязки чека.ДаПоле доступно для редактирования, заполняется вручную
КартаСсылка на карту контакта, к которой успешно привязан чек. Поле заполняется автоматически после подтверждения и привязки чека.ДаПоле доступно для редактирования, заполняется вручную
Дата сканирования чекаДата и время внесения чека в систему. Заполняется по умолчанию текущей датой и текущим временем создания. При необходимости редактируется.ДаПоле доступно для редактирования, заполняется автоматически с возможностью редактирования.
Связанные представления
Позиции заявок/чековПредставление, в котором показан товарный состав чека.
ВозвратыПредставление, в котором показаны  возвраты по чеку.

Для того чтобы сделать поиск чека в ФНС должны быть вначале заполнены следующие поля в заявке на загрузку чека:

  • Контакт
  • Дата покупки
  • Сумма покупки
  • ФН
  • ФД
  • ФПД

Дополнительно чтобы можно было сделать поиск чека в ФНС заявка должна иметь общий статус, равный «Новая» или «Ошибка обработки» и при этом иметь статус чека из ФНС, не равный «Данные чека получены (успешный запрос)».

1708419120558-591.png

Рис. Поиск чека в ФНС

Подтвердить (привязать) чек к контакту можно после того, как получено успешно содержимое чека из ФНС, т.е. когда «Статус чека из ФНС» = «Данные чека получены (успешный запрос)» и при этом общий статус равен «Новая» или «Ошибка обработки».

Отклонить можно только заявку с общим статусом, равным «Новая» или «Ошибка обработки». При нажатии на кнопку «Отклонить» требуется указать причину отклонения.

1708419443082-776.png

Рис. Отклонение заявки

1708419504690-188.png

Рис. Окно для указания причины отклонения заявки на загрузку чека

Редактировать можно только заявку, имеющую общий статус «Новая» или «Ошибка обработки» и при этом имеющей статус чека из ФНС, не равный «Данные чека получены (успешный запрос)».

Создавать вручную позиции заявки на загрузку чека не требуется. Позиции заявки создаются автоматически после поиска чека в ФНС. Ссылка на товар заполняется в позиции заявки после подтверждения (привязки) чека.

1708417917822-949.png

Рис. Подтвержденная заявка на загрузку чека

Заявки на загрузку чека (чеки ФНС) можно просмотреть в соответствующем рефересном представлении в карточке контакта.

1708419732654-708.png

Рис. Заявки на загрузку чека в карточке контакта

Сканированные чеки не ФНС. Исключительная обработка через внешний запрос.

В случае, когда необходимо обработать чек, не попадающий в ФНС, используется партнерская настройка Loyalty.Processing.FnsCheque.DirectRegistration.POSExID, в которой перечисляются идентификаторы касс, запрос чеков которых не требуют обращения в сервис ФНС, но регистрируются напрямую в базе данных программы лояльности. Сервис ОData запрашивает значение настройки. Если приходит запрос на формирование чека с кассой из списка по настройке - сервис не посылает запрос в ФНС, а сразу посылает запрос на создание чека без позиций, но с картой лояльности.

Оформление возвратов по чекам ФНС

Для осуществления возврата по чеку из ФНС в разделе системы «Заявки на загрузку чеков» необходимо нажать кнопку «Возврат». Кнопка доступна для нажатия, если заявка с типом операции «Покупка» и имеет "Статус процессинга" = "OK".

1706018719356-774.png

 Рис. Форма «Заявки на загрузку чека» с активной кнопкой «Возврат».

При нажатии на кнопку «Возврат» в карточке заявки открывается карточка для создания новой заявки с тем же составом полей, как и в заявке с типом «Покупка», но со следующими предустановленными значениями полей:

•          «Общий статус» = «Новая»;

•          «Тип операции» = «Возврат»;

•          «Контакт» = значение поля «Контакт» в исходной заявке с типом «Покупка»;

•          «Карта» = значение поля «Карта» в исходной заявке с типом «Покупка»;

•          «Магазин» = значение поля «Магазин» в исходной заявке с типом «Покупка»;

•          «POS» = значение поля «POS» в исходной заявке с типом «Покупка».

На форме необходимо заполнить обязательные поля:

•          «Дата возврата»».

•          «Сумма возврата»: указывается сумма возврата либо одной позиции, либо несколько. Сумма возврата равно сумме возвращаемых позиций.

Также на форме заявки с типом «Возврат» отображается необязательное поле «Обращение», содержащее ссылку на сущность «Обращение».

1706021220378-893.pngIcon

Рис. Карточка для создания заявки на возврат

После заполнения полей и сохранения данных формируется заявка на возврат.

1706021249587-843.png

Рис. Заявка на возврат

При нажатии на кнопку «Добавить позиции для возврата» открывается окно «Добавление позиции заявки/чека» со списком позиций из чека покупки. Пользователь выбирает позиции, которые необходимо вернуть и нажимает кнопку «Добавить».

1706021271605-573.pngIcon

Рис. Окно для добавления позиции заявки/чека

С заявкой с типом «Возврат» связываются выбранные позиции с заполненными полями (номер позиции, товар, цена, количество и сумма).

1706021294786-205.png

Рис. Позиции для возврата

В рамках одной заявки на загрузку чека можно совершать несколько возвратов: на форме заявки с типом «Покупка» все возвраты по данной заявке находятся в одноименном табе.

1706021421652-657.pngРис. Записи возвратов в форме «Заявки на загрузку чека»

Кнопки на форме заявки на загрузку чека с типом «Возврат»

Если заявка с типом «Возврат» имеет "Общий статус" = "Новая" или "Ошибка обработки", то на форме заявки с типом «Возврат» отображается кнопка «Подтвердить». При нажатии на кнопку «Подтвердить» происходит проверка на связь заявки на возврат с позицией чека покупки: если к связанной с заявкой с типом «Возврат» заявке с типом «Покупка» привязана хотя бы одна позиция, а к заявке с типом «Возврат» не привязана ни одна позиция, то отображается ошибка с текстом «Возврат не связан с позициями. Добавьте возвращаемые позиции».

Если проверка пройдена успешно, то отображается одно из следующих всплывающих сообщений, в зависимости от того, указана или нет в заявке возврата ссылка на обращение:

1706021448922-420.pngIcon

 Рис. Окна с вариантами запросов подтверждения возврата

При нажатии на «Да, подтвердить» происходит передача чека возврата на обработку. После получения ответа от процессинга в заявке обновляется поле «Статус процессинга» и «Общий статус». Поле «Статус процессинга» может принимать следующие значения:

  • «Начислено: (кол-во возвращенных баллов со знаком «-»)
  • «Чек покупки не содержит информацию о позициях чека возврата»
  • «Чек для возврата не найден»

Поле «Ошибка обработки» принимает 3 значения «Успешно», «Отклонена» «Ошибка обработки».

Кнопка «Редактировать» доступна для нажатия, если заявка с типом «Возврат» имеет "Общий статус" = "Новая" или "Ошибка обработки" и при этом "Статус чека из ФНС" не равно "Данные чека получены (успешный запрос)". При нажатии открывается карточка заявки на возврат.

Кнопка «Отклонить» доступна для нажатия, если заявка с типом «Возврат» имеет "Общий статус" = "Новая" или "Ошибка обработки". При нажатии на кнопку «Отклонить» открывается окно для указания причины отклонения, далее обновляется поля "Общий статус" на значение «Отклонена» и в заявке фиксируется причина отклонения.

 1706021470372-386.pngIcon

Рис. Окно причины отклонения возврата и обновленные поля карточки возврата после отмены

Кнопки «Поиск в ФНС» и «Возврат» недоступны для нажатия в заявке с типом «Возврат».

1706021494308-574.png

Рис. Кнопки на форме заявки на загрузку чека с типом «Возврат»

Подстановка в чеки ФНС универсального товара

Возможны случаи, когда из магазинов поступают чеки, в которых не указаны артикулы товаров. При сканировании такого чека возникает ошибка «не все коды товаров определены». Система не может идентифицировать товар\создать товар, в результате нет возможности провести чек.

Для исключения ошибок в товарном справочнике системы должен быть заведен универсальный товар и создана системная/партнерская настройка.

Loyalty.FtsReceipt.ArticleStub - настройка, в которой передается внешний идентификатор товара, который подставляется в чеки ФНС, когда в сканированных чеках отсутствует артикул товара. Значение по умолчанию – ПУСТО.

В значение подставляется наименование универсального товара.

Создание ручного чека через «Заявки на загрузку чека»

Заявки на загрузку чеков – это возможность создания чека без взаимодействия с POS-терминалом, а непосредственным вводом чека в систему через пользовательский интерфейс системы.

Для создания ручного чека необходимо зайти в раздел интерфейса «Заявки на загрузку чеков» => Создать.

1716804566546-981.png

Рис. Создание заявки на загрузку чека

Процессинга мягких чеков нет. Ручные чеки можно проводить только как фискальные. Через ручные чеки можно сделать возврат только без ссылки на чек покупки.

Ручные чеки с оплатой денежными средствами можно создавать только, когда отключена функциональность подтверждения операции оплаты денежными средствами.

Ручные чеки могут использоваться, например, когда выписанный фискальный чек по каким-либо причинам не был зарегистрирован в системе.

Для создания ручного чека необходимо заполнить следующие поля в карточке Заявки на загрузку чека:

ПолеОписание
Номер заявки/чекаНомер чека. Должен быть уникальным.
КонтактСсылка на контакт чека
Дата покупкиДата и время совершения покупки. Заполняется по умолчанию текущей датой и текущим временем создания. При необходимости редактируется.
Сумма покупкиОбщая сумма чека.
МагазинСсылка на магазин чека.
POS-терминалСсылка на POS-терминал чека
КартаКарта лояльности, по которой необходимо провести ручной чек.
Дата сканирования чекаДата и время внесения чека в систему. Заполняется по умолчанию текущей датой и текущим временем создания. При необходимости редактируется. Желательно указывать дату проведения заявки т.е. текущий момент.

1716804707729-553.png

Рис. Карточка заявки на загрузку чека

Далее сохранить заполненную форму и проверить, что все поля заполнены корректно.

1716804756273-578.png

Рис. Заполненная карточка заявки на загрузку чека со связанными представлениями

Вручную позиции заявки на загрузку ручного чека не создаются. Они появляются автоматически после поиска чека в ФНС и его подтверждения с помощью соответствующих кнопок в верхней части формы заявки.

Если никаких ошибок при заведении чека не было допущено, после обработки будет отображаться «Статус процессинга» = «ОК», если сработали какие-то правила начисления, в данном статусе будет также указано, сколько начислено бонусных баллов при регистрации чека в системе, и «Общий статус» = «Успешно».

При успешной регистрации чека пересчет уровня контакта происходит в течение 5-10 мин.

1716804785797-559.png

Рис. Успешная обработки заявки на загрузку чека

При успешной регистрации чека пересчет уровня контакта происходит в течение 5-10 мин.

Статус обработки чека может принимать другие значения:

Для «Общего статуса»:

  • Новая
  • Отклонена
  • Ошибка обработки

Для «Статуса процессинга»:

  • Не все коды товаров определены
  • Не может быть чека от того же POS в тот же день с тем же номером
  • В системе отсутствует активная или новая карта с заданным номером мобильного телефона
  • Операция запрещена по лимиту операций по карте в этом магазине
  • Операция запрещена по статусу карты

1716804826299-347.png

Рис. Ошибка обработки заявки на загрузку чека