Рассмотрим одну из актуальных проблем, с которой сталкиваются пользователи 1С:Управление торговлей (УТ) и 1С:Розница: невозможность оформления частичного возврата товаров, оплаченных банковской картой, в течение той же кассовой смены. Эта ситуация часто приводит к неудобствам как для продавцов, так и для покупателей, поскольку стандартные механизмы могут требовать полного сторнирования исходного чека и последующего перепробития нового чека на оставшиеся товары.
Начнем с анализа сути проблемы и разберем, почему она возникает, основываясь на официальных ответах 1С и мнениях экспертов из сообщества.
Основная сложность возникает при попытке выполнить частичный возврат товара, оплаченного банковской картой, из документа ЧекККМ в рамках одной кассовой смены. Типовые конфигурации 1С, такие как УТ 10.3 (версии 10.3.45.4 и выше) и некоторые ранние версии Розницы, при этом выдают ошибку: «Сумма безналичной оплаты не может быть больше суммы документа!». Это означает, что система ожидает полного совпадения суммы возврата с суммой исходного чека, если оплата была безналичной.
Официальный ответ от 1С разъясняет логику такого поведения:
Таким образом, с точки зрения 1С, частичное сторнирование в рамках одной смены технически не предусмотрено банковскими правилами для операции «Сторно».
Для глубокого понимания проблемы, проанализируем, как эти операции воспринимаются эквайринговой системой и банками:
Отмена (Сторно) платежа:
Возврат (Refund) платежа:
Важно отметить, что некоторые эквайринговые системы и модели терминалов могут поддерживать частичный возврат «день-в-день» (до сверки итогов), используя при этом механизм, аналогичный «Возврату», а не «Отмене». Это указывает на то, что техническая возможность на стороне банка может существовать, но 1С не всегда реализует ее в типовых конфигурациях через документ ЧекККМ.
Рассмотрим, как проблема решается или обходится в разных конфигурациях 1С.
В этих старых конфигурациях проблема наиболее острая, и штатных механизмов для частичного возврата по безналу в текущую смену, как правило, нет. Основным "обходным путем", который предлагается, является:
Этот метод крайне неудобен, так как требует от оператора повторного ввода всех позиций, поиска штрих-кодов и увеличивает время обслуживания клиента. В сообществе активно обсуждается, что такое решение является неоптимальным и требует доработок.
Доработка конфигурации:
Многие пользователи прибегают к модификации типовой конфигурации. Идея заключается в изменении логики документа ЧекККМ таким образом, чтобы он мог различать полный и частичный возврат, и в зависимости от этого вызывать разные процедуры обработки эквайринга:
Идентификация частичного возврата: В документе ЧекККМ на возврат необходимо добавить проверку. Если сумма чека на возврат отличается от суммы исходного чека (меньше ее), это сигнализирует о частичном возврате.
Вызов операции «Возврат» вместо «Отмены»: При обнаружении частичного возврата, вместо стандартной команды ОтменитьПлатежПоПлатежнойКарте, следует вызывать команду ВернутьПлатежПоПлатежнойКарте.
Эти команды обычно находятся в процедурах обработки обслуживания эквайрингового терминала (например, в модуле объекта документа ЧекККМ или в обработке обслуживания торгового оборудования). Примерная логика может выглядеть так:
// Предположим, что мы находимся в модуле документа ЧекККМ на возврат
Если СуммаЧекаВозврата < СуммаИсходногоЧека Тогда
// Это частичный возврат, вызываем операцию Возврат
// Передаем сумму частичного возврата
ЭквайринговыйТерминал.ВернутьПлатежПоПлатежнойКарте(СуммаЧекаВозврата, ...);
Иначе
// Это полный возврат или сторно, вызываем операцию Отмена
// Передаем исходный RRN, если доступен
ЭквайринговыйТерминал.ОтменитьПлатежПоПлатежнойКарте(НомерТранзакцииИсходногоЧека, ...);
КонецЕсли;
Такая доработка позволит выполнять частичные возвраты даже в текущую смену, хотя и будет использовать механизм «Возврата», что может повлечь банковскую комиссию и задержку в поступлении средств покупателю.
Контроль вида оплаты: Дополнительно, при доработке рекомендуется реализовать контроль вида оплаты, чтобы предотвратить "обналичивание" – возврат наличных за товар, оплаченный картой. Это должно быть реализовано путем сравнения вида оплаты исходного чека с видом оплаты возвратного чека.
В более современных конфигурациях 1С, таких как УТ 11.4 и 11.5, функционал для частичного возврата значительно улучшен. Процесс оформления может выглядеть следующим образом:
Создание документа «Возврат товаров от клиента»:
На основании исходного документа продажи (например, Реализация товаров и услуг или ЧекККМ, если он был сформирован) создайте документ Возврат товаров от клиента. В этом документе вы можете удалить лишние позиции из табличной части или скорректировать количество возвращаемого товара, оставляя только те товары, которые действительно возвращаются.
Оформление эквайринговой операции:
После создания и проведения документа Возврат товаров от клиента, на его основании необходимо создать документ Эквайринговая операция с видом операции «Возврат оплаты». В этом документе будет указана сумма, подлежащая возврату покупателю. Система отправит команду на эквайринговый терминал для проведения операции возврата на соответствующую сумму.
Этот механизм позволяет выполнять частичные возвраты даже при открытой кассовой смене и открытой смене на эквайринговом терминале, поскольку он использует операцию «Возврат», а не «Отмена».
Существуют также готовые расширения (например, для РМК в УТ 11.4), которые дорабатывают интерфейс рабочего места кассира для более удобного оформления частичных возвратов по безналу. Для УТ 11.5 можно воспользоваться доработкой для проведения частичной отмены по эквайрингу.
В Рознице 2.2 и 2.3 ситуация неоднозначна: некоторые пользователи сообщают, что частичный возврат по безналу у них работает "из коробки", в то время как другие, включая поддержку 1С, утверждают, что это еще не реализовано в полном объеме и регистрируется как пожелание.
Если в вашей версии Розницы частичный возврат не работает напрямую, можно использовать следующие подходы:
«Возврат без основания» для онлайн-ККТ:
В современных версиях Розницы, особенно при использовании онлайн-ККТ, существует механизм «Возврат без основания». Это позволяет создать возвратный чек, выбрав нужную номенклатуру и вид оплаты, без привязки к конкретному исходному чеку продажи. Этот метод может быть использован для частичного возврата, но требует ручного ввода возвращаемых позиций и корректного выбора вида оплаты.
Использование документа «Возврат товаров от покупателя»:
Подобно УТ 11.4, в Рознице 2.x также можно использовать документ Возврат товаров от покупателя. На его основании оформляется возврат оплаты через эквайринговый терминал. Этот подход обеспечивает гибкость при частичном возврате.
Важным аспектом при работе с возвратами, особенно после закрытия смены, является идентификация исходной транзакции. Для этого используется RRN (Retrieval Reference Number) – уникальный ссылочный номер транзакции в платежной системе.
Проблема хранения RRN: В 1С, RRN обычно сохраняется в самом Чеке ККМ. Однако, при закрытии смены и формировании Отчета о розничных продажах, данные чеков (включая RRN) могут удаляться, а сам RRN не переносится в отчет. Это создает трудности при последующих возвратах, так как кассиру приходится искать RRN на слип-чеке или в банк-клиенте.
Решения для RRN:
Отчет о розничных продажах или в дополнительных регистрах, чтобы облегчить поиск при возвратах.В ходе обсуждения темы были выявлены и другие системные недостатки, связанные с возвратами в 1С:
Возможность множественных возвратов по одному чеку: Типовая 1С позволяет оформить любое количество возвратных чеков на основании одного чека продажи. Это может привести к непроизвольному оприходованию товаров на склад и злоупотреблениям, если не настроены дополнительные контроли.
Рекомендация: Для предотвращения многократных возвратов необходимо дорабатывать конфигурацию, чтобы система отслеживала возвращенное количество по каждой позиции исходного чека и не позволяла возвращать больше, чем было продано.
Отсутствие контроля вида оплаты при возврате: 1С не всегда контролирует, каким способом был оплачен исходный товар, позволяя, например, вернуть наличные за товар, оплаченный банковской картой. Это является прямым "обналичиванием" и нарушает законодательство.
Рекомендация: Требуется доработка конфигурации для обеспечения контроля соответствия вида оплаты при возврате исходному виду оплаты. Если товар был оплачен картой, то и возврат должен быть осуществлен на карту. Если наличными – то наличными.
Проблема частичного возврата по банковской карте в 1С:Управление торговлей и 1С:Розница является комплексной и имеет различные решения в зависимости от версии конфигурации и требований бизнеса. В то время как старые версии часто требуют серьезных доработок для реализации гибкого механизма возвратов, современные конфигурации постепенно включают в себя более функциональные инструменты, позволяющие корректно оформлять частичные возвраты.
Мы рекомендуем вам рассмотреть возможность обновления конфигурации до более новых версий 1С, если это позволяют ваши условия, поскольку они предлагают более надежные и штатные решения. В противном случае, будьте готовы к необходимости доработки функционала, учитывая как банковские правила, так и внутренние процессы вашего предприятия.