Как настроить печать НДС в чеках ККМ в 1С:Управление торговлей 10.3 при использовании УСН?

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

При работе в конфигурации «1С:Управление торговлей 10.3» пользователи часто сталкиваются с ситуацией, когда при оформлении розничных продаж через документ ЧекККМ в фискальном чеке не выделяется НДС, хотя в настройках программы и карточках номенклатуры все параметры заданы верно. Особенно остро эта проблема проявляется у организаций, применяющих УСН, но обязанных выделять НДС (например, при реализации комиссионного товара или по иным внутренним требованиям бизнеса).

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

Шаг 1. Проверка базовых настроек системы

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

  1. Учетная политика: Проверим, что в настройках учета организации указаны корректные параметры. Если организация на УСН, флаг «Организация является плательщиком НДС» обычно снят, но это не должно полностью блокировать передачу ставки из карточки товара, если механизмы печати настроены верно.
  2. Настройки пользователя: Перейдем в «Сервис» — «Настройки пользователя». Убедимся, что установлена галочка «Печатать НДС в кассовых чеках». Без этого флага система будет игнорировать налоги при формировании пакета данных для ККТ.
  3. Карточка номенклатуры: Проверим, что для каждого товара в справочнике Номенклатура установлена верная ставка (например, 20%).
  4. Типы цен: В документе ЧекККМ перейдем в меню «Цены и валюта». Проверим, установлен ли флаг «Учитывать НДС» и «НДС включать в стоимость». Часто в рознице эти поля неактивны, так как программа жестко привязывает их к настройкам торговой точки.

Если все настройки верны, но в чеке по-прежнему значится «Без НДС», значит, проблема кроется в алгоритмах формирования XML-пакета, который 1С отправляет на драйвер кассового аппарата.

Шаг 2. Анализ и правка модуля менеджера документа «Чек ККМ»

Выясним причину программного ограничения. В конфигурации УТ 10.3 заложена логика, согласно которой при определении системы налогообложения (СНО) как «УСН», программа принудительно обнуляет ставки НДС в чеке. Это сделано для минимизации ошибок, так как плательщики УСН по закону обычно не платят НДС. Однако в современных версиях ФФД и при определенных видах деятельности (комиссия) это ограничение мешает работе.

Нам необходимо найти функцию ПредметыРасчетовПоДокументу. Рассмотрим подробнее, где она находится и как ее изменить. Обычно она располагается в Модуле менеджера документа ЧекККМ.

Найдем в коде следующий фрагмент:


// Оригинальный код в типовой конфигурации
Запрос.УстановитьПараметр("ПорядокНалогообложения", (ПорядокНалогообложения = "ПСН") 
    ИЛИ (ПорядокНалогообложения = "ЕНВД") 
    ИЛИ (ПорядокНалогообложения = "УПРОЩЕННАЯ"));

В данном условии система проверяет: если текущий порядок налогообложения относится к упрощенке (УСН), патенту (ПСН) или ЕНВД, то параметр принимает значение Истина, что в дальнейшем приводит к подмене ставки НДС на «Без НДС» (или индекс 0). Чтобы разрешить печать НДС на УСН, нам нужно исключить "УПРОЩЕННАЯ" из этого списка.

Изменим код следующим образом:


// Исправленный код для печати НДС на УСН
Запрос.УстановитьПараметр("ПорядокНалогообложения", (ПорядокНалогообложения = "ПСН") 
    ИЛИ (ПорядокНалогообложения = "ЕНВД") ); 
// Упрощенная система теперь не считается безусловным триггером для скрытия НДС

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

Шаг 3. Обработка исключений в общем модуле торгового оборудования

Иногда правки в модуле менеджера недостаточно, так как данные проходят через дополнительные фильтры в общих модулях. Разберем ситуацию, когда логика «очистки» налогов дублируется в других местах. Проанализируем модуль ОбщийМодуль.ТорговоеОборудованиеУТВызовСервера (в некоторых релизах это может быть МенеджерОборудованияВызовСервера).

Найдем функцию, отвечающую за подготовку данных для фискализации. Там может присутствовать аналогичная проверка СНО. Если вы видите, что при значении СистемаНалогообложения = Перечисления.ТипыСистемНалогообложения.УСН ставка НДС жестко перезаписывается, это условие также необходимо закомментировать или изменить.

Шаг 4. Скрытые реквизиты в табличной части товара

Рассмотрим еще один технический нюанс. В документе ЧекККМ на форме часто отсутствуют колонки СтавкаНДС и СуммаНДС. Программа рассчитывает их «на лету» или берет из структуры табличной части. Если в момент добавления товара в чек эти скрытые поля не заполнились, касса выдаст «Без НДС».

Чтобы убедиться, что данные попадают в документ, мы можем проанализировать состав табличной части через кнопку «Изменить» (обработка «Редактирование табличной части»). Выберем действие «Установить реквизит», найдем «Ставка НДС» и попробуем массово проставить 20% для всех строк. Если после этого чек распечатается корректно, значит, необходимо доработать процедуру ПриИзмененииНоменклатуры в модуле формы документа, чтобы ставка НДС подтягивалась из справочника безусловно, невзирая на выбранную систему налогообложения.

Шаг 5. Соответствие ставок в 1С и драйвере ККТ

Проанализируем ситуацию со стороны оборудования. Каждая онлайн-касса (Атол, Штрих-М, Эвотор) имеет внутреннюю таблицу налогов. В 1С ставка «20%» — это объект перечисления, а для кассы — это индекс (например, 1 или 4).

Выясним причину возможного расхождения:

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

Итоги и рекомендации

Мы разобрали основную причину отсутствия НДС в чеках УТ 10.3 при использовании УСН — это жесткое программное ограничение в модуле менеджера документа. Исправив функцию ПредметыРасчетовПоДокументу, вы снимете блокировку на передачу налоговых ставок.

Важное примечание: перед внесением изменений в код обязательно убедитесь, что ваша касса зарегистрирована с поддержкой нужной системы налогообложения. Если в фискальном накопителе при регистрации указана только «УСН Доход», попытка пробить чек с НДС может привести к ошибке «Неверная налоговая ставка» со стороны самой кассы. В этом случае потребуется перерегистрация ККТ с изменением параметров СНО.

← На главную