03.10.2017

Скидки, округление цены и баллы в чеке по 54-ФЗ

  1. Главная
  2. База знаний
  3. Общая информация
  4. Особенности работы по 54-ФЗ
  5. Скидки, округление цены и баллы в чеке по 54-ФЗ

Чек, печатаемый на фискальном регистраторе и передаваемый в ОФД (оператор фискальных данных), должен соответствовать ФФД — формату фискальных документов.
В связи с тем, что по ФФД нет такого понятия как скидка, то чек, сформированный программой, в некоторых случаях может иметь отклонения в одну или несколько копеек от реальной суммы. Обычно такое расхождение не превышает 2-3 копейки, но зависит от конкретной ситуации.

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

Начиная с версии 5.7.0.1595 GBS.Market будет предупреждать о возникновении подобного расхождения до печати чека:

Нажав ДА — программа продолжит печатать чека. Нажав НЕТ, вы сможете изменить чек так, чтобы он был напечатан без расхождения, но важно понимать, что в некоторых случаях напечатать чек без расхождения достаточно сложно.


Пример

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

  1. Сок «Вкусный» 120 рублей х 3 уп = 360 рублей
  2. Жвачка «Апельсиновая» 20 рублей х 1 шт = 20 рублей
  3. Чай «Индийский» 79 рублей х 1 уп = 79 рублей

До момента расчета с покупателем все в порядке. Общая сумма чека составляет 459 рублей.

Покупатель изъявил желание оплатить часть покупки баллами, на сумму 300 баллов. Таким образом, сумма, которую он должен внести наличными, составляет 159 рублей. Далее по тексту вы увидите, как данная сумма увеличится на 1 копейку.

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

Программа сначала рассчитывает цену товара с учетом скидки на него по формуле:

цена_с_учетом_скидки = цена_товара х (100 - скидка_на_товар) / 100

При этом каждая сумма по позиции округляется с точностью до 1 копейки в большую сторону.

Здесь и далее важно понимать, что не делать округление нельзя, т.к. 1 копейка это минимальная денежная единица для расчета и ККМ запрещает передавать суммы более чем с двумя знаками после запятой (в рублях). Т.е. все расчеты происходят с целыми копейками, а округление, если требуется, то происходит в большую сторону.

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

  1. 120  х (100-0) / 100 = 120
  2. 20  х (100-0) / 100 = 20
  3. 79  х (100-0) / 100 = 79

Исходя из полученных цен, и кол-ва каждой позиции в чеке считаем сумму чека:

  1. 120 х 3  = 360
  2. 20 х 1 = 20
  3. 79 х 1 = 79

ИТОГО: 459 рублей Т.е. на данном этапе сумма еще сходится с ранее полученной.

Дальше происходит расчет общей скидки на чек, она, в случае использования онлайн-кассы, включает в себя округление по чеку и сумму оплаты баллами.
Для нашего примера она будет равна 300 рублей (оплата баллами).

Т.е нам необходимо разделить поровну 300 рублей на все позиции в чеке. Размер скидки на каждую позицию рассчитывается так:

сумма_скидки_на_единицу = (цена_с_учетом_скидки/ общая_сумма_чека) х сумма_скидки_на_чек

При этом, как и ранее, сумма скидки на позицию округляется с точностью до 1 копейки в большую сторону

Производит расчет скидок для каждой единицы товара из нашего примера:

  1. (120 / 459) х 300 = 78,4313… , что с округлением дает 78,43
  2. (20 / 459) х 300 = 13,0718… , что с округлением дает 13,07
  3. (79 / 459) х 300 = 51,6339…, с округлением 51,63

Далее сумма скидки на единицу товара вычитается из цены единицы товара. Получаем итоговые цены на товары:

  1. 120 — 78,43 = 41,57
  2. 20 — 13,07 = 6,93
  3. 79 — 51,63 = 27,37

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

  1. 41,57 х 3 = 124,71
  2. 6,93 х 1 = 6,93
  3. 27,37 х 1 = 27,37

ИТОГО: 159,01

Таким образом мы получили сумму на 1 копейку больше, чем она была рассчитана ранее: из общей суммы чека в 459 рублей клиент оплатил 300 рублей баллами, т.е. ему оставалось заплатить 159 рублей ровно.


Решение

К сожалению, на текущий момент решения данной ситуации в программе нет. Таким образом в момент продажи сумма, которую отобразит программа и сумма, которая будет напечатана на чеке — может иногда расходиться в одну или несколько копеек.
В будущих версиях, возможно, будет представлено решение данной проблемы.

Если у вас есть интересное решение данной проблемы, напишите нам на [email protected]

Была ли полезна статья?

Полезные статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *