При работе с розничными продажами в 1С:Управление торговлей 10.3 бухгалтеры и администраторы часто сталкиваются с ситуацией, когда все безналичные платежи (и эквайринг, и прямые переводы на расчетный счет) в чеке и Z-отчете объединяются в одну общую сумму «Безналичные». Согласно требованиям 54-ФЗ и формату фискальных данных (ФФД) 1.05, это является корректным, так как все электронные способы оплаты теперь классифицируются как безналичные (Тег 1081).
Однако для целей внутреннего управленческого учета и удобства сверки с банковской выпиской часто требуется видеть эти потоки раздельно. В этой статье мы разберем, как технически реализовать разделение этих оплат, используя возможности драйвера Атол и программный код 1С.
Проанализируем ситуацию с точки зрения законодательства. В ранних версиях ФФД существовали понятия «Наличные» и «Электронные». С переходом на ФФД 1.05 и выше понятие «Электронные» было заменено на «Безналичные». К ним относятся:
По умолчанию кассовый аппарат Атол-30Ф суммирует все эти типы оплат в одну строку Z-отчета. Чтобы получить детализацию, нам потребуется либо настроить дополнительные типы оплат, либо использовать механизм секций.
Фискальные регистраторы Атол позволяют программировать таблицу типов оплат. Рассмотрим подробнее, как это сделать. По умолчанию индексы с 0 по 4 заняты стандартными типами (Наличные, Безналичные, Аванс, Кредит, Иная форма). Но индексы с 5 по 9 обычно свободны или могут быть переопределены.
Для реализации этого метода выполним следующие шаги:
После этого нам необходимо изменить логику в 1С:УТ 10.3. В конфигурации за взаимодействие с кассой отвечает обработка обслуживания (например, ATOL_kkt.epf или встроенный код в модуле ТОСервер). Нам нужно найти место формирования пакета данных для чека и указать, что при определенном виде оплаты в 1С должен передаваться индекс 5 вместо индекса 1.
Проанализируем примерный фрагмент кода, который отвечает за передачу оплаты в драйвер (объект Драйвер или ОбъектДрайвера):
// В обработке обслуживания обычно есть цикл по таблице оплат
Для Каждого СтрокаОплаты Из ТаблицаОплат Цикл
Если СтрокаОплаты.ВидОплаты = Справочники.ВидыОплатыЧекаККМ.НайтиПоНаименованию("На расчетный счет") Тогда
// Передаем индекс 5, который мы настроили в ККТ
Драйвер.TypeClose = 5;
Иначе
// Стандартная безналичная оплата (эквайринг)
Драйвер.TypeClose = 1;
КонецЕсли;
Драйвер.Summ = СтрокаОплаты.Сумма;
Драйвер.Payment();
КонецЦикла;
Важно помнить, что при использовании ФФД 1.05 такие манипуляции могут потребовать согласования с вашей обслуживающей организацией (АСЦ), так как налоговая ожидает увидеть общую сумму по тегу 1081.
Если вы не хотите менять структуру типов оплат, существует более простой и надежный способ — разделение по секциям (департаментам). В Z-отчете ККТ Атол практически всегда выводит итоги по секциям отдельно, даже если тип оплаты у них одинаковый («Безналичные»).
Разберем по шагам, как это реализовать:
Registration или метод RegistrationEx) необходимо передавать номер секции в соответствующий параметр драйвера.Пример программной реализации при регистрации позиции товара:
// Пример передачи секции в драйвер Атол
Драйвер.Name = ТоварНаименование;
Драйвер.Price = Цена;
Драйвер.Quantity = Количество;
// Условие выбора секции
Если ЭтоОплатаНаРасчетныйСчет Тогда
Драйвер.Department = 2; // Секция для оплат по банку
Иначе
Драйвер.Department = 1; // Общая секция
КонецЕсли;
Драйвер.Registration();
В этом случае в конце смены Z-отчет покажет общую выручку «Безналичными», но ниже будет расшифровка: «Секция 1: [Сумма]» и «Секция 2: [Сумма]». Это позволит бухгалтеру мгновенно увидеть разницу между терминалом и расчетным счетом.
В конфигурации «Управление торговлей 10.3» (на обычных формах) основным документом для отражения оплаты на расчетный счет от физлица является «Платежное поручение входящее» с видом операции «Оплата от покупателя». Для того чтобы пробить чек из этого документа, часто требуется доработка, так как типовой функционал старых версий УТ 10.3 не всегда корректно поддерживал пробитие чеков из банковских документов.
Рассмотрим рекомендации по бизнес-процессу:
ВидыОплатыЧекаККМ новый элемент с названием «Оплата на р/с».ПРЕДОПЛАТА 100% (или частичная).ПОЛНЫЙ РАСЧЕТ, где в качестве оплаты будет указан зачет аванса.Выясним причину, по которой важно разделять эти оплаты в учете. При оплате на расчетный счет вы не всегда видите деньги в момент совершения платежа клиентом. Согласно 54-ФЗ, при безналичных расчетах (не через эквайринг в магазине) чек должен быть сформирован не позднее рабочего дня, следующего за днем осуществления расчета. Разделение оплат в Z-отчете поможет вам контролировать, все ли поступившие на счет платежи были фискализированы вовремя.
Подводя итог, отметим: если вам нужно простое визуальное разделение в отчетах кассы, используйте механизм секций. Это требует минимальных правок в коде 1С (передача номера отдела). Если же вам нужно, чтобы в самом чеке вместо слова «Безналичные» печаталось «На расчетный счет», придется программировать таблицу типов оплат в драйвере ККТ и перенаправлять индекс оплаты в коде обработки обслуживания. Оба метода рабочие и позволяют эффективно разделить финансовые потоки в 1С:УТ 10.3.