Как исправить задвоение сумм возврата и появление оплаты «кредитом» при смешанных оплатах в 1С:Розница 2.2

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

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

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

Выясняем причину: почему происходит задвоение и появляется «Кредит»?

Для начала проанализируем стандартный бизнес-процесс, который приводит к ошибке. Предположим, покупатель возвращает товар стоимостью 25 000 рублей, который ранее был приобретен за 10 000 рублей наличными и 15 000 рублей по безналичному расчету. Возврат происходит не в день покупки (то есть кассовая смена, в которой был продан товар, уже закрыта).

Обычно в бэк-офисе 1С цепочка документов оформляется следующим образом:

  1. Создается документ Возврат товаров от покупателя на общую сумму 25 000 рублей.
  2. На основании этого возврата создается Расходный кассовый ордер (РКО) на сумму 10 000 рублей для выдачи наличных.
  3. Также на основании возврата создается документ Эквайринговая операция на сумму 15 000 рублей для проведения безналичного возврата через терминал.

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

Давайте пошагово рассмотрим, что происходит на фискальном уровне, когда кассир пытается пробить чеки из обоих документов:

Шаг 1. Пробитие чека из Расходного кассового ордера (РКО) на 10 000 руб.
Программа обращается к кассе и передает данные о возвращаемом товаре на полную сумму исходного документа-основания — 25 000 рублей. Однако сам документ РКО подтверждает выдачу только 10 000 рублей наличными. Чтобы фискальный чек сошелся и ККТ не выдала ошибку расхождения сумм, алгоритм интеграционной библиотеки 1С автоматически «закрывает» оставшуюся разницу в 15 000 рублей типом оплаты «Постоплата (Кредит)» (или «встречным представлением»).
Итог первого чека в ОФД: Возврат товара на 25 000 рублей (10 000 руб. наличными + 15 000 руб. кредитом).

Шаг 2. Пробитие чека из Эквайринговой операции на 15 000 руб.
Кассир открывает второй документ и снова нажимает кнопку «Пробить чек». Программа опять берет исходный товар на сумму 25 000 рублей, но из эквайринга видит оплату только в размере 15 000 рублей. Оставшиеся 10 000 рублей система вновь распределяет на тип оплаты «Постоплата (Кредит)».
Итог второго чека в ОФД: Возврат товара на 25 000 рублей (15 000 руб. безналичными + 10 000 руб. кредитом).

В результате по кассе проходят два совершенно независимых чека возврата, общая сумма которых составляет уже 50 000 рублей вместо фактических 25 000 рублей. При закрытии смены в ККТ и ОФД отражается колоссальное задвоение сумм, что ведет к искажению налоговой базы.

---

Варианты решения проблемы смешанного возврата

Чтобы избежать этой методологической ошибки, нам необходимо использовать сценарии, при которых на кассе пробивается только один сбалансированный чек, содержащий сразу два вида оплаты. Рассмотрим подробнее каждый из возможных способов.

Способ 1. Оформление через Рабочее место кассира (РМК) — Рекомендуемый

Интерфейс РМК в «1С:Розница» изначально оптимизирован под сложные виды расчетов. Если у вас есть возможность провести операцию непосредственно через кассовую зону, выполним следующие действия:

  1. Откроем Рабочее место кассира (РМК).
  2. Нажмем кнопку «Возврат» (клавиша F5).
  3. В открывшемся окне найдем чек продажи по номеру, дате или с помощью сканирования штрихкода на чеке покупателя.
  4. После выбора нужного чека и переноса товаров в корзину перейдем к этапу оплаты.
  5. Вместо выбора одного конкретного платежного средства нажмем кнопку «Сложная оплата».
  6. В появившейся форме укажем точные суммы возврата по каждому виду оплаты: 10 000 рублей в поле «Наличные» и 15 000 рублей в поле «Платежная карта».
  7. Нажмем кнопку «Пробить чек».

