Как разделить суммы по разным эквайринговым терминалам на одном фискальном регистраторе АТОЛ?

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

В процессе автоматизации розничных точек часто возникает задача разделения выручки по разным терминалам оплаты при использовании одного фискального регистратора. Многие разработчики пытаются решить эту задачу путем внедрения собственных типов оплаты или разделения по секциям в кассе АТОЛ. Давайте разберем, почему такие подходы являются ошибочными и как правильно реализовать подобный учет в 1С:Розница.

Почему нельзя создавать свои типы оплаты в ККТ?

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

Любая попытка передачи в драйвер кассы «самописных» типов оплаты или использование недокументированных параметров, таких как CashLessType, приведет к критической ошибке. Фискальный накопитель не примет данные, структура которых не соответствует ФФД, что повлечет за собой аннулирование чека. Попытки обойти это ограничение через низкоуровневые таблицы драйвера АТОЛ являются нарушением правил эксплуатации ККТ, что грозит штрафными санкциями со стороны контролирующих органов.

Проблема использования секций для эквайринга

Часто программисты пытаются использовать механизм секций (отделов) для разграничения видов оплат. Однако секции в кассовой технике АТОЛ предназначены исключительно для организации товарного учета, а не для учета финансовых потоков. Z-отчет кассы суммирует все продажи, и для налоговой службы критически важен факт разделения по тегу 1081 (сумма по чеку электронными), а не распределение по отделам. Следовательно, попытка разделения эквайринга через секции не решает задачу бухгалтерской отчетности и является технически некорректной.

Правильный подход: реализация учета на стороне 1С

Рассмотрим профессиональный подход к решению данной задачи. Основная идея заключается в том, что разделение сумм должно происходить в прикладном решении 1С, а не на аппаратном уровне фискального регистратора.

  1. Создание видов оплаты в 1С: В настройках конфигурации 1С:Розница создайте два разных объекта в справочнике ВидыОплат (например, «Эквайринг (Магазин)» и «Эквайринг (Доставка)»).
  2. Настройка взаимодействия: При оформлении продажи кассир выбирает нужный вид оплаты. В этот момент 1С фиксирует, какой именно терминал был использован.
  3. Передача данных в ФР: Несмотря на то, что вы используете разные терминалы, в чек ККТ вы передаете общую сумму «безналичными». Фискальный регистратор печатает один чек, так как для ФНС это единая операция по безналичному расчету.
  4. Аналитика в отчетах: Всю детализацию по тому, какой объем продаж прошел через конкретный терминал, вы храните в базе данных 1С. Для сверки с банком используйте стандартный Отчет о розничных продажах или специализированные отчеты по эквайрингу, которые позволяют отфильтровать суммы по выбранным видам оплат.

Пример логики учета в 1С

При закрытии кассовой смены или пробитии чека, вместо попыток обращения к CashLessType, анализируйте данные в 1С следующим образом:


// Пример псевдокода для обработки данных
// В 1С мы храним суммы отдельно
СуммаМагазин = ТаблицаОплат.НайтиСтроки(Новый Структура("ТипОплаты", Справочники.ВидыОплат.Магазин)).Итог("Сумма");
СуммаДоставка = ТаблицаОплат.НайтиСтроки(Новый Структура("ТипОплаты", Справочники.ВидыОплат.Доставка)).Итог("Сумма");

// В ФР передаем общую сумму электронными
ОбщаяСуммаЭлектронными = СуммаМагазин + СуммаДоставка;

// Далее передаем эту сумму в драйвер стандартными методами:
// ОбщегоНазначенияККТ.СформироватьЧек(...)

Что делать, если разделение на аппаратном уровне необходимо?

Если специфика вашего бизнеса (например, разделение по разным юридическим лицам или разным фискальным накопителям) требует, чтобы суммы были разделены именно на аппаратном уровне, единственным законным способом является использование отдельных фискальных регистраторов для каждой точки продаж или каждого типа операции. Любые другие «обходные» пути, связанные с модификацией типов оплаты в драйвере, неизбежно приведут к несоответствию данных в ОФД и последующим проблемам с налоговой инспекцией.

Подводя итог: не пытайтесь настраивать нестандартные типы оплат в ККТ. Сосредоточьте логику разделения потоков в 1С, обеспечивая корректное ведение управленческого учета, тогда как фискальный регистратор должен выполнять свою единственную роль — фиксацию итоговой суммы платежа в соответствии с ФФД.

← На главную