При работе с онлайн-кассами (ККТ) в старых конфигурациях, таких как 1С:Управление торговлей 10.3, часто возникают ситуации, которые кажутся пользователям «чудесами» или программными ошибками. Типичный пример: при реализации на 700 рублей и частичной оплате наличными в 100 рублей, касса печатает чек на 700 рублей, а в личном кабинете ОФД отображается транзакция на 100 рублей. Разберем подробно, почему так происходит, как работают форматы фискальных данных и как правильно оформлять такие операции.
Проанализируем механику взаимодействия 1С с кассовым аппаратом. Согласно требованиям ФФД (формата фискальных данных) версии 1.05 и выше, чек — это не просто «сумма к оплате», а сложная структура, состоящая из товарных позиций и способов их оплаты. Выясним причину расхождения сумм, разделив понятия «Стоимость товаров» и «Виды оплат».
Когда мы создаем документ Приходный кассовый ордер (ПКО) на основании Реализации товаров и услуг, программа передает в кассу информацию о товарах, которые отгружаются. Если реализация оформлена на 700 рублей, то в фискальный документ (чек) обязательно попадет товар на общую сумму 700 рублей. Это необходимо для того, чтобы зафиксировать выбытие товара по конкретной цене.
Однако сумма, которую покупатель вносит в кассу «живыми» деньгами, может быть меньше. Рассмотрим, как касса распределяет эти 700 рублей в чеке:
В итоге в строке «ИТОГО» на бумажном чеке кассир видит 700 рублей, так как это общая стоимость переданных товаров. Но в ОФД в колонке «Сумма» часто отображается только фискальный признак платежа — то есть фактически поступившие в данный момент денежные средства (100 рублей наличными).
Посмотрим на пример того, как выбор Признака способа расчета в 1С влияет на итоговый результат. В конфигурации УТ 10.3 при печати чека из ПКО доступно несколько вариантов:
В рассматриваемой ситуации кассир добилась «нужного» (по её мнению) результата, выставив признак «Оплата кредита». Проанализируем ситуацию: в этом режиме касса считает, что товар на 700 рублей уже был отгружен ранее другим чеком с признаком «Передача в кредит», а сейчас происходит только гашение долга на 100 рублей. В таком чеке товарные позиции могут вообще не печататься или печататься информационно, а фискализируется только сумма 100 рублей. Это методологически неверно, если отгрузка происходит именно сейчас.
Выясним техническую причину, почему 1С может некорректно передавать данные в драйвер Атол. В 1С:УТ 10.3 часто используются внешние обработки обслуживания (ТорговоеОборудование). Рассмотрим важный технический момент:
Если конфигурация обновлена до последних релизов, поддерживающих ФФД 1.05/1.2, а обработка обслуживания осталась старой (или используется старая версия компоненты fptr10.dll), происходит некорректное заполнение таблицы оплат. Старая компонента может не знать о таких тегах, как «Встречное предоставление» или «Сумма по предчеку».
В этом случае при попытке распечатать чек на 700 рублей с оплатой 100 рублей, драйвер может выдать ошибку «Сумма оплат меньше суммы чека», так как 1С не «объяснила» кассе, откуда взялись остальные 600 рублей. Программисту необходимо проверить код в процедурах формирования чека, например:
// Пример упрощенной логики заполнения оплат в драйвере
// Если сумма документа больше суммы платежа, остаток должен уходить в "Зачет аванса"
СуммаДокумента = 700;
СуммаНаличных = 100;
СуммаАванса = СуммаДокумента - СуммаНаличных;
// Передача в драйвер (объект ДрайверККТ)
ДрайверККТ.Summ1 = СуммаНаличных; // Оплата наличными
ДрайверККТ.Summ4 = СуммаАванса; // Оплата предварительная (зачет аванса)
Рассмотрим порядок действий для проверки корректности данных без выезда на торговую точку:
Если Тег 1020 равен 700, а Тег 1031 равен 100 — касса сработала абсолютно правильно. Расхождение в интерфейсе ОФД объясняется тем, что система отображает в списке транзакций только Сумму выручки (реальный приход денег), а не Оборот по товарам.
Чтобы избежать путаницы и ошибок в учете, рекомендуем выполнить следующие шаги:
Приходный кассовый ордер при печати чека всегда проверяйте «Признак способа расчета». Для ситуации «отгрузили на 700, получили 100 сейчас, а 600 получили ранее» — правильным будет использование признака «Частичный расчет и кредит» или «Полный расчет» с указанием зачета аванса.Важный момент: Если кассир наделала много чеков возврата и прихода с признаком «Оплата кредита» на неправильные суммы, это создаст искажения в отчетах налоговой по выручке. Необходимо сформировать Чеки коррекции или правильно оформить возвраты на все неверные операции, чтобы выровнять баланс в фискальном накопителе.
Таким образом, «чудеса» с суммами — это стандартная работа кассы в рамках законодательства о ККТ, где разделяются товарный поток и денежный поток. Главное — следить за актуальностью программного обеспечения 1С и правильно выбирать признаки расчета в документах.