Почему Атол 30Ф печатает НДС 18% вместо «Без НДС» и как это исправить?

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

При работе с контрольно-кассовой техникой (ККТ) Атол, особенно в связке со старыми конфигурациями 1С (такими как УПП 1.3 или УТ 10.3), системные администраторы и программисты часто сталкиваются с проблемой: в чеке упорно печатается «НДС 18%» (или 20%), хотя организация находится на ЕНВД или УСН, а в программе четко указано «Без НДС». Разберем подробно, почему это происходит и как привести печатную форму чека в соответствие с законодательством.

Причина проблемы: Смещение индексов в таблице налогов

Проанализируем механику взаимодействия 1С и драйвера ККТ. Когда мы отправляем команду на печать чека, 1С передает не текстовое значение налога, а его числовой идентификатор — индекс. В старых прошивках Атол (платформа 2.5) ставка «Без НДС» традиционно находилась под индексом 4. Однако с выходом обновлений (например, прошивка 5189 и выше), поддерживающих формат фискальных данных (ФФД) 1.05, структура внутренней таблицы налогов в кассе изменилась.

Теперь в большинстве случаев индекс 1 закреплен за основной ставкой (18% или 20%), а «Без НДС» переместился на позицию 6. Если 1С по старой привычке отправляет индекс 4 или, что еще хуже, не передает индекс вовсе (полагаясь на настройки по умолчанию), касса берет значение из первой строки своей внутренней таблицы. Рассмотрим, как исправить эту ситуацию несколькими способами.

Способ 1. Настройка налоговой ставки в секциях ККТ

Выясним причину, по которой касса может игнорировать данные из 1С. Часто при пробитии чека товар привязывается к определенной «секции» (отделу) в ККТ. У каждой секции в настройках кассы прописан налог по умолчанию. Если 1С передает товар в «Секцию 1», а в настройках этой секции жестко задан налог №1 (18%), то именно он и будет напечатан.

Разберем по шагам, как изменить эти настройки через «Тест драйвера ККМ»:

  1. Запустим утилиту «Тест драйвера ККМ» (версии 8.x или 10.x).
  2. Перейдем в раздел «Настройка свойств» и убедимся, что связь с кассой установлена.
  3. Зайдем в подраздел «Таблицы».
  4. Найдем Таблицу №1 «Секции».
  5. В поле «Налог» для первой секции (Ряд 1) проверим текущее значение. Если там стоит «1», заменим его на «6» (соответствует «Без НДС» в новых прошивках).
  6. Сохраним изменения, нажав кнопку «Применить» или просто закрыв окно редактирования (в зависимости от версии драйвера).

После этой манипуляции касса по умолчанию будет применять ставку «Без НДС» для всех операций по этой секции, если иное не передано из учетной системы.

Способ 2. Проверка таблицы налогов (Таблица №7)

Иногда индексы в кассе могут быть перепутаны или изменены в процессе технического обслуживания. Чтобы точно знать, какой номер передавать из 1С, проанализируем содержимое таблицы налогов самой кассы.

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

Важно понимать разницу между «0%» и «Без НДС». С точки зрения налогового законодательства и ФФД — это разные сущности. Для ЕНВД и УСН должно печататься именно «Без НДС». Если на кассе со старой прошивкой печатается «0%», это может быть расценено как методическая ошибка, так как ставка 0% требует сдачи соответствующей налоговой отчетности.

Способ 3. Модификация кода в 1С (для программистов)

Если касса настроена верно, но 1С все равно принудительно шлет неверный индекс, придется вмешаться в программный код. В старых конфигурациях 1С (УПП, УТ 10.3) за формирование XML-пакета для драйвера отвечает обработка обслуживания или встроенный макет. Рассмотрим пример, где мы можем переопределить передаваемый налог.

Найдем в коде место, где формируется структура чека, и проанализируем переменную TaxTypeNumber. Если используется обмен через XML, нужно найти блок, отвечающий за сопоставление ставок 1С и индексов драйвера. Посмотрим на упрощенный пример логики исправления:


// В процедуре подготовки данных для ККТ
Если СтавкаНДС_1С = Перечисления.СтавкиНДС.БезНДС Тогда
    // Вместо старого индекса 4 принудительно передаем 6 для новых прошивок Атол
    ПараметрыПредметаРасчета.Вставить("TaxTypeNumber", 6);
ИначеЕсли СтавкаНДС_1С = Перечисления.СтавкиНДС.НДС18 Тогда
    ПараметрыПредметаРасчета.Вставить("TaxTypeNumber", 1);
КонецЕсли;

Обратите внимание, что при использовании DTO 8.12 маппинг может быть зашит внутри самой компоненты ATOL_KKT_1C.dll. В этом случае единственным надежным способом будет либо обновление драйвера до версии 8.16.1+ (где маппинг исправлен), либо переход на современный 10-й драйвер.

Способ 4. Переход на драйвер 10-й версии

Ситуация с драйверами версии 8.x (DTO 8) осложняется тем, что они официально признаны устаревшими и не в полной мере поддерживают требования ФФД 1.05/1.1. Рассмотрим переход на DTO 10 как стратегическое решение проблемы.

Драйверы 10-й серии работают иначе: они используют текстовые константы (например, none, vat20, vat0), которые сам драйвер корректно преобразует в нужные индексы для конкретной модели и прошивки кассы. Это избавляет от необходимости следить за тем, в какой строке таблицы налогов находится «Без НДС».

Важные нюансы при переходе:

Резюме

Подведем итоги. Если ваш Атол 30Ф печатает 18% вместо Без НДС, выполните следующие действия:

  1. Проверьте настройки секций в ККТ через тест драйвера и установите налог по умолчанию «6».
  2. Убедитесь в правильности таблицы налогов. Индекс 6 должен соответствовать «Без НДС».
  3. Проверьте версию драйвера. Если есть возможность, обновитесь до 8.16 или перейдите на 10.x.
  4. Если используете старую 1С, проверьте, какой именно TaxTypeNumber уходит в XML-файле. При необходимости внесите правки в обработку обслуживания.

Соблюдение этих правил позволит корректно отображать налоги в чеках и избежать претензий со стороны налоговых органов.

← На главную