Как оформить частичный возврат при смешанной оплате (наличные + безнал) в 1С:Управление торговлей?

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

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

В этой статье мы подробно разберем, как правильно рассчитать пропорции возврата наличных и безналичных средств, какие строгие ограничения накладывает законодательство РФ, и как эти бизнес-процессы автоматизированы в программе 1С:Управление торговлей (УТ 11).

1. Юридический аспект: правила ФНС и Центрального Банка РФ

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

Согласно Указанию Банка России № 5348-У «О правилах наличных расчетов», расходовать поступающую в кассу наличную выручку можно строго на определенные цели. Возврат денег за товары, ранее оплаченные безналичным путем, в этот перечень не входит. Это означает:

Рассмотрим пример. Покупатель приобрел три товара на общую сумму 500 рублей. В чеке указано: оплачено наличными — 250 рублей, картой — 250 рублей. Покупатель возвращает два товара на сумму 333,34 рубля. В рамках закона кассир может выдать наличными максимум 250 рублей, а остаток (83,34 рубля) обязан отправить на карту. Но наиболее безопасным и простым решением будет вернуть всю сумму 333,34 рубля на карту покупателя.

2. Математическая проблема неделимых копеек

Проанализируем ситуацию, описанную автором темы. Клиент купил 3 одинаковых товара на общую сумму 500 рублей, оплатив 250 рублей наличными и 250 рублей безналичным расчетом. Покупатель возвращает 2 товара.

В исходном чеке позиции разбиваются следующим образом (из-за невозможности разделить 500 на 3 без остатка):

  1. Товар №1: 166.66 руб.
  2. Товар №2: 166.67 руб.
  3. Товар №3: 166.67 руб.

Сумма возврата за две позиции составляет 333.34 рубля. Как разделить эту сумму между наличными и безналичными? Нацело пропорция не делится. Выясним, как решать эту задачу на практике.

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

3. Практические сценарии решения проблемы в 1С:УТ

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

Сценарий 1: Полный возврат чека и повторная продажа (Рекомендуемый)

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

Алгоритм действий кассира:

  1. Оформить полный возврат всего чека. При этом покупателю возвращаются ровно те суммы, которые он заплатил: 250 рублей наличными из кассы и 250 рублей отменяются/возвращаются по терминалу на карту.
  2. Сразу же пробить новый чек только на те позиции, которые покупатель решил оставить у себя. Оплата по новому чеку принимается любым удобным для клиента способом.

Этот способ полностью исключает человеческий фактор, ошибки кассира при расчете лимитов и возможные претензии со стороны налоговой инспекции.

Сценарий 2: Возврат всей суммы частичной позиции на карту покупателя

Если покупатель согласен, то при частичном возврате всю сумму операции (например, 333.34 рубля из нашего примера) можно перечислить на его банковскую карту. Как мы уже выяснили в разделе законодательства, возвращать наличные за безнал нельзя, но возвращать безнал за наличные — абсолютно легально.

Для реализации этого сценария в 1С:Управление торговлей при оформлении документа ВозвратТоваровОтКлиента (или в интерфейсе РМК) кассир указывает вид оплаты «Платежная карта» на всю сумму возврата.

Сценарий 3: Использование автоматического РМК в 1С

В современных конфигурациях 1С (УТ 11, Розница, ERP) встроенное Рабочее место кассира (РМК) умеет самостоятельно контролировать лимиты оплат. Посмотрим на логику работы системы.

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

Программа автоматически подставляет пропорциональные суммы, округляя их до копеек, и жестко блокирует попытки выдать наличными больше положенного лимита.

4. Технический нюанс эквайринга: «Сторно» против «Возврата»

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

5. Как реализовать контроль лимитов программно?

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


// Процедура проверяет превышение лимитов наличных при возврате смешанной оплаты
Процедура ПроверитьЛимитыОплатыПриВозврате(ДокументВозврата) Экспорт
    
    // Получаем данные исходного чека продажи
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЧекПродажи.ОплатаНаличными КАК ИсходныйНал,
        |   ЧекПродажи.ОплатаПлатежнойКартой КАК ИсходныйБезнал
        |ИЗ
        |   Документ.ЧекККМ КАК ЧекПродажи
        |ГДЕ
        |   ЧекПродажи.Ссылка = &СсылкаНаПервичныйДокумент";
        
    Запрос.УстановитьПараметр("СсылкаНаПервичныйДокумент", ДокументВозврата.ДокументОснование);
    Выборка = Запрос.Выполнить().Выбрать();
    
    Если Выборка.Следующая() Тогда
        // Рассчитываем уже возвращенные суммы по этому чеку ранее
        СтруктураПредыдущихВозвратов = ПолучитьСуммыРанееОформленныхВозвратов(ДокументВозврата.ДокументОснование);
        
        ДоступноНаличных = Выборка.ИсходныйНал - СтруктураПредыдущихВозвратов.Наличные;
        
        // Проверяем, не превышает ли текущий возврат наличных доступный лимит
        Если ДокументВозврата.СуммаНаличные > ДоступноНаличных Тогда
            ВызватьИсключение "Ошибка проведения! Сумма возврата наличными (" + ДокументВозврата.СуммаНаличные 
                + ") превышает сумму наличных, оплаченных по чеку покупки (" + ДоступноНаличных + ").";
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры

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

Резюме

Для успешной работы со смешанными оплатами при частичных возвратах в 1С:Управление торговлей рекомендуется придерживаться следующих правил:

  1. Обучить кассиров использовать схему «полный возврат + новая продажа оставшегося товара» как приоритетную и наименее конфликтную.
  2. При невозможности провести полный возврат (например, клиент настаивает на частичном) — оформлять возврат всей суммы на банковскую карту покупателя.
  3. Использовать типовое Рабочее место кассира (РМК) в актуальных версиях 1С, где распределение копеек и контроль лимитов выполняются автоматически на уровне платформы.
← На главную