При внедрении программ лояльности и списании бонусных баллов часто возникает задача: как правильно отобразить списание бонусов в кассовом чеке онлайн-ККТ (например, на фискальных регистраторах Атол 55Ф), чтобы покупатель видел списание баллов, а у налоговых органов не возникало претензий по выручке и расхождениям с банковскими выписками. Проанализируем технические и учетные способы реализации этой задачи.
В форматах фискальных документов (ФФД 1.05, 1.1, 1.2) не существует отдельного фискального реквизита под названием «Оплата бонусами». Все типы оплат строго стандартизированы. В чек могут быть переданы только следующие виды расчетов:
Разберем частую ошибку: программисты пытаются использовать свободные безналичные секции драйвера (например, CashLessType1, CashLessType2, CashLessType3), переименовывая их в драйвере ККМ в «Оплата бонусами». При таком подходе текст на бумажной ленте действительно меняется, однако в фискальный накопитель и в ОФД передается тег 1081 («Безналичными»). Налоговая инспекция автоматически сравнивает суммы по тегу 1081 с фактическими поступлениями по эквайрингу на расчетный счет организации. В результате возникает завышение налогооблагаемой базы и автоматические требования налоговой объяснить расхождения между данными ОФД и банковской выпиской.
Наиболее распространенный и безопасный с точки зрения налогового учета вариант — уменьшение цены позиции на сумму списываемых баллов. Бонусные баллы в данном случае выступают скидкой, предоставляемой клиенту в момент покупки.
Рассмотрим правила передачи данных в ККТ при таком сценарии:
0.00 руб. (если прошивка ККТ поддерживает нулевые позиции) либо товар пробивается с символической стоимостью (например, 1 рубль), а остальная часть списывается скидкой.Чтобы покупатель видел исходную стоимость товара, размер предоставленной скидки (бонусов) и остаток баллов на счете, используем вывод нефискальных текстовых строк. Текстовый блок формируется перед фискальными строками, между ними или в подвале чека (клише) до момента закрытия чека.
Если маркетинговая программа организации утверждена положением о лояльности или договором публичной оферты, где списание бонусов трактуется как погашение встречных обязательств компании перед клиентом, используется реквизит «встречное предоставление» (тег 1217).
В этом случае порядок формирования данных следующий:
Посмотрим на пример формирования XML-пакета чека для драйвера ККТ. При передаче данных через XML-структуру определяются параметры чека, состав товарных позиций и распределение сумм по видам оплат:
XMLДанныеЧека = XMLАнализатор.СоздатьДокумент();
XMLДанныеЧека.Кодировка = "UTF-8";
XMLCheckPackage = XMLДанныеЧека.СоздатьПодчиненныйЭлемент("CheckPackage");
XMLParameters = XMLCheckPackage.СоздатьПодчиненныйЭлемент("Parameters");
Атрибут(XMLParameters, "PaymentType", ТипРасчета);
Атрибут(XMLParameters, "TaxVariant", СистемаНалогообложения);
XMLPositions = XMLCheckPackage.СоздатьПодчиненныйЭлемент("Positions");
СписокТоваров.ВыбратьСтроки();
Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
XMLFiscalString = XMLPositions.СоздатьПодчиненныйЭлемент("FiscalString");
Атрибут(XMLFiscalString, "Name", СписокТоваров.ТовНаим);
Атрибут(XMLFiscalString, "Quantity", СписокТоваров.Количество);
// Передаем итоговую цену и сумму с учетом скидки (бонусов)
Атрибут(XMLFiscalString, "Price", СписокТоваров.Цена);
Атрибут(XMLFiscalString, "Amount", СписокТоваров.Сумма);
Атрибут(XMLFiscalString, "Tax", 0);
КонецЦикла;
XMLPayments = XMLCheckPackage.СоздатьПодчиненныйЭлемент("Payments");
// Передача фактической оплаты деньгами
Атрибут(XMLPayments, "Cash", СуммаНаличные);
Атрибут(XMLPayments, "CashLessType1", СуммаБезналичные);
// При использовании встречного предоставления сумма передается в соответствующий тип:
// Атрибут(XMLPayments, "CashLessType4", СуммаБонусовВстречное);
XMLДанныеЧека.Записать(КаталогПользователя() + "FRAtol_001.xml");
Разберем ситуацию, когда бонусные баллы начисляются одной организацией, а списываются в другой компании партнерской сети. В кассовом чеке для покупателя списание таких бонусов оформляется стандартной скидкой. Взаиморасчеты между юридическими лицами регулируются отдельным соглашением (агентским договором или договором взаимозачета):