Как настроить вывод расчетной ставки НДС 18/118% (20/120%) в чеке ККТ из 1С?

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

При настройке взаимодействия программы 1С с кассовой техникой (ККТ) пользователи и разработчики часто сталкиваются с ситуацией, когда в режиме РМК указывается расчетная ставка НДС (18/118% или 20/120%), но на кассовом чеке распечатывается прямая ставка (18% или 20%). Попытки скорректировать программный код и отключить пересчеты в 1С обычно не приводят к желаемому результату, так как касса всё равно выбирает стандартную ставку.

Рассмотрим подробнее причины такого поведения системы, проанализируем требования законодательства и разберем проверенные способы решения этой задачи.

Законодательные требования к применению расчетной ставки НДС

Выясним причину, почему касса подменяет расчетную ставку на прямую. Согласно Налоговому кодексу РФ (п. 4 ст. 164 НК РФ) и требованиям Закона № 54-ФЗ, расчетные ставки НДС (18/118, 20/120, 10/110) предназначены исключительно для строго определенных налоговых операций:

  1. Получение аванса или предоплаты — чек пробивается с признаком способа расчета «Предоплата 100%», «Предоплата» или «Аванс». В этом случае в чеке законодательно обязана указываться расчетная ставка НДС.
  2. Оплаченная отгрузка товаров или оказание услуг — при передаче товара с признаком способа расчета «Полный расчет» (даже если сумма чека включает НДС) в чеке всегда должна печататься и передаваться стандартная прямая ставка (18%, 20% или 10%).
  3. Зачет аванса — при конечной передаче товара пробивается чек на полный расчет (зачет аванса), где указывается номенклатура и обычная прямая ставка НДС, а не расчетная.

Таким образом, требование заказчика выводить ставку 18/118% (или 20/120%) при обычной розничной продаже товаров противоречит действующему законодательству. Для стандартной реализации товара выводить расчетную ставку в чек неуместно.

Технические причины замены ставки на стороне 1С и ККТ

Проанализируем техническую сторону передачи фискальных данных из конфигурации 1С (например, 1С:Розница) на кассовый аппарат:

  1. Передача данных в виде фискального XML-пакета: 1С передает в драйвер ККТ не произвольный текст для печати, а строго структурированный XML-пакет фискализатора, где указываются цифровой код ставки, признак способа расчета и итоговые суммы.
  2. Таблица налогов в драйвере ККТ: В устаревших драйверах (например, Атол серии 8.х) и старых версиях прошивки кассовых аппаратов расчетные ставки привязаны к внутренней таблице налогов. Если кассовый чек передается без признака авансового платежа, драйвер ККТ сопоставляет код налога с первой попавшейся прямой ставкой и печатает 18% или 20%.

Способы решения проблемы и настройки печати

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

Сценарий 1. Оформление приема аванса или предоплаты в 1С

Если задача состоит в том, чтобы чек на аванс формировался с правильной расчетной ставкой, необходимо выполнять операцию через предназначенные для этого механизмы конфигурации:

  1. В 1С оформляем операцию приема аванса или предоплаты с помощью соответствующих документов или режимов РМК (прием предоплаты).
  2. При правильном выборе признака способа расчета алгоритмы подсистемы подключаемого оборудования 1С автоматически формируют фискальный признак PaymentMethod со значением аванса и подставляют расчетную ставку НДС в передаваемый пакет данных.

Сценарий 2. Обновление драйверов и оборудования

Если при оформлении авансовых чеков касса всё равно печатает прямую ставку, причина кроется в устаревшем программном обеспечении кассового аппарата:

  1. Обновим драйвер ККТ Атол с устаревшей версии 8.х до актуальной серии 10.х (ДТО 10).
  2. Обновим внутреннюю прошивку ККТ до поддержки форматов фискальных документов ФФД 1.05 или ФФД 1.2. В современных прошивках передача расчетных ставок при авансовых расчетах происходит автоматически в полном соответствии с требованиями ФНС.

Сценарий 3. Корректировка кода формирования XML-пакета (для разработчиков)

Если производится доработка нестандартной конфигурации или собственного модуля печати чеков, не следует закомментировать пересчеты сумм в интерфейсе РМК. Вместо этого проанализируем формирование структуры XML-пакета фискализации:

При заполнении структуры позиции чека необходимо одновременно передавать правильный признак способа расчета и соответствующую ставку налога:


// Пример заполнения структуры позиции чека для передачи в драйвер ККТ
СвойстваПозиции = Новый Структура;
СвойстваПозиции.Вставить("Наименование", "Предоплата за товар");
СвойстваПозиции.Вставить("Количество", 1);
СвойстваПозиции.Вставить("Цена", СуммаАванса);
СвойстваПозиции.Вставить("Сумма", СуммаАванса);
СвойстваПозиции.Вставить("СтавкаНДС", "20/120"); // или "18/118" для старых периодов
СвойстваПозиции.Вставить("ПризнакСпособаРасчета", 1); // 1 - Предоплата 100%, 2 - Предоплата, 3 - Аванс

При передаче корректного признака способа расчета драйвер ККТ распознает операцию как авансовый платеж и напечатает в чеке расчетную ставку НДС без ее замены на прямую.

← На главную