При таком подходе касса сформирует ровно один фискальный документ возврата на сумму 25 000 рублей с корректным разделением на две платежные секции без привлечения механизма постоплаты.

Способ 2. Использование документа «Чек ККМ на возврат»

Если бизнес-процесс требует оформления возврата из административной панели управления программой, но без использования тяжелых документов бэк-офиса, мы можем использовать механизм чеков ККМ:

  1. Перейдем в раздел «Продажи» и откроем список документов Чеки ККМ.
  2. Создадим новый документ и выберем вид операции «Возврат».
  3. Заполним табличную часть возвращаемыми товарами на общую сумму 25 000 рублей.
  4. Перейдем на вкладку «Оплата». Здесь мы можем вручную добавить несколько строк.
  5. Создадим первую строку, выберем тип оплаты «Наличные» и укажем сумму 10 000 рублей.
  6. Создадим вторую строку, выберем тип оплаты «Платежная карта» (указав нужный эквайринговый терминал) и введем сумму 15 000 рублей.
  7. Нажмем кнопку «Пробить чек».

Этот способ гарантирует отправку на ККТ единого фискального пакета, где обе суммы будут распределены корректно в рамках одного чека.

Способ 3. Ручная корректировка чека и раздельное проведение документов в бэк-офисе

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

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

---

Технические нюансы для специалистов: как это устроено в коде

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


// Пример формирования структуры параметров для фискализации смешанной оплаты
ПараметрыЧека = Новый Структура;
ПараметрыЧека.Вставить("ПризнакРасчета", Перечисления.ПризнакиРасчетаККТ.ВозвратПрихода);

ТаблицаОплат = Новый ТаблицаЗначений;
ТаблицаОплат.Колонки.Добавить("ТипОплаты", Новый ОписаниеТипов("ПеречислениеСсылка.ТипыОплатЧекаККМ"));
ТаблицаОплат.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));

// Добавляем наличную часть возврата
СтрокаНаличные = ТаблицаОплат.Добавить();
СтрокаНаличные.ТипОплаты = Перечисления.ТипыОплатЧекаККМ.Наличные;
СтрокаНаличные.Сумма = 10000;

// Добавляем безналичную часть возврата
СтрокаКарта = ТаблицаОплат.Добавить();
СтрокаКарта.ТипОплаты = Перечисления.ТипыОплатЧекаККМ.ПлатежнаяКарта;
СтрокаКарта.Сумма = 15000;

// При вызове фискализации передаем полную таблицу оплат
МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляПробитияЧека(ПараметрыЧека, ТаблицаОплат);

Если вы разрабатываете собственную обработку или дорабатываете логику проведения чеков из РКО, обязательно убедитесь, что функция подготовки чека анализирует весь состав исходного документа возврата, а не только сумму текущего платежного документа.

---

Что делать, если ошибочные чеки уже ушли в ОФД?

Если задвоение уже произошло, кассовая смена закрыта, а неверные данные улетели в налоговую инспекцию, эту ситуацию требуется оперативно исправить:

  1. Проверьте банковский терминал. Убедитесь, что по эквайрингу физически не ушел двойной возврат покупателю. Как правило, банковское ПО не допускает автоматического дублирования транзакций без подтверждения на терминале, поэтому повторно деньги с расчетного счета не списываются, страдает только фискальная отчетность.
  2. Сформируйте чеки коррекции. В зависимости от версии ФФД (в нашем случае это 1.05), вам необходимо аннулировать ошибочно проведенные операции. Для этого пробейте чек коррекции с признаком «Приход» (или обратной операцией) на ту часть суммы, которая ошибочно ушла под видом «Кредита», чтобы сбалансировать общую выручку смены в ОФД.
  3. Напишите объяснительную записку. Кассиру необходимо составить пояснительную записку для бухгалтерии с детальным описанием технического сбоя программы для предоставления в ИФНС в случае возникновения встречной проверки по расхождению сумм Z-отчета и эквайринга.
← На главную