Как устранить расхождения в Z-отчете при пробитии чеков по безналичному расчету в 1С:Управление торговлей 10.3?

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

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

Анализ методологии учета: Опт против Розницы

Для начала проанализируем ситуацию с точки зрения архитектуры 1С. В конфигурации УТ 10.3 реализованы две принципиально разные логики учета продаж, которые редко пересекаются в рамках одного документа:

  1. Розничная схема: Предполагает использование цепочки документов ЧекККМ -> Закрытие кассовой смены -> Отчет о розничных продажах. В этой схеме «Отчет о розничных продажах» (ОРП) является финальным документом, который списывает товары со склада и фиксирует выручку в кассе.
  2. Оптовая схема (или расчеты через банк): Используется цепочка Реализация товаров и услуг + Платежное поручение входящее. Здесь товар списывается документом реализации, а долг контрагента закрывается банковской выпиской.

Когда мы пробиваем чек из документа Платежное поручение входящее, кассовый аппарат фиксирует приход денежных средств. Однако этот платеж не попадает в «Отчет о розничных продажах», так как ОРП собирает данные только из документов ЧекККМ. Именно в этом моменте возникает разрыв: по данным Z-отчета ККТ сумма прошла, а по «Отчету о розничных продажах» в 1С — нет. Выясним, является ли это ошибкой. Методически для данной конфигурации это нормально, так как оплата уже отражена в банковских документах, и дублирование ее в розничном отчете привело бы к задвоению выручки в бухгалтерском и управленческом учете.

Законодательные требования (54-ФЗ) при безналичных расчетах

Рассмотрим важные нюансы законодательства, которые необходимо учитывать при настройке системы. При поступлении денег от физического лица на расчетный счет организации, чек должен быть сформирован не позднее рабочего дня, следующего за днем осуществления расчета, но не позднее момента передачи товара. В чеке обязательно должен быть указан тип оплаты — «Безналичными» (в старых драйверах ККТ этот тип часто назывался «Электронными»).

Важно помнить, что с 2021 года для всех организаций обязательно указание полного наименования товара в чеке. Если ваша Платежка печатает просто «Оплата по счету №...», это является нарушением. Нам необходимо добиться того, чтобы обработка печати «заглядывала» в документ-основание (например, в Счет на оплату или Реализацию) и передавала на кассу полный перечень товаров.

Техническая реализация пробития чека в старых версиях УТ 10.3

Поскольку версия 10.3.32 была выпущена задолго до внедрения современных стандартов онлайн-касс, встроенная подсистема «Подключаемое оборудование» может работать некорректно. Разберем по шагам, как можно модифицировать систему:

1. Модернизация обработки обслуживания. Нам потребуется заменить стандартную обработку (например, ATOL_KKT_8.epf) на актуальную, поддерживающую драйверы версии 10.х. Это позволит передавать необходимые теги, такие как признак способа расчета (предоплата или полный расчет) и систему налогообложения.

2. Подключение печати чека из Платежного поручения. Рассмотрим примерный алгоритм, который необходимо внедрить в модуль документа или во внешнюю обработку:


Процедура ПробитьЧекНаОснованииПлатежки(ДокументСсылка)
    // Получаем объект драйвера ККТ
    ПоддержкаККМ = ПолучитьОбъектДрайвера();
    
    // Инициализируем таблицу товаров
    ТаблицаТоваров = Новый ТаблицаЗначений;
    ТаблицаТоваров.Колонки.Добавить("Наименование");
    ТаблицаТоваров.Колонки.Добавить("Количество");
    ТаблицаТоваров.Колонки.Добавить("Цена");
    ТаблицаТоваров.Колонки.Добавить("Сумма");
    
    // Ищем документ-основание для заполнения номенклатуры
    Если ЗначениеЗаполнено(ДокументСсылка.ДокументОснование) Тогда
        Для Каждого СтрокаТЧ Из ДокументСсылка.ДокументОснование.Товары Цикл
            НоваяСтрока = ТаблицаТоваров.Добавить();
            НоваяСтрока.Наименование = СтрокаТЧ.Номенклатура.НаименованиеПолное;
            НоваяСтрока.Количество = СтрокаТЧ.Количество;
            НоваяСтрока.Цена = СтрокаТЧ.Цена;
            НоваяСтрока.Сумма = СтрокаТЧ.Сумма;
        КонецЦикла;
    КонецЕсли;
    
    // Вызываем команду фискализации с типом оплаты "Электронно"
    ПоддержкаККМ.ПечататьЧек(ТаблицаТоваров, 2); // 2 - обычно индекс безналичной оплаты
КонецПроцедуры

Как сводить остатки и проверять сходимость Z-отчета

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

Посмотрим на ситуацию с риском «двойных продаж». Если вы попытаетесь создать ЧекККМ на основании реализации, по которой уже проведено Платежное поручение, а затем закроете смену, программа спишет товар дважды: один раз Реализацией, второй раз через ОРП. Поэтому правильный путь для старой УТ 10.3 — это пробитие чека напрямую из банковского документа без создания промежуточного чека ККТ в базе.

Использование внешних решений

Если обновление конфигурации до актуальных релизов (например, 10.3.49 и выше) невозможно из-за сильных доработок, имеет смысл рассмотреть использование внешних компонент или специализированных обработок с популярных ресурсов (например, Инфостарт). Такие решения часто перехватывают команду печати и позволяют передавать в ККТ все необходимые данные по 54-ФЗ (ФИО покупателя, ИНН, признаки предмета расчета) даже в тех версиях программы, где эти поля отсутствуют в структуре метаданных.

Подведем итог: отсутствие документа ЧекККМ при оплате на расчетный счет в УТ 10.3 является методологически обоснованным. Главная задача технического специалиста здесь — обеспечить передачу корректной номенклатурной части из документа-основания в драйвер кассы и настроить отчетность для бухгалтера так, чтобы выручка по банку и рознице анализировалась раздельно, но в совокупности давала сумму по Z-отчету.

← На главную