Как оформить частичный возврат на карту не в день покупки в 1С:Розница 2.3

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

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

Техническая разница между операциями «Отмена» и «Возврат»

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

  1. В день покупки (до сверки итогов): Выполняется операция Отмена (Void). В этом случае транзакция просто аннулируется, и деньги на карте покупателя «размораживаются». Долгое время программное обеспечение многих банков поддерживало только полную отмену чека.
  2. Не в день покупки (после сверки итогов): Выполняется операция Возврат (Refund). Это полноценное движение денежных средств, инициируемое продавцом. Сумма списывается с расчетного счета организации и зачисляется на счет покупателя.

В современных релизах 1С:Розница 2.3 (начиная с ветки 2.3.6.17 и выше) реализована полноценная поддержка частичных возвратов для обоих сценариев. Однако успех операции во многом зависит от версии используемого драйвера эквайринга.

Подготовка системы и необходимые реквизиты

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

В старых релизах 1С эти данные могли сохраняться некорректно, что вынуждало пользователей делать полный возврат и новую продажу. В актуальных версиях 1С:Розница эти реквизиты автоматически подтягиваются из документа ЭквайринговаяОперация, связанного с чеком продажи. Если данные отсутствуют, терминал может выдать ошибку «Операция не поддерживается».

Вариант 1: Возврат через интерфейс РМК

Этот способ наиболее привычен для кассиров. Рассмотрим алгоритм действий:

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

Важный момент: Если терминал подключен в режиме «без оборудования» (автономно), кассиру придется вручную ввести сумму возврата на терминале и подтвердить выполнение в 1С. Если же терминал интегрирован, программа сама передаст нужные параметры.

Вариант 2: Использование документа «Возврат товаров от покупателя»

Методически более правильным для возвратов «не день в день» считается использование административной части программы. Это позволяет избежать лишней нагрузки на кассовую смену и корректно оформить все сопроводительные документы (заявление на возврат и т.д.).

Разберем этот процесс по шагам:

  1. Перейдем в раздел Продажи — Возвраты товаров от покупателей.
  2. Создадим новый документ и выберем документ-основание (исходный Чек или ОтчетОРозничныхПродажах).
  3. В табличной части Товары удалим те позиции, которые покупатель оставлять у себя (не возвращает). Оставим только возвращаемый товар.
  4. Перейдем на закладку Оплата платежными картами. Проверим, что сумма в колонке Сумма соответствует стоимости возвращаемого товара.
  5. Нажмем кнопку Вернуть оплату.

В этот момент программа обратится к драйверу эквайринга. Рассмотрим пример логики, которая срабатывает «под капотом»:


// Пример логики обработки возврата
Если СменаЗакрыта На Терминале Тогда
    Результат = ЭквайринговаяСистема.ВыполнитьОперацию("Refund", СуммаВозврата, ДанныеПервичногоЧека.RRN);
Иначе
    Результат = ЭквайринговаяСистема.ВыполнитьОперацию("Void", СуммаВозврата, ДанныеПервичногоЧека.ИдентификаторТранзакции);
КонецЕсли;

Особенности работы с СБП (Система быстрых платежей)

Проанализируем ситуацию, если покупка была совершена по QR-коду через СБП. В 1С:Розница 2.3 частичный возврат через СБП реализован максимально гибко. Так как API банков для СБП изначально проектировалось под онлайн-взаимодействие, частичные возвраты проходят без проблем в любой день. Вам достаточно лишь указать сумму к возврату, и система мгновенно проведет транзакцию через банковский сервис.

Возможные проблемы и пути решения

Если при попытке частичного возврата вы видите сообщение об ошибке, выполним диагностику по следующему чек-листу:

Таким образом, мы выяснили, что 1С:Розница 2.3 полностью поддерживает частичные возвраты на карту не в день покупки. Главное — использовать актуальный релиз программы и следить за корректностью данных в документе продажи.

← На главную