Почему при проведении возврата от клиента в 1С:УТ 11 автоматически формируется взаимозачет задолженности

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

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

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

Как работает механизм автоматического распределения оплат (ФИФО)

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

Давайте разберем стандартную цепочку событий по шагам:

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

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

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


РегистрНакопления.РасчетыСКлиентамиПоДокументам:
- Измерения: Партнер, Контрагент, Договор, ЗаказКлиента, Документ
- Ресурсы: Сумма, Оплачено, КОплате
- Реквизиты: ХозяйственнаяОперация ("Возврат товаров от клиента", "Взаимозачет задолженности")

Почему это происходит не по всем документам возврата

Давайте проанализируем ситуацию, описанную автором темы на форуме. У него по одной части документов формируется только одна строка («Возврат товаров от клиента»), а по другой — целая пачка строк с взаимозачетами. Это абсолютно закономерное поведение, которое зависит от трех ключевых условий:

  1. Наличие иных неоплаченных долгов у контрагента. Если у клиента на момент проведения возврата нет никаких других неоплаченных заказов или реализаций по данному договору, то освободившийся аванс просто «зависает» на исходной накладной возврата. Система не видит, куда еще можно перенаправить деньги, поэтому формируется единственная строка возврата. Если же у клиента висит долг по другой сделке, система мгновенно распределит средства туда, создав записи взаимозачета.
  2. Способ привязки платежей. Очень часто приходные кассовые ордера или поступления на расчетный счет регистрируются в базе без указания конкретного документа отгрузки — «в целом по договору». При таком подходе жесткой связи «оплата-отгрузка» нет. Программа вынуждена при каждом проведении документов пересчитывать всю цепочку распределения ФИФО заново. Любое проведение возврата задним числом приводит к лавинообразному пересчету и генерации множества виртуальных движений.
  3. Настройки детализации расчетов. Если в договоре или соглашении с клиентом установлен вариант детализации «По договорам», система считает все отгрузки и оплаты в рамках этого договора единым котлом. В таком режиме автоматические переброски неизбежны.

Решение 1: Использование ручного зачета оплат

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

Рассмотрим, как зафиксировать оплату вручную:

  1. Откроем документ возврата или исходную накладную, по которой образовалась переплата.
  2. На панели навигации документа нажмем кнопку «Зачет оплаты».
  3. В открывшейся форме перейдем на вкладку «Неиспользованные авансы». Здесь мы увидим все доступные платежи, которые можно связать с этой сделкой.
  4. Выберем нужный платежный документ, укажем сумму вручную и нажмем кнопку «Зачесть платеж».

После ручной привязки регламентное задание ФИФО больше не будет трогать эти документы, так как связь между оплатой и отгрузкой будет жестко зафиксирована пользователем. Виртуальные строки взаимозачета в регистре перестанут появляться.

Решение 2: Изменение детализации расчетов в договоре

Давайте разберем более глобальный способ решения проблемы, который исключит автоматическую переброску средств между накладными на уровне настроек нормативно-справочной информации (НСИ).

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

  1. Перейдем в раздел «CRM и маркетинг» или «Продажи» и откроем справочник Договоры контрагентов.
  2. Найдем договор нужного клиента и откроем его.
  3. На вкладке «Взаиморасчеты» найдем поле «Детализация расчетов».
  4. По умолчанию там часто установлено значение По договорам. Нам нужно изменить его на По заказам или По накладным.

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

Решение 3: Переход на новую онлайн-архитектуру взаиморасчетов

Наиболее современным и технологичным решением является переход на новую архитектуру взаиморасчетов (так называемый «Онлайн-режим»), которая появилась в версиях УТ, начиная с 11.4.6. При ее использовании распределение расчетов по документам происходит мгновенно в момент проведения документов (в транзакции), а не откладывается на регламентное задание.

Давайте проанализируем преимущества онлайн-режима:

Для включения онлайн-режима выполним следующие действия в интерфейсе программы:

  1. Перейдем в меню «НСИ и администрирование» -> «Настройка НСИ и разделов».
  2. Выберем раздел «Казначейство и взаиморасчеты».
  3. В блоке настроек «Взаиморасчеты» установим режим ведения взаиморасчетов в положение «Онлайн».

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

← На главную