Почему на ККТ АТОЛ в чеке печатается ставка НДС 18% вместо «Без НДС» и как это исправить?

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

При настройке торгового оборудования в 1С часто возникает ситуация: организация работает на упрощенной системе налогообложения (УСН) без налога на добавленную стоимость, в номенклатуре и документах чека везде указано «Без НДС», однако при выводе фискального чека на аппарате АТОЛ упорно печатается ставка НДС 18% (или 20%).

Проанализируем архитектуру взаимодействия программы 1С с прошивками и драйверами АТОЛ, выясним причины такого поведения и разберем по шагам все возможные способы решения.

Причины ошибочного вывода ставки 18%

Рассмотрим, почему кассовый аппарат подставляет ставку 18% даже тогда, когда из 1С передается значение 0 или флаг печати налога отключен:

  1. Несовпадение числового значения процента и внутреннего индекса налога в прошивке. В современных прошивках кассовых аппаратов АТОЛ таблица налоговых ставок строго фиксирована. Метод печати фискальной строки принимает не процент налога, а его порядковый номер в таблице ККТ. Если передать значение 0 или 10, драйвер считает, что указан некорректный идентификатор, и автоматически сбрасывает налог на значение по умолчанию — первую позицию в таблице ККТ (код 1 — НДС 18%/20%).
  2. Использование устаревшего стандарта подключения («Фискальный регистратор»). При работе через старый интерфейс драйвера программа вызывает прямые методы вроде НапечататьФискСтроку, где система налогообложения (СНО) не передается в явном виде. В таком случае касса берет базовую СНО из настроек (как правило, ОСНО), где расчет НДС обязателен.
  3. Неверная привязка секций (отделов) к налогам в драйвере. Если налог рассчитывается по номеру секции, а в свойствах ККТ секция сопоставлена со ставкой 18%, то касса будет игнорировать нулевые суммы налога из 1С и рассчитывать налог по правилу секции.

Способ 1. Корректировка передачи кода налога в коде 1С

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


Ответ = ОбъектДрайвера.НапечататьФискСтроку(
    ПараметрыПодключения.ИДУстройства,
    Наименование,
    Количество,
    Цена,
    Сумма,
    НомерСекции,
    СтавкаНДС
);

Параметр СтавкаНДС должен содержать внутренний код ставки из прошивки ККТ:

  1. 1 — НДС 18% (или 20% в зависимости от прошивки);
  2. 2 — НДС 10%;
  3. 3 — НДС 0%;
  4. 4 (в некоторых версиях — 6) — «Без НДС» (не облагается);
  5. 0 — использовать ставку, привязанную к секции ККТ.

Разберем доработку кода перед вызовом функции печати строки. Заменим прямое числовое значение ставки на сопоставление с кодами АТОЛ:


Если СтрокаЧека.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
    КодСтавкиККТ = 4; // Внутренний код "Без НДС" в таблице ККТ
ИначеЕсли СтрокаЧека.СтавкаНДС = Перечисления.СтавкиНДС.НДС0 Тогда
    КодСтавкиККТ = 3;
ИначеЕсли СтрокаЧека.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 Тогда
    КодСтавкиККТ = 2;
Иначе
    КодСтавкиККТ = 1;
КонецЕсли;

Ответ = ОбъектДрайвера.НапечататьФискСтроку(
    ПараметрыПодключения.ИДУстройства,
    СтрокаЧека.Номенклатура.Наименование,
    СтрокаЧека.Количество,
    СтрокаЧека.Цена,
    СтрокаЧека.Сумма,
    НомерСекции,
    КодСтавкиККТ
);

Способ 2. Настройка секций и налога по умолчанию в «Тесте драйвера ККТ»

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

  1. Откроем утилиту «Тест драйвера ККТ» и установим соединение с кассовым аппаратом.
  2. Перейдем в раздел «Параметры ККТ».
  3. В подразделе основных параметров найдем пункт «Ставка НДС по умолчанию» и выберем значение «Без НДС».
  4. Откроем таблицу «Секции» (или «Отделы»). Проверим, какой номер секции передается из 1С (как правило, это секция 1).
  5. Для используемой секции установим налог «Без НДС» (соответствует коду 4 или 6 в зависимости от версии драйвера DTO).
  6. Сохраним параметры в память ККТ и перезагрузим кассовый аппарат.

После этой настройки при передаче значения налога 0 драйвер автоматически подставит значение из секции — «Без НДС».

Способ 3. Переход на стандарт «ККТ с передачей данных»

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

  1. Установим актуальный драйвер АТОЛ DTO 10.x.
  2. В 1С перейдем в раздел «Подключаемое оборудование».
  3. Создадим новый экземпляр оборудования с типом «ККТ с передачей данных» (вместо устаревшего типа «Фискальный регистратор»).
  4. В настройках оборудования укажем систему налогообложения организации (например, УСН доход или УСН доход-расход).

В режиме «ККТ с передачей данных» программа 1С передает на кассу структурированный XML-пакет, в котором ставки налога передаются строковыми литералами ("none" — Без НДС, "0", "10", "20"), а СНО передается корректно, что полностью исключает расчет лишних налогов.

Способ 4. Печать через нефискальные строки (режим чекового принтера)

Если кассовый аппарат используется без фискального накопителя исключительно в качестве чекопечатающей машины (принтера документов), вызов метода НапечататьФискСтроку избыточен. Вместо этого используем нефискальные методы драйвера, которые выводят произвольный текст без валидации налоговых ставок:


// Открытие нефискального чека
ОбъектДрайвера.ОткрытьНефискДокумент(ПараметрыПодключения.ИДУстройства);

// Вывод произвольных строк текста
ОбъектДрайвера.НапечататьСтроку(ПараметрыПодключения.ИДУстройства, "Товар: " + СтрокаЧека.Номенклатура.Наименование);
ОбъектДрайвера.НапечататьСтроку(ПараметрыПодключения.ИДУстройства, "Кол-во: " + СтрокаЧека.Количество + " Сумма: " + СтрокаЧека.Сумма);
ОбъектДрайвера.НапечататьСтроку(ПараметрыПодключения.ИДУстройства, "НДС: Без НДС");

// Закрытие нефискального документа и отрезка
ОбъектДрайвера.ЗакрытьНефискДокумент(ПараметрыПодключения.ИДУстройства);

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

← На главную