При работе с 1С:Бухгалтерией 3.0 и онлайн-кассами многие пользователи сталкиваются с ситуацией, когда кассовый чек, сформированный в программе с НДС 20%, фактически печатается с признаком "Без НДС". Эта проблема может возникать по нескольким причинам, от ошибок в релизе платформы до специфических настроек драйверов фискального регистратора и особенностей законодательства. Давайте подробно рассмотрим возможные причины и способы их устранения.
Одной из наиболее частых причин некорректного вывода НДС в чеках являются ошибки в программном обеспечении 1С. Мы столкнулись с подобной ситуацией в релизе 3.0.67.54 1С:Бухгалтерии 3.0.
Известная ошибка 10205479: Разработчики 1С зарегистрировали ошибку под кодом 10205479, которая была принята к исправлению. Описание этой ошибки гласит:
При печати чека из документа "Поступление наличных" ошибочно устанавливается признак "Оплата кредита", если: - в документе указан "счет на оплату покупателю"; - на основании счета введен документ "Реализация (акты, накладные)"; - документ реализации не проведен. А с 01.01.19 ставка НДС для чеков погашения кредитов всегда принимает значение "Без НДС".
Это означает, что даже если мы ожидаем НДС 20%, но по указанным условиям система ошибочно определяет операцию как "Оплата кредита", НДС будет обнулен. Для принудительной установки нужного статуса в чеках 1С:Бухгалтерии 3.0 можно использовать расширение для печати чека со способом расчета «Полный расчет».
Обновление до актуального релиза: Проблема, как правило, устраняется в более новых версиях программы. В нашем случае, обновление до релиза 3.0.67.63 (или более позднего) помогло решить ситуацию. Мы настоятельно рекомендуем всегда использовать самые актуальные версии конфигураций и платформы 1С для предотвращения подобных ошибок.
В 1С:Бухгалтерии 3.0 существует константа, которая может существенно влиять на формирование данных для передачи в ОФД и, как следствие, на вывод НДС в чеке. Рассмотрим ее влияние:
Действие константы: При установленной константе ПодготовитьДанныеКПередачеВОФД (если ее значение Истина), в случае, когда признак способа расчета определяется как ОплатаКредита, система принудительно устанавливает СтавкаНДС = Перечисления.СтавкиНДС.БезНДС и СуммаНДС = 0. Это подтверждается фрагментом кода из общего модуля:
Если ПодготовитьДанныеКПередачеВОФД Тогда
Если ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.ОплатаКредита Тогда
СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
СуммаНДС = 0;
ИначеЕсли ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.ПредоплатаПолная ИЛИ ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.ПредоплатаЧастичная Тогда
СтавкаНДС = УчетНДСВызовСервераПовтИсп.РасчетнаяСтавкаНДС(ОплачиваемыйДокумент.СтавкаНДС);
СуммаНДС = СтрокаСчета.СуммаНДС;
КонецЕсли;
КонецЕсли;
Эта константа также может влиять на другие параметры чека, например, приводить к тому, что количество проставляется везде как "1" и не выводится контрагент в чеке реализации.
Где найти константу: Мы можем найти эту константу через меню "Все функции" (обычно доступно через Главное меню -> Сервис -> Функции для технического специалиста).
Важно понимать, что в определенных случаях отсутствие НДС при погашении кредита может быть обосновано законодательством. Рассмотрим этот аспект подробнее:
Разъяснения ФНС: Согласно разъяснениям ФНС (например, письма от 04.02.2019 № ЕД-4-20/1812@, от 20.02.2019 № ЕД-4-20/2929@), при получении оплаты за ранее реализованный товар (работу, услугу), переданный покупателю в кредит (т.е. постоплата), продавец не должен указывать в чеке ставку и сумму НДС. Это связано с тем, что налоговая база по НДС возникает при получении предоплаты или при отгрузке/продаже товара, а не при погашении ранее предоставленного займа.
Реквизиты чека при "Оплате кредита":
Таким образом, если в 1С сначала оформляется документ "Реализация товара" (отгрузка), а затем "Приходный кассовый ордер" (оплата), это может быть расценено как передача товара в кредит и последующая оплата кредита, а не единовременная передача и оплата.
Количество товара: Независимо от применяемых ставок НДС, при оплате кредита в чеке указывается единица измерения "Платёж" и количество "1". Это соответствует методическим указаниям, которые 1С может применять при формировании фискальных данных.
Мы выяснили, что логика обнуления НДС для "Оплаты кредита" заложена в типовых конфигурациях 1С. Рассмотрим, где именно это происходит:
Общий модуль "Печать фискальных документов": В этом модуле существует проверка по признаку расчета. Если ПризнакСпособаРасчета равен ОплатаКредита, то СтавкаНДС приравнивается к Перечисления.СтавкиНДС.БезНДС, а СуммаНДС к 0.
Общий модуль "ДенежныеСредстваСервер" (например, для УТ 10.3): В процедуре ЗаполнитьПозицииИТаблицуОплатЧека (или аналогичной в других конфигурациях) есть строка с вызовом МенеджерОборудованияВызовСервера.ПривестиДанныеКТребуемомуФормату(...). Внутри этой процедуры выполняется код, который при условии ПозицияЧека.ПризнакСпособаРасчета = ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ОплатаКредита") может обнулять ставку НДС:
ИначеЕсли ПозицияЧека.ПризнакСпособаРасчета = ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ОплатаКредита") Тогда
.....
Если ПозицияЧека.Свойство("СтавкаНДС") Тогда
ПозицияЧека.СтавкаНДС = Неопределено; // или Перечисления.СтавкиНДС.БезНДС в зависимости от реализации
ПересчитатьНДС = Истина;
КонецЕсли;
Это может объяснять логику, согласно которой чек с НДС должен был быть пробит при реализации, а при последующей оплате ранее выданного кредита НДС уже не печатается.
Корректная работа фискального регистратора (ФР) и его драйвера критически важна для правильного вывода НДС. Если проблема не в 1С, то причина может скрываться здесь.
Версия драйвера: Убедитесь, что используете актуальную версию драйвера для вашего фискального регистратора. В нашем случае, для кассы "Элвис ФР-Р от Штрих-М" с прошивкой 1.05, рекомендовалось попробовать драйвер версии 4.14.747 (или более новой, если доступно).
Лицензии на ККМ: В некоторых случаях проблема кроется в отсутствии или некорректной установке лицензии на ККМ. Мы рекомендуем проверить наличие и статус лицензий через утилиту "Тест драйвера" (меню "Сервис" -> "Лицензия"). Отсутствие лицензии может приводить к сбоям в работе и, как следствие, к некорректному выводу НДС.
Настройки ставок НДС в драйвере: Мы должны убедиться, что ставки НДС в драйвере фискального регистратора настроены правильно и соответствуют ставкам в 1С. Например, "Налог 1" должен соответствовать НДС 20%, "Налог 2" – НДС 0% (без НДС) и т.д. Проверьте соответствующие таблицы и параметры в настройках драйвера.
Настройка НДС в номенклатуре: Хотя это кажется очевидным, но мы должны убедиться, что для каждой номенклатурной позиции, по которой пробивается чек, в 1С корректно установлена ставка НДС (например, 20%). Также обратите внимание на процедуру ПодготовитьДанныеДляФискализацииЧека, которая может влиять на формирование данных.
Проблема, когда кассовый чек печатается с "Без НДС" вместо ожидаемых 20%, является комплексной и может быть вызвана рядом факторов. Мы рассмотрели следующие ключевые моменты:
Последовательная проверка этих пунктов позволит нам локализовать и устранить проблему, обеспечив корректное формирование кассовых чеков с НДС. Для предварительной проверки и отладки формирования чеков без расхода кассовой ленты подойдёт эмулятор ККТ с передачей данных.