Ошибка в чеке (price)

Общий код ошибки, который возникает при ошибки валидации чека (значения в каком-то из передаваемых значений не соответствует требования АТОЛ Онлайн) отвечает с кодом ошибки 32.

Пример ошибки: Ошибка запроса по причине: Ошибка валидации входящего чека. Ошибочные поля : NumberNotMultipleOf: #/receipt.items[0].price; Идентификатор ошибки: b35f0425-13aa-4493-b4b9-cc66b981e96c; Код ошибки: 32

В этом примере мы видим, что ошибка в поле price (цена). Подробнее рассмотрим причину ошибки:

  • цена товара - 196,38

  • количество - 10 шт.

  • НДС сверху, т.е. не входит в цену

  • АТОЛ Онлайн всегда ожидает цену с НДС за товар, поэтому мы перед отправкой рассчитываем цену для каждой позиции

  • сумма получается 2356,56, рассчитываем цену за штуку с НДС, получаем 235,656 (т.е. 3 знака после запятой)

  • требования АТОЛ для поля цена (price) - не более 2 знаков после запятой

  • если делать округления перед отправкой, то будут расхождения в цене

Решение:

  • изменить количество и цену таким образом, чтобы цена за штуку с НДС (сумму Всего разделить на Количество) получалась с 2 знаками после запятой

  • записать чек и отправить

Last updated