Как рассчитывать скидку суммой и пробивать чеки с подарочными сертификатами на онлайн-кассе

Программист 1С v8.3 (Управляемые формы) 1С:Розница Налоговый учет Торговля и дистрибуция
← На главную

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

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

Почему в онлайн-чеках нельзя указать скидку на весь чек

В актуальных форматах фискальных документов (ФФД 1.05, 1.1, 1.2) полностью отсутствует фискальный тег для скидки на чек в целом. Фискализация чека построена на строгом попозиционном учете. В кассовое ядро передаются данные по каждой конкретной строке:

  1. Цена за единицу предмета расчета с учетом всех примененных скидок и наценок (тег 1079).
  2. Итоговая стоимость позиции с учетом скидок (тег 1043).
  3. Ставка и сумма НДС для каждой позиции.

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

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

Распределение скидки суммой по позициям и проблема копеек

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

При пропорциональном делении часто возникает погрешность округления — так называемая «проблема копеек». В типовых конфигурациях 1С («1С:Розница», «1С:Управление торговлей», «1С:ERP», «1С:УНФ») и в модулях библиотеки БиблиотекаПодключаемогоОборудования (БПО) реализован специальный алгоритм ее компенсации:

  1. Распределение суммы скидки: скидка рассчитывается пропорционально доле стоимости каждой строки в общей сумме документа.
  2. Корректировка остатка: возникшая из-за округления разница в копейках относится либо на позицию с максимальной стоимостью, либо на последнюю строку чека.
  3. Расщепление строк при неделимости: если в позиции указано количество более единицы (например, 3 штуки), а скорректированная цена не дает целочисленного произведения на количество, алгоритм 1С автоматически расщепляет позицию в фискальном чеке на две строки (например, 2 штуки по одной цене и 1 штука по цене, отличающейся на одну копейку). Это гарантирует выполнение правила «Цена × Количество = Стоимость».

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

Почему подарочный сертификат — это не скидка

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

Регламент работы с подарочными сертификатами в онлайн-кассах разделяется на два независимых этапа:

  1. Продажа сертификата покупателю: пробивается фискальный чек, в котором признак способа расчета принимает значение «Аванс» (значение 3 в теге 1214) или «Предоплата 100%» (значение 1), а признак предмета расчета — «Платеж» (тег 1212). На этом этапе организация принимает денежные средства в счет будущих поставок.
  2. Отоваривание (погашение) сертификата: покупатель выбирает товары на полную стоимость. Чек формируется на полную сумму покупок без применения искусственных скидок. Признак способа расчета устанавливается в значение «Полный расчет» (тег 1214), а сумма сертификата указывается в специальном виде оплаты — «Сумма по чеку предоплатой (зачетом аванса)» (тег 1215).

Пример расчета чека с подарочным сертификатом

Рассмотрим конкретный практический пример, описанный в вопросе: покупатель приобретает товар на сумму 5000 рублей и предъявляет подарочную карту номиналом 2000 рублей, доплачивая остаток наличными.

Разберем структуру фискального документа, который должен быть сформирован кассой:

  1. Товарные позиции чека: товар пробивается по его полной стоимости — 5000 рублей (или несколько товаров, суммарно дающих 5000 рублей). Никаких скидок в 2000 рублей по строкам не начисляется.
  2. Итог чека: общая сумма документа составляет 5000 рублей.
  3. Таблица видов оплат (расшифровка расчета):
    — Оплата наличными (тег 1031): 3000 рублей;
    — Зачет аванса / предоплаты (тег 1215): 2000 рублей.

В печатной форме чека после строки «ИТОГ: 5000.00» будут выведены две строки оплат: наличные 3000.00 и зачет предварительной оплаты (аванса) 2000.00. Сумма оплат строго равна сумме покупок, требования ФФД полностью соблюдены, а налоговая инспекция получает корректные сведения о зачете ранее внесенного аванса.

Реализация в типовых конфигурациях 1С

В типовых конфигурациях 1С для работы с сертификатами не требуется дописывать алгоритмы распределения. Достаточно включить соответствующую функциональность:

  1. В разделе администрирования включить опцию использования подарочных сертификатов.
  2. Создать вид оплаты с типом «Оплата подарочным сертификатом». В программе он регистрируется как авансовый платеж, а не маркетинговое мероприятие.
  3. В рабочем месте кассира (РМК) при закрытии чека кассир нажимает кнопку «Оплата сертификатом», считывает штрихкод карты и вводит сумму доплаты наличными или банковской картой.

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

← На главную