Почему в 1С:Управление торговлей 11.5 после обновления в чеках ККТ перестал печататься НДС?

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

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

Разбираем методологию: почему «Без НДС» — это теперь норма?

Первым делом нам необходимо понять, что данное поведение не является ошибкой программного кода 1С. Это реализация методических рекомендаций ФНС и положений Федерального закона № 54-ФЗ. Согласно позиции налоговых органов (письмо от 04.08.2020 № АБ-4-20/12420@), процесс продажи товара в кредит (с отсрочкой платежа) разделяется на два этапа с точки зрения фискализации:

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

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

Как программа понимает, что это «кредит», а не «аванс»?

Выясним причину, по которой 1С принимает решение не печатать НДС. Для этого система анализирует движения по регистрам накопления, в частности по регистру РасчетыСКлиентами. Рассмотрим этот механизм по шагам:

  1. При нажатии кнопки «Пробить чек» в кассовом документе, система проверяет состояние взаиморасчетов по конкретной сделке (заказу или накладной).
  2. Если по данным регистра числится дебиторская задолженность клиента (товар отгружен, но не оплачен), платеж признается погашением долга.
  3. Если задолженности нет (товар еще не отгружен), платеж признается авансом. В чеке на аванс НДС будет выделен по расчетной ставке (20/120 или 10/110).

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

Решение №1: Пробитие чека из документа реализации

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

Вместо того чтобы бить чек из ПКО, сформируйте его непосредственно из документа Реализация товаров и услуг. В этом случае:

Для того чтобы в чеке из реализации сразу отразилась и оплата (чтобы сумма к оплате была 0, а сумма наличными/безналичными была равна сумме документа), необходимо обеспечить наличие связанных платежных документов, проведенных в ту же дату.

Решение №2: Использование механизма «Единого чека»

В актуальных релизах УТ 11.5 (начиная с 11.5.12) разработчики добавили возможность пробития одного чека, объединяющего отгрузку и оплату. Проанализируем условия, при которых это возможно:

  1. В договоре с клиентом или в соглашении должен быть установлен порядок расчетов «По накладным» или «По заказам». При ведении расчетов «По договорам» (в целом по договору) системе крайне сложно сопоставить конкретную оплату с конкретной номенклатурой реализации в автоматическом режиме.
  2. Документы реализации и оплаты должны быть оформлены одной датой.

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

Решение №3: Работа с маркированным товаром

Посмотрим на ситуацию с маркировкой. Это критически важный момент. При продаже маркированного товара (через систему «Честный ЗНАК») код маркировки (КМ) должен быть передан в ОФД именно в момент передачи товара покупателю. Если вы пробиваете чек только из ПКО на «Погашение кредита», вы не сможете передать туда код маркировки, так как этот документ не содержит товарного состава с кодами. Следовательно, товар не выйдет из оборота.

Для маркировки схема всегда должна быть такой:

  1. Чек из реализации (Передача товара + Код маркировки + НДС).
  2. Чек из ПКО (Погашение кредита, без НДС, без кодов маркировки).

Технические нюансы для программиста

Если вы все же решили исследовать код формирования чека, обратите внимание на общий модуль МенеджерОфлайнОборудования (или аналогичные модули в зависимости от версии БСП). В нем подготавливаются данные для ФН. Основная логика по определению ставок НДС заложена в функции подготовки таблицы товаров для фискализации.

Система формирует таблицу ТаблицаТоваровЧека. В ней для каждого товара определяется тег 1199 (Ставка НДС). Если алгоритм определяет способ расчета как ПогашениеКредита, он принудительно устанавливает значение, соответствующее «Без НДС».

Рассмотрим пример того, как в коде может выглядеть проверка способа расчета (упрощенно):


Если СпособРасчета = Перечисления.СпособыРасчетаСКлиентами.ПогашениеКредита Тогда
    // Согласно методологии 1С и ФНС, НДС не выделяется
    СтрокаТовара.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
    СтрокаТовара.ПризнакПредметаРасчета = Перечисления.ПризнакиПредметаРасчета.Платеж;
КонецЕсли;

Эта логика защищает организацию от некорректного заполнения фискальных признаков. Важно донести до бухгалтерии, что общая сумма уплаченного НДС в любом случае будет верной: налог будет зафиксирован в момент отгрузки (в первом чеке или в книге продаж по документу реализации), а второй чек лишь подтверждает факт движения денежных средств.

Резюме и рекомендации

Подводя итог нашему анализу, можно дать следующие рекомендации для работы в УТ 11.5:

Таким образом, для исправления ситуации «отсутствия НДС» нужно не менять программный код, а корректировать административные процессы работы кассиров и настройки ведения взаиморасчетов в 1С.

← На главную