Проблема «двоения» или «зацикливания» суммы в фискальном чеке — одна из самых распространенных ошибок, с которыми сталкивались пользователи 1С:УПП 1.3 в период активного внедрения требований 54-ФЗ и форматов фискальных данных (ФФД 1.05). Суть ситуации заключается в том, что при попытке пробить чек из документа Входящее платежное поручение, система выводит итоговую сумму, которая в два раза превышает фактически полученную оплату. В чеке одновременно отображается и разбивка по товарам из заказа, и общая сумма как «Аванс» или «Платеж».
В этой статье мы подробно разберем причины возникновения этой технической коллизии, проанализируем настройки программы и найдем способ корректного формирования чеков стандартными средствами системы.
Давайте разберем, почему драйвер кассового аппарата воспринимает данные от 1С некорректно. Основная причина кроется в алгоритме формирования XML-пакета, который конфигурация передает драйверу ККТ. Программа анализирует табличную часть документа и связанные с ним заказы. В ранних релизах УПП (в частности, в 1.3.123.3) существовала ошибка, при которой в структуру чека одновременно попадали две коллекции данных:
Драйвер ККТ (особенно версий АТОЛ 10.х) интерпретирует это как два независимых основания для платежа и суммирует их в поле «Итог». Чтобы этого избежать, необходимо обеспечить четкое соответствие признаков способа расчета требованиям ФФД.
Как показывает практика и опыт участников профессиональных сообществ, наиболее эффективным и «чистым» решением является обновление системы до актуальных релизов. Рассмотрим этот путь по шагам:
1.3.124. В этом обновлении была пересмотрена логика общего модуля Киоск и механизмов формирования данных для печати чека.10.5.После выполнения этих действий система начинает корректно разделять понятия «Аванс» (когда состав товаров не определен) и «Предоплата» (когда платеж привязан к конкретным позициям заказа).
Если обновление по каким-то причинам откладывается, проанализируем настройки ведения взаиморасчетов. Правильное определение Признака способа расчета (Тег 1214) напрямую зависит от настроек договора с контрагентом.
Для того чтобы 1С:УПП могла корректно сопоставить входящий платеж и товарную спецификацию, выполним следующие действия:
При использовании режима «По заказам» или «По договору в целом» без детализации по документам, алгоритм печати чека из платежки часто дает сбои, пытаясь одновременно отразить и общую сумму по договору, и позиции из заказа.
Если вы обладаете навыками программирования в среде 1С, мы можем посмотреть на ситуацию изнутри. Основная логика подготовки данных сосредоточена в процедуре ПодготовитьДанныеДляПечатиЧека. Проанализируем фрагмент кода, который отвечает за заполнение признаков способа расчета:
// Пример логики определения признака способа расчета
Если СуммаДокумента = СуммаПоЗаказу Тогда
ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.ПредоплатаПолная;
ИначеЕсли СуммаДокумента < СуммаПоЗаказу Тогда
ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.ПредоплатаЧастичная;
КонецЕсли;
В проблемных релизах код ошибочно добавлял сумму в секцию Оплаты даже тогда, когда она уже была распределена по ПозициямЧека. Для исправления ситуации вручную (в виде расширения или правки кода) необходимо контролировать, чтобы при наличии заполненной таблицы товаров сумма в структуре Оплаты передавалась только один раз с типом «Электронными» или «Безналичными», без дублирования в строках товаров как самостоятельных платежных единиц.
Рассмотрим правила работы с чеками при поступлении оплаты на расчетный счет от физических лиц (так называемые «безналичные расчеты»):
Заказе покупателя указаны конкретные позиции, они должны попасть в чек с признаком «Предоплата». Если же вы просто принимаете деньги без понимания, какой товар будет отгружен, необходимо очистить связь с заказом и пробивать чек на «Аванс» общей суммой.Подводя итог, можно сказать, что проблема двоения суммы в 1С:УПП — это следствие несоответствия старых алгоритмов формирования XML-пакетов новым требованиям драйверов ККТ.
Для исправления ситуации мы рекомендуем:
Это позволит вам избежать ошибок при проверках налоговой инспекции и обеспечит корректное отображение данных в фискальном накопителе.