Почему не схлопываются счета 60.01 и 60.02 по одному договору в 1С:КА 2.4 и как это исправить

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

Проблема развернутого сальдо на счетах учета расчетов с контрагентами (60, 62) — одна из самых частых «головных болей» пользователей систем 1С:ERP и 1С:Комплексная автоматизация 2.4. Ситуация, когда по одному и тому же договору висит одновременно и дебет, и кредит, а документ Взаимозачет задолженности не формирует проводок или не видит остатков, требует глубокого анализа не только бухгалтерских проводок, но и регистров оперативного учета. Для автоматического поиска таких ошибок в учете можно использовать отчет для проверки расчетов и поиска развернутого сальдо.

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

Причина 1: Разная детализация расчетов в договоре

Первым делом проанализируем настройки договора с контрагентом. В программах поколения 2.4 (ERP/КА) существует несколько вариантов детализации расчетов:

  1. По договорам: Самый простой вариант, при котором система должна автоматически зачитывать авансы в рамках всего договора.
  2. По заказам: Зачет происходит только в рамках конкретного документа Заказ поставщику или Заказ клиента.
  3. По накладным: Расчеты ведутся в разрезе конкретных документов поступления или реализации.

Если в договоре установлена детализация По заказам или По накладным, то счета 60.01 и 60.02 не «схлопнутся» автоматически, если оплата привязана к одному заказу, а поступление — к другому (или оформлено без заказа). Система воспринимает их как два независимых объекта учета.

Причина 2: Расхождение в регистрах оперативного учета

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

Рассмотрим основные регистры, которые необходимо проверить:

Проанализируем ситуацию: если в одном регистре сумма числится по объекту расчетов «Договор», а в другом по объекту расчетов «Заказ», система не сможет провести автоматический зачет. Чтобы выявить расхождения, сформируйте отчет «Ведомость расчетов с поставщиками», установив в настройках максимальную группировку (Объект расчетов, Аналитика учета по партнерам). Для автоматизации проведения зачета авансов при расхождениях по объектам расчетов подойдет обработка для зачета авансов в УТ, КА и ERP.

Причина 3: Влияние режима «Онлайн взаиморасчеты»

В версии 2.4 был внедрен новый режим — Онлайн взаиморасчеты. В этом режиме за формирование движений по зачету авансов отвечает фоновое задание. Разберем возможные сложности:

  1. Зависание фонового задания: Если задание «Расчет взаиморасчетов» по какой-то причине не выполнилось или выдало ошибку, документ Взаимозачет задолженности проведется, но не создаст проводок Дт 60.01 Кт 60.02.
  2. Очередь заданий: Проверьте состояние регистра Задания к распределению расчетов. Если он переполнен, системе требуется время, чтобы «переварить» данные и сформировать проводки.

Переход на онлайн-взаиморасчеты не является «волшебной таблеткой». Если до перехода в базе уже были ошибки аналитики, онлайн-режим их не исправит автоматически, а иногда может и усугубить визуальное расхождение сальдо.

Причина 4: Скрытые аналитические разрезы

Иногда счета не закрываются из-за аналитики, которая не видна в стандартной ОСВ без специальной настройки. Проанализируем следующие параметры:

Алгоритм исправления ситуации

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

Шаг 1: Проверка объекта расчетов

Выясним, что именно система считает «Объектом расчетов» в конкретных документах (платежке и поступлении). Для этого в каждом документе на вкладке «Взаиморасчеты» (или в расшифровке платежа) посмотрите поле Объект расчетов. Они должны быть идентичны.

Шаг 2: Анализ ведомости расчетов

Сформируйте отчет Ведомость расчетов с поставщиками. В настройках отчета (через «Изменить вариант») добавьте в группировку строк поле Объект расчетов. Если вы видите, что сумма «зависла» на разных объектах (например, на двух разных Заказах), вам необходимо воспользоваться документом Взаимозачет задолженности.

Шаг 3: Правильное заполнение Взаимозачета

При создании документа Взаимозачет задолженности:

  1. Выбирайте тип операции «Взаимозачет организации с поставщиком» (или аналогичный для клиента).
  2. Используйте только кнопку «Подобрать по остаткам». Не вводите строки вручную! Если кнопка не находит остатки, значит, в регистрах (оперативном учете) задолженности в данной аналитике нет.
  3. Если нужно «схлопнуть» долг между разными объектами расчетов (например, перекинуть оплату с одного заказа на другой), выбирайте тип операции «Произвольный взаимозачет».

Шаг 4: Техническая проверка системы

Если аналитика верна, а проводок нет, выполните следующие действия:

Пример анализа ситуации через код

Для программистов, пытающихся понять, почему документ не делает движений, полезно проанализировать запрос в модуле менеджера или объекта, который собирает данные для проведения. Часто проблема кроется в проверке остатков по регистру РасчетыСПоставщикамиПоСрокам. Если остаток в регистре меньше, чем сумма в документе (даже на 1 копейку из-за округлений), проводки могут не сформироваться.

Посмотрим на пример логики, которую можно использовать во внешней обработке для поиска «разрывов» между БУ и регистром:


// Пример схематичного запроса для поиска расхождений
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|   ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
|   ХозрасчетныйОстатки.Субконто2 КАК Договор,
|   ХозрасчетныйОстатки.СуммаОстаток КАК СуммаБУ,
|   РасчетыСПоставщикамиОстатки.СуммаОстаток КАК СуммаРегистр
|ИЗ
|   РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщиками), , ) КАК ХозрасчетныйОстатки
|       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСПоставщиками.Остатки(&Период, ) КАК РасчетыСПоставщикамиОстатки
|       ПО ХозрасчетныйОстатки.Субконто1 = РасчетыСПоставщикамиОстатки.АналитикаУчетаПоПартнерам.Партнер
|ГДЕ
|   ХозрасчетныйОстатки.СуммаОстаток <> ЕСТЬNULL(РасчетыСПоставщикамиОстатки.СуммаОстаток, 0)";

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

Резюме: Чтобы 60.01 и 60.02 схлопывались корректно, необходимо обеспечить единство Объекта расчетов во всех документах цепочки и следить за чистотой регистров оперативного учета. В 1С:КА 2.4 простого наличия проводок на счете недостаточно для работы механизмов автоматического зачета.

← На главную