Почему в 1С:УПП чек онлайн-кассы из ПКО печатается общей суммой и как настроить попозиционную печать?

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

При переходе на онлайн-кассы по требованиям 54-ФЗ многие пользователи конфигурации 1С:Управление производственным предприятием сталкиваются с ситуацией, когда при пробитии фискального чека из документа Приходный кассовый ордер список товаров не выводится на кассовую ленту. Чек печатается одной общей строкой («Оплата от покупателя»), даже если в документе выбран заказ или накладная. Разберем логику работы типового алгоритма конфигурации, выясним строгие требования для формирования товарного состава чека и рассмотрим варианты решения проблемы для нестандартных взаиморасчетов.

Принцип работы типового механизма в 1С:УПП

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

  1. Если в договоре контрагента установлен признак Вести по документам расчетов с контрагентами, система пытается извлечь товарные позиции из документа Реализация товаров и услуг, указанного в табличной части как документ расчетов.
  2. Если учет по документам расчетов не ведется, номенклатурный состав считывается из документа Заказ покупателя (указанного в качестве сделки).
  3. Если указаны одновременно и сделка, и конкретный документ расчетов Реализация товаров и услуг, приоритет отдается накладной реализации.

Однако простого указания документа недостаточно. В типовом коде заложено жесткое условие: 100% совпадение сумм и ставок НДС. Если сумма платежа в ПКО хотя бы на одну копейку отличается от суммы основания, либо не совпадает расшифровка по ставкам НДС, система автоматически отказывается от попозиционной печати и фискализирует платеж одной общей суммой.

Технические причины сброса на печать одной строкой

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

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

Способ 1. Пробитие чека непосредственно из накладной

Рассмотрим штатный сценарий, когда отгрузка и оплата происходят одновременно без использования механизма зачета авансов. В последних релизах 1С:УПП функционал фискализации добавлен напрямую в документ Реализация товаров и услуг. Если клиент производит оплату наличными или картой прямо в момент получения товара, наиболее надежный способ — нажать кнопку печати чека непосредственно из накладной. В этом случае состав чека гарантированно совпадает с товарными строками накладной, а признак способа расчета передается как полный расчет.

Способ 2. Двухстадийная печать по требованиям 54-ФЗ

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

  1. Отгрузка с постоплатой: при проведении накладной формируется фискальный чек из документа Реализация товаров и услуг с признаком способа расчета Передача в кредит. В нем отражается полный попозиционный состав номенклатуры, количество, цены и ставки налога.
  2. Внесение оплаты: при фактическом поступлении денег в кассу пробивается чек из документа Приходный кассовый ордер с признаком способа расчета Оплата кредита. По законодательству в таком чеке указание номенклатурного состава не требуется — чек фискализируется на фактически внесенную сумму денежных средств без товарных позиций.
  3. Авансовые платежи: если покупатель вносит средства до момента согласования точного перечня товаров или до сборки заказа, формируется чек с признаком Аванс или Предоплата на общую сумму, а попозиционный чек бьется в момент фактической передачи товара.

Способ 3. Доработка алгоритма формирования чека без снятия с поддержки

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

  1. Внешняя обработка обслуживания ККТ / Внешняя печатная форма: создается подключаемая внешняя обработка, которая перехватывает процедуру подготовки таблицы товаров перед вызовом методов драйвера торгового оборудования. В обработке реализуется алгоритм распределения внесенной суммы по номенклатуре:
    • Метод пропорционального пересчета: пересчитываются цены и суммы строк накладной с сохранением процентной доли каждой позиции в общем чеке.
    • Метод последовательного закрытия (ФИФО): строки накладной последовательно включаются в чек на полную стоимость до тех пор, пока сумма внесенных денег не исчерпается; последняя входящая строка разбивается по сумме остатка.
  2. Использование внешнего кассового сервера: взаимодействие с фискальным регистратором выносится во внешний программный шлюз. Из 1С:УПП через веб-сервис передаются сырые данные накладной и ордера, а шлюз самостоятельно выполняет округления, распределение копеек по ставкам НДС и управляет реквизитами фискализации.

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

← На главную