Проблема развернутого сальдо на счетах учета расчетов с контрагентами (60, 62) — одна из самых частых «головных болей» пользователей систем 1С:ERP и 1С:Комплексная автоматизация 2.4. Ситуация, когда по одному и тому же договору висит одновременно и дебет, и кредит, а документ Взаимозачет задолженности не формирует проводок или не видит остатков, требует глубокого анализа не только бухгалтерских проводок, но и регистров оперативного учета. Для автоматического поиска таких ошибок в учете можно использовать отчет для проверки расчетов и поиска развернутого сальдо.
В этой статье мы подробно разберем, почему система ведет себя подобным образом, и выработаем алгоритм исправления ситуации.
Первым делом проанализируем настройки договора с контрагентом. В программах поколения 2.4 (ERP/КА) существует несколько вариантов детализации расчетов:
Заказ поставщику или Заказ клиента.Если в договоре установлена детализация По заказам или По накладным, то счета 60.01 и 60.02 не «схлопнутся» автоматически, если оплата привязана к одному заказу, а поступление — к другому (или оформлено без заказа). Система воспринимает их как два независимых объекта учета.
Важно понимать ключевой принцип работы 1С:КА 2.4: бухгалтерский учет вторичен, оперативный учет (регистры) — первичен. Если в ОСВ по счету 60 вы видите одинаковые суммы, а документ Взаимозачет задолженности при нажатии кнопки «Подобрать по остаткам» ничего не находит, значит, в регистрах накопления данные разделились по разным измерениям.
Рассмотрим основные регистры, которые необходимо проверить:
Расчеты с поставщикамиРасчеты с поставщиками по документамРасчеты с поставщиками по срокамПроанализируем ситуацию: если в одном регистре сумма числится по объекту расчетов «Договор», а в другом по объекту расчетов «Заказ», система не сможет провести автоматический зачет. Чтобы выявить расхождения, сформируйте отчет «Ведомость расчетов с поставщиками», установив в настройках максимальную группировку (Объект расчетов, Аналитика учета по партнерам). Для автоматизации проведения зачета авансов при расхождениях по объектам расчетов подойдет обработка для зачета авансов в УТ, КА и ERP.
В версии 2.4 был внедрен новый режим — Онлайн взаиморасчеты. В этом режиме за формирование движений по зачету авансов отвечает фоновое задание. Разберем возможные сложности:
Взаимозачет задолженности проведется, но не создаст проводок Дт 60.01 Кт 60.02.Задания к распределению расчетов. Если он переполнен, системе требуется время, чтобы «переварить» данные и сформировать проводки.Переход на онлайн-взаиморасчеты не является «волшебной таблеткой». Если до перехода в базе уже были ошибки аналитики, онлайн-режим их не исправит автоматически, а иногда может и усугубить визуальное расхождение сальдо.
Иногда счета не закрываются из-за аналитики, которая не видна в стандартной ОСВ без специальной настройки. Проанализируем следующие параметры:
Если вы столкнулись с тем, что взаимозачет не отрабатывает, выполните следующие шаги:
Выясним, что именно система считает «Объектом расчетов» в конкретных документах (платежке и поступлении). Для этого в каждом документе на вкладке «Взаиморасчеты» (или в расшифровке платежа) посмотрите поле Объект расчетов. Они должны быть идентичны.
Сформируйте отчет Ведомость расчетов с поставщиками. В настройках отчета (через «Изменить вариант») добавьте в группировку строк поле Объект расчетов. Если вы видите, что сумма «зависла» на разных объектах (например, на двух разных Заказах), вам необходимо воспользоваться документом Взаимозачет задолженности.
При создании документа Взаимозачет задолженности:
Если аналитика верна, а проводок нет, выполните следующие действия:
Взаимозачет задолженности позже, чем даты документов, образующих сальдо.Для программистов, пытающихся понять, почему документ не делает движений, полезно проанализировать запрос в модуле менеджера или объекта, который собирает данные для проведения. Часто проблема кроется в проверке остатков по регистру РасчетыСПоставщикамиПоСрокам. Если остаток в регистре меньше, чем сумма в документе (даже на 1 копейку из-за округлений), проводки могут не сформироваться.
Посмотрим на пример логики, которую можно использовать во внешней обработке для поиска «разрывов» между БУ и регистром:
// Пример схематичного запроса для поиска расхождений
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
| ХозрасчетныйОстатки.Субконто2 КАК Договор,
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаБУ,
| РасчетыСПоставщикамиОстатки.СуммаОстаток КАК СуммаРегистр
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщиками), , ) КАК ХозрасчетныйОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСПоставщиками.Остатки(&Период, ) КАК РасчетыСПоставщикамиОстатки
| ПО ХозрасчетныйОстатки.Субконто1 = РасчетыСПоставщикамиОстатки.АналитикаУчетаПоПартнерам.Партнер
|ГДЕ
| ХозрасчетныйОстатки.СуммаОстаток <> ЕСТЬNULL(РасчетыСПоставщикамиОстатки.СуммаОстаток, 0)";
Такой анализ поможет быстро выявить контрагентов, по которым «разъехались» регистры и бухгалтерский учет, что и является первопричиной неработающих взаимозачетов.
Резюме: Чтобы 60.01 и 60.02 схлопывались корректно, необходимо обеспечить единство Объекта расчетов во всех документах цепочки и следить за чистотой регистров оперативного учета. В 1С:КА 2.4 простого наличия проводок на счете недостаточно для работы механизмов автоматического зачета.