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

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

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

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

Анализ механизма формирования ставки НДС для фискализации

Выясним, как типовой механизм УТ 10.3 определяет ставку налога при печати фискального чека. В модуле документа ЧекККМ формирование параметров фискализации происходит в процедуре ПодготовитьДанныеДляФискализацииЧека.

Типовой код вычисляет ставку через обращение к общему модулю:


СтрокаЧека.СтавкаНДС = МенеджерОборудованияКлиентСервер.ПолучитьСтавкуНДСДляФискализацииЧека(
    СтрокаТовара.Номенклатура.СтавкаНДС, 
    ПорядокНалогообложения
);

Посмотрим на реализацию функции ПолучитьСтавкуНДСДляФискализацииЧека:


Функция ПолучитьСтавкуНДСДляФискализацииЧека(СтавкаНДС, ПорядокНалогообложения = "") Экспорт
    
    Если СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.БезНДС") 
        ИЛИ СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.ПустаяСсылка")
        ИЛИ ВРег(ПорядокНалогообложения) = "ЕНВД" Тогда
        Результат = "";
    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10") Тогда
        Результат = 10;
    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18") Тогда
        Результат = 18;
    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10_110") Тогда
        Результат = 110;
    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18_118") Тогда
        Результат = 118;
    КонецЕсли;
        
    Возврат Результат;
    
КонецФункции

Критически важный момент: значение ставки налога для драйвера фискального регистратора передается числом или пустой строкой. Пустая строка "" соответствует признаку «Без НДС». Если передать числовое значение 0, драйвер расценит это как фискальную ставку «НДС 0%», что приведет к некорректным данным в отчетах оператора фискальных данных (ОФД) и налоговых органов.

Программная доработка заполнения ставки НДС

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

Рассмотрим по шагам реализацию проверки учетной политики в модуле документа ЧекККМ:

  1. Откроем модуль объекта документа ЧекККМ.
  2. Найдем процедуру ПодготовитьДанныеДляФискализацииЧека.
  3. Добавим проверку признака ОрганизацияНеЯвляетсяПлательщикомНДС через запрос к срезу последних регистра сведений.

Пример оптимизированного кода доработки:


З = Новый Запрос;
З.Текст = 
    "ВЫБРАТЬ
    |   УчетнаяПолитика.ОрганизацияНеЯвляетсяПлательщикомНДС КАК НеПлательщикНДС
    |ИЗ
    |   РегистрСведений.УчетнаяПолитикаНалоговыйУчет.СрезПоследних(&Период, Организация = &Организация) КАК УчетнаяПолитика";

З.УстановитьПараметр("Период", ЭтотОбъект.Дата);
З.УстановитьПараметр("Организация", ЭтотОбъект.Организация);          

Выборка = З.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
    Если Выборка.НеПлательщикНДС = Истина Тогда
        СтрокаЧека.СтавкаНДС = "";
    КонецЕсли;    
КонецЕсли;

Проверка настроек торгового оборудования и драйвера ККТ

Помимо логики в коде 1С, необходимо убедиться в корректности параметров торгового оборудования и драйвера кассового аппарата (АТОЛ, Штрих-М и др.):

  1. Система налогообложения по умолчанию в 1С: в справочнике подключаемого оборудования в свойствах фискального регистратора проверьте реквизит системы налогообложения по умолчанию. Для работы без НДС должна быть выбрана соответствующая СНО (например, «Упрощенная доход» или «Упрощенная доход минус расход»).
  2. Параметры ККТ в утилите «Тест драйвера ККТ»: откройте параметры кассы и проверьте таблицу соответствия секций и налоговых ставок. Убедитесь, что за используемым отделом/секцией не закреплен жестко налог ОСН.
  3. Регистрационные параметры ККТ (тег 1062): при фискализации кассы в фискальном накопителе должен быть установлен флаг применяемой системы налогообложения (УСН/ПСН). Если касса была зарегистрирована только под ОСН, фискализация без налога может блокироваться на уровне прошивки ККТ.
← На главную