При переходе на форматы фискальных документов ФФД 1.1 и ФФД 1.2 разработчики и бухгалтеры часто сталкиваются с трудностями при оформлении чеков на авансы и предоплаты. Возникает путаница между двумя похожими, но принципиально разными реквизитами: Признаком способа расчета (тег 1214) и Признаком предмета расчета (тег 1212). Неверное заполнение этих тегов может привести к отказу ККТ в пробитии чека или, что гораздо хуже, к штрафам со стороны ФНС за несоблюдение требований законодательства о применении контрольно-кассовой техники (54-ФЗ).
В этой статье мы подробно разберем, как правильно заполнять реквизиты чека при получении аванса от клиента, проанализируем разницу между авансом и предоплатой, а также посмотрим на практический пример реализации этой логики в кодовой базе 1С.
Прежде чем перейти к конкретным значениям, давайте четко разграничим эти два понятия, так как именно здесь программисты чаще всего совершают ошибки при формировании JSON-запросов к драйверу ККТ:
При оформлении авансового платежа у нас возникает ситуация, когда клиент вносит деньги, но конечный перечень товаров или услуг еще не определен (например, покупка подарочного сертификата или внесение депозита на личный счет). Рассмотрим, как правильно заполнить оба тега.
Для оформления авансового платежа (когда номенклатурный состав и точное количество товаров или услуг неизвестны в момент получения денег) мы должны передать ККТ следующие значения:
3, что соответствует текстовому представлению «АВАНС».10, что в печатной форме чека отображается как «ПЛАТЕЖ» (или сокращенно «П»).Важное примечание: Использовать признак предмета расчета «ТОВАР» или «УСЛУГА» при получении аванса запрещено ФНС, так как сам факт отгрузки товара или оказания услуги на данном этапе отсутствует. Предметом расчета здесь выступает сам факт приема денежных средств — то есть «ПЛАТЕЖ».
Для правильного ведения учета и безошибочного формирования чеков важно понимать разницу между терминами «аванс» и «предоплата»:
2 («ПРЕДОПЛАТА»), а признак предмета расчета (тег 1212) будет равен 1 («ТОВАР»).3 («АВАНС»), а признак предмета расчета (тег 1212) — 10 («ПЛАТЕЖ»).Согласно требованиям законодательства, при работе с авансовыми платежами необходимо сформировать два кассовых чека.
Первый чек — в момент получения денежных средств:
Второй чек — в момент передачи товара или оказания услуги (зачет аванса):
Проанализируем, как программно передать правильные теги при интеграции ККТ с использованием Библиотеки подключаемого оборудования (БПО). При подготовке XML-пакета или структуры для фискализации чека мы должны явным образом заполнить свойства позиций чека.
Рассмотрим пример формирования структуры товарной строки для чека на получение аванса:
// Создаем структуру для описания строки чека
СтрокаЧека = Новый Структура;
СтрокаЧека.Вставить("Наименование", "Авансовый платеж по договору №123");
СтрокаЧека.Вставить("Количество", 1);
СтрокаЧека.Вставить("Цена", СуммаАванса);
СтрокаЧека.Вставить("Сумма", СуммаАванса);
СтрокаЧека.Вставить("СтавкаНДС", "20"); // Укажите ставку НДС в соответствии с вашей СНО
// Задаем Признак способа расчета (тег 1214)
// Значение "3" соответствует "АВАНС" в ФФД
СтрокаЧека.Вставить("ПризнакСпособаРасчета", 3);
// Задаем Признак предмета расчета (тег 1212)
// Значение "10" соответствует "ПЛАТЕЖ" (или "АВАНС, ПРЕДОПЛАТА") в ФФД
СтрокаЧека.Вставить("ПризнакПредметаРасчета", 10);
А теперь посмотрим, как будет выглядеть формирование строки во втором чеке — при окончательной отгрузке товара в зачет ранее полученного аванса:
// Создаем структуру для строки чека при зачете аванса
СтрокаЗачета = Новый Структура;
СтрокаЗачета.Вставить("Наименование", "Оказание услуг по обучению (Курс 1)");
СтрокаЗачета.Вставить("Количество", 1);
СтрокаЗачета.Вставить("Цена", ПолнаяСтоимостьУслуги);
СтрокаЗачета.Вставить("Сумма", ПолнаяСтоимостьУслуги);
СтрокаЗачета.Вставить("СтавкаНДС", "20");
// Для зачета аванса признак способа расчета меняется на "ПОЛНЫЙ РАСЧЕТ"
СтрокаЗачета.Вставить("ПризнакСпособаРасчета", 4);
// Признак предмета расчета меняется на фактический, в данном случае "УСЛУГА"
СтрокаЗачета.Вставить("ПризнакПредметаРасчета", 4); // Код 4 - Услуга (или 1 - Товар)
При отправке этого чека на ККТ оплату необходимо будет передать не наличными или безналичными, а типом оплаты «Зачет аванса» (или «Встречное предоставление»), чтобы у предприятия не задваивалась наличная/безналичная выручка по кассе.
Для успешного прохождения проверок ФНС и исключения ошибок кассовой дисциплины запомним простое правило: при оформлении аванса в чеке всегда должен стоять признак предмета расчета «ПЛАТЕЖ» (код 10), а признак способа расчета должен быть равен «АВАНС» (код 3). При финальной передаче товаров или оказании услуг эти признаки обязательно должны измениться на фактический предмет («ТОВАР», «УСЛУГА» и т.д.) и способ расчета («ПОЛНЫЙ РАСЧЕТ»).