С 1 января 2025 года налоговое законодательство РФ вносит существенные изменения для плательщиков, применяющих упрощенную систему налогообложения (УСН). Те организации, чей доход превышает 60 миллионов рублей, становятся плательщиками НДС по ставкам 5% или 7%. В процессе настройки программного обеспечения 1С многие пользователи столкнулись с проблемой: несмотря на корректно выставленные настройки в карточке номенклатуры и учетной политике, контрольно-кассовая техника (ККТ) продолжает печатать чеки со ставкой «Без НДС». Проанализируем причины этой ситуации и разберем пошаговый алгоритм решения проблемы на примере конфигурации 1С:Управление торговлей 11.5.
Прежде чем переходить к технической отладке кода, нам необходимо убедиться, что все нормативно-справочные данные заполнены корректно. Рассмотрим основные пункты, которые влияют на формирование налоговой ставки в чеке:
НДС 5%. Обратите внимание на регистр сведений СтавкиНДСНоменклатуры. Часто при обновлении баз данные в этом регистре могут иметь разные периоды действия (например, старая ставка «Без НДС» и новая с 01.01.2025).Если после проверки этих настроек проблема сохраняется, и в предпросмотре чека в 1С вы видите ставку 5%, а на бумажной ленте и в ОФД уходит «Без НДС», значит, причина кроется в механизме взаимодействия 1С с компонентой драйвера.
Проанализируем внутреннюю логику Библиотеки подключаемого оборудования (БПО), которую использует 1С:УТ 11. При формировании XML-пакета для передачи данных в драйвер ККТ система проверяет параметр РевизияИнтерфейса. Этот параметр сообщает программе, какой набор команд и структур данных поддерживает установленный драйвер.
Выясним причину сбоя: если 1С определяет, что РевизияИнтерфейса имеет значение менее 4001, она считает драйвер «устаревшим». В старых ревизиях интерфейса описание ставок 5% и 7% просто отсутствует. В результате, когда система встречает новую ставку, которую она не может корректно транслировать по старому протоколу, происходит автоматический сброс значения в дефолтное — «Без НДС».
Это может происходить даже в том случае, если физически на компьютере установлены свежие драйверы АТОЛ 10.10.х. Проблема часто заключается в кэшировании данных о компоненте внутри самой информационной базы 1С.
Чтобы окончательно убедиться, что именно 1С передает неверные данные драйверу, нам необходимо изучить файл лога. Рассмотрим файл fptr1C.log, который обычно располагается в папке профиля пользователя или в директории установки драйвера. В этом файле фиксируется структура XML, которую конфигурация 1С передает компоненте ККТ.
Если в логе в блоке товарной позиции вы видите тег ставки НДС с неопределенным индексом или явное указание на отсутствие налога, значит, 1С не смогла корректно сопоставить ставку из документа с внутренним справочником драйвера из-за ограничений ревизии интерфейса.
Попробуем решить проблему без написания кода, обновив сведения о драйвере в системе:
РевизияИнтерфейса.После этого рекомендуется выполнить тест устройства. Если в строке состояния теста версия интерфейса отобразится корректно (4001 и выше), ставки НДС начнут передаваться правильно.
Если обновление драйвера не помогает из-за особенностей релиза БПО или конфигурации, рассмотрим программный способ исправления. Нам необходимо создать расширение, которое будет принудительно устанавливать правильный индекс ставки НДС в структуру чека перед его пробитием.
Проанализируем логику: в модулях интеграции с ККТ существует процедура, отвечающая за формирование параметров чека (например, в БПО это может быть формирование XML для драйвера). Нам нужно перехватить момент заполнения коллекции ПозицииЧека.
Пример логики, которую можно реализовать в расширении (псевдокод):
&Вместо("СформироватьДанныеДляЧека")
Процедура Расш1_СформироватьДанныеДляЧека(Параметры)
// Вызываем основную логику
ПродолжитьВызов(Параметры);
// Переопределяем ставку, если система ошибочно поставила "Без НДС"
Для Каждого СтрокаПозиции Из Параметры.ПозицииЧека Цикл
Если СтрокаПозиции.СтавкаНДС = Перечисления.СтавкиНДС.НДС5 Тогда
// Принудительно задаем параметры для драйвера, игнорируя проверку ревизии
СтрокаПозиции.ИдентификаторСтавки = "5";
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Этот подход позволяет обойти внутренние проверки 1С на версию драйвера и передать корректный идентификатор ставки напрямую в компоненту АТОЛ. Однако следует помнить, что это временная мера («костыль»), и при последующем обновлении конфигурации до релиза, где механизмы работы с НДС 5%/7% полностью отлажены, данное расширение следует отключить.
Подведем итог: проблема появления «Без НДС» при установленной ставке 5% в 1С:УТ 11 чаще всего связана не с ошибкой пользователя, а с техническим несоответствием версии интерфейса драйвера, зафиксированной в базе. Основными путями решения являются:
Соблюдение этих рекомендаций позволит обеспечить соответствие фискальных данных требованиям законодательства 2025 года и избежать штрафных санкций со стороны налоговых органов.