Как оформить частичный возврат товара, оплаченного банковской картой, в 1С:Управление торговлей и 1С:Розница?

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

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

Начнем с анализа сути проблемы и разберем, почему она возникает, основываясь на официальных ответах 1С и мнениях экспертов из сообщества.

Суть проблемы и официальная позиция 1С

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

Официальный ответ от 1С разъясняет логику такого поведения:

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

Таким образом, с точки зрения 1С, частичное сторнирование в рамках одной смены технически не предусмотрено банковскими правилами для операции «Сторно».

Различия между «Отменой» (Сторно) и «Возвратом» (Refund) с банковской точки зрения

Для глубокого понимания проблемы, проанализируем, как эти операции воспринимаются эквайринговой системой и банками:

  1. Отмена (Сторно) платежа:

    • Производится в течение той же операционной смены эквайрингового терминала, до момента "сверки итогов" (закрытия банковской смены).
    • Денежные средства по транзакции еще находятся на транзитном счете банка и не были окончательно списаны с карты покупателя или зачислены на расчетный счет продавца.
    • При отмене происходит полное аннулирование исходной транзакции. Частичная отмена, как правило, не поддерживается эквайринговыми системами, поскольку транзакция представляет собой единое целое.
    • Деньги возвращаются на карту покупателя практически мгновенно.
    • Банковская комиссия за такую операцию не взимается.
  2. Возврат (Refund) платежа:

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

Важно отметить, что некоторые эквайринговые системы и модели терминалов могут поддерживать частичный возврат «день-в-день» (до сверки итогов), используя при этом механизм, аналогичный «Возврату», а не «Отмене». Это указывает на то, что техническая возможность на стороне банка может существовать, но 1С не всегда реализует ее в типовых конфигурациях через документ ЧекККМ.

Штатные решения и обходные пути для различных версий 1С

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

Для конфигураций 1С:Управление торговлей 10.3 и Комплексная автоматизация 1.1

В этих старых конфигурациях проблема наиболее острая, и штатных механизмов для частичного возврата по безналу в текущую смену, как правило, нет. Основным "обходным путем", который предлагается, является:

  1. Полное сторнирование исходного чека: Необходимо оформить чек на возврат на все 20 позиций из исходного чека. Это приведет к полной отмене транзакции.
  2. Пробитие нового чека на оставшиеся товары: Затем необходимо создать и пробить новый чек на 19 позиций, которые покупатель не возвращает.

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

Доработка конфигурации:

Многие пользователи прибегают к модификации типовой конфигурации. Идея заключается в изменении логики документа ЧекККМ таким образом, чтобы он мог различать полный и частичный возврат, и в зависимости от этого вызывать разные процедуры обработки эквайринга:

  1. Идентификация частичного возврата: В документе ЧекККМ на возврат необходимо добавить проверку. Если сумма чека на возврат отличается от суммы исходного чека (меньше ее), это сигнализирует о частичном возврате.

  2. Вызов операции «Возврат» вместо «Отмены»: При обнаружении частичного возврата, вместо стандартной команды ОтменитьПлатежПоПлатежнойКарте, следует вызывать команду ВернутьПлатежПоПлатежнойКарте.

    Эти команды обычно находятся в процедурах обработки обслуживания эквайрингового терминала (например, в модуле объекта документа ЧекККМ или в обработке обслуживания торгового оборудования). Примерная логика может выглядеть так:

    
    // Предположим, что мы находимся в модуле документа ЧекККМ на возврат
    Если СуммаЧекаВозврата < СуммаИсходногоЧека Тогда
        // Это частичный возврат, вызываем операцию Возврат
        // Передаем сумму частичного возврата
        ЭквайринговыйТерминал.ВернутьПлатежПоПлатежнойКарте(СуммаЧекаВозврата, ...);
    Иначе
        // Это полный возврат или сторно, вызываем операцию Отмена
        // Передаем исходный RRN, если доступен
        ЭквайринговыйТерминал.ОтменитьПлатежПоПлатежнойКарте(НомерТранзакцииИсходногоЧека, ...);
    КонецЕсли;
    

    Такая доработка позволит выполнять частичные возвраты даже в текущую смену, хотя и будет использовать механизм «Возврата», что может повлечь банковскую комиссию и задержку в поступлении средств покупателю.

  3. Контроль вида оплаты: Дополнительно, при доработке рекомендуется реализовать контроль вида оплаты, чтобы предотвратить "обналичивание" – возврат наличных за товар, оплаченный картой. Это должно быть реализовано путем сравнения вида оплаты исходного чека с видом оплаты возвратного чека.

Для конфигураций 1С:Управление торговлей 11.4 и 11.5

В более современных конфигурациях 1С, таких как УТ 11.4 и 11.5, функционал для частичного возврата значительно улучшен. Процесс оформления может выглядеть следующим образом:

  1. Создание документа «Возврат товаров от клиента»:

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

  2. Оформление эквайринговой операции:

    После создания и проведения документа Возврат товаров от клиента, на его основании необходимо создать документ Эквайринговая операция с видом операции «Возврат оплаты». В этом документе будет указана сумма, подлежащая возврату покупателю. Система отправит команду на эквайринговый терминал для проведения операции возврата на соответствующую сумму.

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

Существуют также готовые расширения (например, для РМК в УТ 11.4), которые дорабатывают интерфейс рабочего места кассира для более удобного оформления частичных возвратов по безналу. Для УТ 11.5 можно воспользоваться доработкой для проведения частичной отмены по эквайрингу.

Для конфигурации 1С:Розница 2.2 и 2.3

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

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

  1. «Возврат без основания» для онлайн-ККТ:

    В современных версиях Розницы, особенно при использовании онлайн-ККТ, существует механизм «Возврат без основания». Это позволяет создать возвратный чек, выбрав нужную номенклатуру и вид оплаты, без привязки к конкретному исходному чеку продажи. Этот метод может быть использован для частичного возврата, но требует ручного ввода возвращаемых позиций и корректного выбора вида оплаты.

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

    Подобно УТ 11.4, в Рознице 2.x также можно использовать документ Возврат товаров от покупателя. На его основании оформляется возврат оплаты через эквайринговый терминал. Этот подход обеспечивает гибкость при частичном возврате.

Хранение RRN (Retrieval Reference Number) и номер квитанции терминала

Важным аспектом при работе с возвратами, особенно после закрытия смены, является идентификация исходной транзакции. Для этого используется RRN (Retrieval Reference Number) – уникальный ссылочный номер транзакции в платежной системе.

Важные сопутствующие проблемы и рекомендации

В ходе обсуждения темы были выявлены и другие системные недостатки, связанные с возвратами в 1С:

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

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

  2. Отсутствие контроля вида оплаты при возврате: 1С не всегда контролирует, каким способом был оплачен исходный товар, позволяя, например, вернуть наличные за товар, оплаченный банковской картой. Это является прямым "обналичиванием" и нарушает законодательство.

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

Заключение

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

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

← На главную