Как разделить оплату по картам и оплату на расчетный счет в Z-отчете при использовании 1С:УТ 10.3 и Атол-30Ф

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

При работе с розничными продажами в 1С:Управление торговлей 10.3 бухгалтеры и администраторы часто сталкиваются с ситуацией, когда все безналичные платежи (и эквайринг, и прямые переводы на расчетный счет) в чеке и Z-отчете объединяются в одну общую сумму «Безналичные». Согласно требованиям 54-ФЗ и формату фискальных данных (ФФД) 1.05, это является корректным, так как все электронные способы оплаты теперь классифицируются как безналичные (Тег 1081).

Однако для целей внутреннего управленческого учета и удобства сверки с банковской выпиской часто требуется видеть эти потоки раздельно. В этой статье мы разберем, как технически реализовать разделение этих оплат, используя возможности драйвера Атол и программный код 1С.

Почему оплаты суммируются и что говорит закон

Проанализируем ситуацию с точки зрения законодательства. В ранних версиях ФФД существовали понятия «Наличные» и «Электронные». С переходом на ФФД 1.05 и выше понятие «Электронные» было заменено на «Безналичные». К ним относятся:

  1. Оплаты банковскими картами через терминал (эквайринг).
  2. Переводы через СБП (QR-коды).
  3. Прямые платежи от физических лиц на расчетный счет организации через мобильные приложения банков.

По умолчанию кассовый аппарат Атол-30Ф суммирует все эти типы оплат в одну строку Z-отчета. Чтобы получить детализацию, нам потребуется либо настроить дополнительные типы оплат, либо использовать механизм секций.

Вариант 1. Настройка дополнительных типов оплаты в драйвере ККТ

Фискальные регистраторы Атол позволяют программировать таблицу типов оплат. Рассмотрим подробнее, как это сделать. По умолчанию индексы с 0 по 4 заняты стандартными типами (Наличные, Безналичные, Аванс, Кредит, Иная форма). Но индексы с 5 по 9 обычно свободны или могут быть переопределены.

Для реализации этого метода выполним следующие шаги:

  1. Откроем «Тест драйвера ККТ» (обычно это версия 10.х).
  2. Перейдем в раздел «Свойства» — «Параметры ККТ».
  3. Найдем таблицу «Типы оплат».
  4. Выберем свободный индекс (например, 5) и переименуем его в «Оплата на р/с».
  5. Сохраним настройки в памяти кассового аппарата.

После этого нам необходимо изменить логику в 1С:УТ 10.3. В конфигурации за взаимодействие с кассой отвечает обработка обслуживания (например, ATOL_kkt.epf или встроенный код в модуле ТОСервер). Нам нужно найти место формирования пакета данных для чека и указать, что при определенном виде оплаты в 1С должен передаваться индекс 5 вместо индекса 1.

Проанализируем примерный фрагмент кода, который отвечает за передачу оплаты в драйвер (объект Драйвер или ОбъектДрайвера):


// В обработке обслуживания обычно есть цикл по таблице оплат
Для Каждого СтрокаОплаты Из ТаблицаОплат Цикл
    Если СтрокаОплаты.ВидОплаты = Справочники.ВидыОплатыЧекаККМ.НайтиПоНаименованию("На расчетный счет") Тогда
        // Передаем индекс 5, который мы настроили в ККТ
        Драйвер.TypeClose = 5; 
    Иначе
        // Стандартная безналичная оплата (эквайринг)
        Драйвер.TypeClose = 1;
    КонецЕсли;
    Драйвер.Summ = СтрокаОплаты.Сумма;
    Драйвер.Payment();
КонецЦикла;

Важно помнить, что при использовании ФФД 1.05 такие манипуляции могут потребовать согласования с вашей обслуживающей организацией (АСЦ), так как налоговая ожидает увидеть общую сумму по тегу 1081.

Вариант 2. Использование секций (отделов) ККТ

Если вы не хотите менять структуру типов оплат, существует более простой и надежный способ — разделение по секциям (департаментам). В Z-отчете ККТ Атол практически всегда выводит итоги по секциям отдельно, даже если тип оплаты у них одинаковый («Безналичные»).

Разберем по шагам, как это реализовать:

  1. Выберем секцию 1 для обычных розничных продаж.
  2. Выберем секцию 2 для оплат, поступивших на расчетный счет.
  3. В 1С:УТ 10.3 при формировании строк чека (команда Registration или метод RegistrationEx) необходимо передавать номер секции в соответствующий параметр драйвера.

Пример программной реализации при регистрации позиции товара:


// Пример передачи секции в драйвер Атол
Драйвер.Name = ТоварНаименование;
Драйвер.Price = Цена;
Драйвер.Quantity = Количество;
// Условие выбора секции
Если ЭтоОплатаНаРасчетныйСчет Тогда
    Драйвер.Department = 2; // Секция для оплат по банку
Иначе
    Драйвер.Department = 1; // Общая секция
КонецЕсли;
Драйвер.Registration();

В этом случае в конце смены Z-отчет покажет общую выручку «Безналичными», но ниже будет расшифровка: «Секция 1: [Сумма]» и «Секция 2: [Сумма]». Это позволит бухгалтеру мгновенно увидеть разницу между терминалом и расчетным счетом.

Особенности работы в 1С:УТ 10.3

В конфигурации «Управление торговлей 10.3» (на обычных формах) основным документом для отражения оплаты на расчетный счет от физлица является «Платежное поручение входящее» с видом операции «Оплата от покупателя». Для того чтобы пробить чек из этого документа, часто требуется доработка, так как типовой функционал старых версий УТ 10.3 не всегда корректно поддерживал пробитие чеков из банковских документов.

Рассмотрим рекомендации по бизнес-процессу:

Сроки формирования чека

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

Резюме

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

← На главную