Документ «Акт сверки взаиморасчётов»

Документ сверяет состояние взаиморасчётов между вашей организацией и контрагентом за период: автоматически тянет обороты по счетам расчётов из бухучёта, рядом показывает данные контрагента, считает расхождение и печатает официальный акт сверки на подпись. Проводок не делает и движений по регистрам не пишет — это информационно-аналитический документ.

Бухгалтерия для Казахстана, ред. 3.0 · v3.0.72.1 · обновлено 2026-06-04

🎯 Что это и зачем

Раз в квартал (или по запросу партнёра) нужно подтвердить, кто кому сколько должен. Бухгалтер берёт обороты по счетам расчётов — 1210/3310, 1610/3510 и т. п. — за период, сопоставляет их с тем, что насчитал у себя контрагент, и фиксирует результат: совпало или есть расхождение. Если всё сошлось — акт подписывают обе стороны, и спор о задолженности закрыт документально.

Документ «Акт сверки взаиморасчётов» автоматизирует ровно это:

Кто работает: бухгалтеры по расчётам с контрагентами, периодически (поквартально / по году / по запросу).

⚠️ Сразу важное. Этот документ не проводится и не влияет на учёт. Он только читает данные и хранит результат сверки. Если вы нашли расхождение — исправлять его нужно в первичных документах (реализациях, поступлениях, оплатах), а не в акте.

🧭 Где найти в программе

Раздел «Продажа» (или «Покупка» — расчёты ведутся с обеих сторон) → список «Акты сверки взаиморасчётов». Откроется журнал документов; новый создаём кнопкой «Создать».

раздел «Продажа», открытый журнал «Акты сверки взаиморасчётов». (AccountingKZ30 во Fresh)
раздел «Продажа», открытый журнал «Акты сверки взаиморасчётов». (AccountingKZ30 во Fresh)
⚠️ Пробел в источниках. В карте навигации проекта (navigation-map.json) маршрут для Документ.АктСверкиВзаиморасчетов не задан — точные название пункта и раздел в левом меню Fresh не зафиксированы в источниках. Ориентир: документ относится к подсистемам «Продажа/Покупка» (расчёты с контрагентами). Проверьте фактическое расположение пункта в своей базе и при необходимости уточните fresh_nav. См. issues.

👤 Часть 1. Для пользователя

Проходим по шагам: от пустого документа до согласованного и распечатанного акта.

Урок 1. Сверка по данным учёта

Когда: плановая сверка расчётов с контрагентом за квартал/год.

Шаг 1. Создаём документ

«Создать». Откроется форма акта. Поле Дата — это дата составления акта.

📷 СКРИН 02
СКРИН 02 — пустая форма «Акт сверки взаиморасчётов».

Шаг 2. Заполняем шапку

заполненная шапка и кнопка «Выбрать период».
заполненная шапка и кнопка «Выбрать период».
⚠️ Период по / Дата окончания. Дата окончания должна быть больше даты начала. Иначе при записи получите ошибку «Дата окончания периода сверки должна быть больше даты начала.» (см. код в Части 2).

Шаг 3. Задаём список счетов сверки

Перейдите на закладку/таблицу «Список счетов» и нажмите «Заполнить по умолчанию» — система подставит стандартный набор счетов расчётов с контрагентами. Галочкой «Участвует в расчётах» включаете/выключаете конкретные счета.

📷 СКРИН 04
СКРИН 04 — таблица «Список счетов» с галочками «Участвует в расчётах».
💡 Подсказка. Хотя бы один счёт должен быть отмечен галочкой — иначе при записи будет сообщение «Неверно задан список счетов, по которым производится сверка».

Шаг 4. Заполняем «свою» сторону

Над таблицей «По данным организации» нажмите «Заполнить по данным бухгалтерского учёта». Запустится фоновое (длительное) заполнение: система соберёт обороты и сальдо по выбранным счетам, контрагенту и периоду.

📷 СКРИН 05
СКРИН 05 — кнопка «Заполнить по данным бухгалтерского учёта» и заполненная таблица «По данным организации».
⚠️ Если таблица уже заполнена, программа спросит: «Перед заполнением табличная часть будет очищена. Заполнить?» — подтвердите, чтобы пересчитать.
💡 Заполнение идёт в фоне: дождитесь его завершения, прежде чем печатать или согласовывать акт.

Шаг 5. Вводим сторону контрагента

Данные партнёра вносим в таблицу «По данным контрагента»: - вручную — построчно из присланного контрагентом акта; либо - кнопкой «Заполнить данные контрагента по данным организации» — программа скопирует вашу таблицу как заготовку (с «зеркальными» дебетом/кредитом), а вы поправите расхождения.

📷 СКРИН 06
СКРИН 06 — таблица «По данным контрагента» и кнопка копирования из данных организации.
💡 Подсказка. Копирование из своих данных удобно, когда расхождений мало: проще подправить пару строк, чем набивать всю таблицу заново.

Шаг 6. Смотрим расхождение и итоги

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

📷 СКРИН 07
СКРИН 07 — блок итогов с полем «Расхождение».
⚠️ Расхождение исправляется в первичке. Сам акт сверки ничего не меняет в учёте. Нашли ошибку — правьте реализацию/поступление/оплату, затем перезаполните акт.

Шаг 7. Записываем

«Записать» или «Записать и закрыть». Документ не проводится — кнопки «Провести» у него нет.

Урок 2. Согласование акта

Когда контрагент подписал акт и расхождений нет:

  1. Заполните Представитель организации (кто подписал с вашей стороны) и Представитель контрагента (контактное лицо партнёра).
  2. Установите флаг «Сверка согласована».
  3. Запишите документ.
📷 (плейсхолдер
(плейсхолдер — флаг «Сверка согласована» и поля представителей)*
⚠️ Блокировка после согласования. Как только флаг включён, почти вся форма становится недоступной для редактирования: контрагент, договор, период, валюта, обе таблицы данных, список счётов, кнопки заполнения, «Выбрать период». Чтобы что-то поправить — сначала снимите флаг «Сверка согласована».

Урок 3. Корректировка периода

  1. Нажмите «Выбрать период» и укажите новые даты.
  2. Если таблицы уже заполнены, программа спросит подтверждение очистки данных «По данным организации» и «По данным контрагента» — подтвердите.
  3. Заново нажмите «Заполнить по данным бухгалтерского учёта».
💡 Аналогично данные сбрасываются при смене Контрагента или Договора — это защита от рассинхронизации: старые обороты не должны «висеть» под новым фильтром.

Урок 4. Печать акта

  1. Откройте документ.
  2. Меню «Печать» → «Акт сверки».
  3. Программа сформирует табличный документ (бланк акта). Просмотрите, при необходимости выгрузите в PDF или распечатайте.
📷 СКРИН 08
СКРИН 08 — печатная форма «Акт сверки».
💡 Подсказка. В печать попадает в том числе текст-шапка вида «Мы, нижеподписавшиеся, … с одной стороны, … с другой стороны, составили настоящий акт…» — то есть готовый юридический бланк, остаётся подписать.

🛠 Часть 2. Для программиста

Источник: реальный код релиза 3.0.72.1 (Documents/АктСверкиВзаиморасчетов/Ext/ObjectModule.bsl — модуль небольшой, 78 строк, приведён ниже почти целиком), плюс Forms/ФормаДокумента/Ext/Form/Module.bsl (1382 стр.), ManagerModule.bsl и разборы objects/ и business-logic/.

Структура объекта

Реквизиты шапки:

Реквизит Тип Обязательность Назначение
Организация Справочник.Организации Обязателен (ShowError) От чьего имени акт
Контрагент Справочник.Контрагенты Обязателен (ShowError) С кем сверяемся
ДоговорКонтрагента Справочник.ДоговорыКонтрагентов Нет Один договор или (пусто) все
ДатаНачала / ДатаОкончания Дата Нет (но критичны) Период сверки
ВалютаДокумента Справочник.Валюты Нет Валюта сумм акта
СтруктурноеПодразделение Справочник.ПодразделенияОрганизаций Нет Подразделение
ОстатокНаНачало Число Нет Сальдо на начало периода
Расхождение Число Нет Разница «организация ↔ контрагент»
СверкаСогласована Булево Нет Признак согласования → блокировка формы
ПредставительОрганизации Справочник.ФизическиеЛица Нет Подписант со стороны организации
ПредставительКонтрагента Справочник.КонтактныеЛица Нет Подписант со стороны контрагента
ВключатьДочерние, ВключатьВнутренниеОбороты, РазбитьПоДоговорам Булево Нет Управление выборкой/группировкой
Комментарий, Ответственный, Автор — Нет Служебные

Табличные части:

ТЧ Ключевые колонки Назначение
ПоДаннымОрганизации Дата, Документ, Дебет, Кредит, Договор Обороты по данным вашего учёта (заполняется автоматически)
ПоДаннымКонтрагента Дата, Документ, Дебет, Кредит, Договор Обороты по данным контрагента (вручную / копией)
СписокСчетов Счет (ПланСчетов.Типовой), УчаствуетВРасчетах (Булево) Какие счета БУ включать в сверку
СписокОрганизаций Организация Перечень организаций для консолидированной сверки

Жизненный цикл (обработчики ObjectModule)

⚠️ Ключевой факт: документ непроводимый. В ObjectModule нет ОбработкаПроведения и ОбработкаУдаленияПроведения, реквизит Проведён не используется, движений по регистрам нет (register_records: []). Поэтому жизненный цикл — это только запись/проверка/заполнение, а «учётный эффект» документа равен нулю.
Обработчик Строк Что делает
ОбработкаЗаполнения 12 При вводе на основании/по шаблону: удаляет служебный Автор из входной структуры, переносит свойства, заполняет шапку (валюта регл. учёта)
ОбработкаПроверкиЗаполнения 25 Проверяет период (ДатаНачала ≤ ДатаОкончания) и непустоту списка счетов сверки
ПередЗаписью 11 Если СписокОрганизаций пуст, а Организация заполнена — добавляет строку в СписокОрганизаций; пропускается при обмене данными
ПриКопировании 3 Ставит Дата = текущая дата пользователя

Обработчики формы (ФормаДокумента) дополняют поведение: ДатаПриИзменении, КонтрагентПриИзменении, ДоговорКонтрагентаПриИзменении — каскадная очистка таблиц с подтверждением; ВалютаДокументаПриИзменении — сброс договора при несовпадении валют; СверкаСогласованаПриИзменении → ИзменитьДоступностьПоСогласованиюСверки — блокировка формы.

Реальный код: ОбработкаПроверкиЗаполнения и ПередЗаписью

Так как проведения нет, ядро серверной логики документа — это валидация и автозаполнение СписокОрганизаций. Привожу реальный код (ObjectModule.bsl):

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

    Если ЗначениеЗаполнено(ДатаНачала) И ЗначениеЗаполнено(ДатаОкончания)
        И ДатаНачала > ДатаОкончания Тогда

        ТекстСообщения = ОбщегоНазначенияБККлиентСервер.ПолучитьТекстСообщения("Поле", "Корректность",
            НСтр("ru = 'Период по'"), , ,
            НСтр("ru = 'Дата окончания периода сверки должна быть больше даты начала.'"));
        ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "ДатаОкончания", "Объект", Отказ);

    КонецЕсли;

    ФильтрСписокСчетов = Новый Массив();

    Для Каждого СтрокаСчета Из СписокСчетов Цикл
        Если НЕ ЗначениеЗаполнено(СтрокаСчета.Счет) ИЛИ НЕ СтрокаСчета.УчаствуетВРасчетах Тогда
            Продолжить;
        Иначе
            ФильтрСписокСчетов.Добавить(СтрокаСчета.Счет);
        КонецЕсли;
    КонецЦикла;

    Если ФильтрСписокСчетов.Количество() = 0 Тогда
        ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Неверно задан список счетов, по которым производится сверка'"), ЭтотОбъект, "СписокСчетов", "Объект", Отказ);
    КонецЕсли;

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

Разбор: - Проверка периода срабатывает только если обе даты заполнены (период не обязателен формально, но без него сверка бессмысленна). При ДатаНачала > ДатаОкончания — Отказ = Истина, текст привязывается к полю ДатаОкончания. - Проверка списка счетов: в ФильтрСписокСчетов отбираются строки, где счёт заполнен и взведена галочка УчаствуетВРасчетах. Если таких нет — отказ записи. То есть пустой или весь «выключенный» список счетов записать нельзя.

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;

    // Заполнение ТЧ СписокОрганизаций
    Если (СписокОрганизаций.Количество() = 0) И (ЗначениеЗаполнено(Организация)) Тогда
        НоваяСтрокаСпискаОрганизаций = СписокОрганизаций.Добавить();
        НоваяСтрокаСпискаОрганизаций.Организация = Организация;
    КонецЕсли;

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

Разбор: при записи нового документа СписокОрганизаций автоматически получает строку с основной организацией — её не нужно заполнять вручную. При загрузке из обмена логика пропускается, чтобы не перетирать выгруженные данные.

Движения по регистрам

Нет. Документ не пишет ни в регистры бухгалтерии (Типовой/Налоговый), ни в регистры накопления/сведений. Вместо движений документ делает следующее:

Вместо движений Где реализовано Что происходит
Чтение оборотов и сальдо ManagerModule.ЗаполнитьПоДаннымБухгалтерскогоУчета (≈374 стр.) Запрос к бухгалтерским итогам по выбранным счетам, контрагенту, периоду; группировка по договорам/валютам; заполнение ТЧ ПоДаннымОрганизации. Работает в привилегированном режиме
Хранение результата сверки Реквизиты + ТЧ документа Сальдо, обороты, расхождение, признак согласования — хранятся в самом документе
Статус СверкаСогласована (Булево) Аналог «проведения»: фиксирует согласование и блокирует форму
Печать ManagerModule.ПечатьАктаСверки (≈623 стр.), макет ПФ_MXL_АктСверки, идентификатор команды печати "АктСверки" Формирует официальный бланк акта (УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию)
💡 Печатная форма (ПолучитьТекстЗапросаДляФормированияПечатнойФормыАктСверки) анализирует первичные документы расчётов — СчётФактураВыданный/СчётФактураПолученный, РеализацияТоваровУслуг, РеализацияУслугПоПереработке, АктОбОказанииПроизводственныхУслуг — то есть собирает движения по взаиморасчётам для бланка.

Логика блокировки формы при согласовании

Это «фирменная» особенность документа. Реальный код (ФормаДокумента, процедура ИзменитьДоступностьПоСогласованиюСверки, сокращённо):

Процедура ИзменитьДоступностьПоСогласованиюСверки(Форма)

    Элементы = Форма.Элементы;
    Объект   = Форма.Объект;

    Элементы.Контрагент.Доступность          = НЕ Объект.СверкаСогласована;
    Элементы.ДоговорКонтрагента.Доступность   = НЕ Объект.СверкаСогласована;
    Элементы.ДатаНачала.Доступность           = НЕ Объект.СверкаСогласована;
    Элементы.ДатаОкончания.Доступность        = НЕ Объект.СверкаСогласована;
    Элементы.ВалютаДокумента.Доступность      = НЕ Объект.СверкаСогласована;
    Элементы.ПоДаннымОрганизации.Доступность  = НЕ Объект.СверкаСогласована;
    Элементы.ПоДаннымКонтрагента.Доступность   = НЕ Объект.СверкаСогласована;
    Элементы.СписокСчетов.Доступность          = НЕ Объект.СверкаСогласована;
    Элементы.ВыбратьПериод.Доступность         = НЕ Объект.СверкаСогласована;
    // ... аналогично: ОстатокНаНачало, ВключатьДочерние, РазбитьПоДоговорам,
    //     кнопки «ЗаполнитьПоДаннымБухгалтерскогоУчета», «ЗаполнитьПоУмолчанию» ...

    Если НЕ Объект.СверкаСогласована Тогда
        Элементы.ДоговорКонтрагента.Доступность = НЕ Объект.ВключатьДочерние;
    КонецЕсли;

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

Разбор: один флаг СверкаСогласована каскадно гасит доступность всех значимых элементов формы. Отдельно: при снятом согласовании поле ДоговорКонтрагента дополнительно блокируется, если включён ВключатьДочерние (сверка по группе компаний — конкретный договор тогда не выбирается).

Валидации

Зависимости (общие модули)

💼 Партнёру / внедренцу.
  1. «Документ не проводится / нет проводок» — это нормально, не баг. Объясните клиенту: акт сверки только читает учёт и хранит результат. Влиять на остатки он не должен.
  2. «Кнопка заполнения недоступна / поля серые» — почти всегда взведён флаг «Сверка согласована». Снимите его, чтобы редактировать.
  3. «Заполнить по данным учёта» возвращает пусто — проверьте: задан ли период, отмечены ли счета галочкой УчаствуетВРасчетах, есть ли вообще обороты по этому контрагенту за период, и есть ли у пользователя право на заполнение (функция работает в привилегированном режиме, но команду нужно запустить).
  4. «Расхождения в печатной форме» — настраивайте не документ, а первичку и список счетов сверки. Состав счетов задаётся в ТЧ СписокСчетов («Заполнить по умолчанию» + ручная правка).
  5. Простая версия конфигурации: ManagerModule.ПолучитьБлокируемыеРеквизитыОбъекта может блокировать ВалютаДокумента — учитывайте при поддержке клиентов на «упрощённой» поставке.
🧩 Заметки для разработчика.
  1. Серверного «ядра проведения» нет — вся «работа» в ManagerModule.ЗаполнитьПоДаннымБухгалтерскогоУчета (чтение) и ПечатьАктаСверки (вывод). Меняете логику сверки — смотрите туда, а не в ObjectModule.
  2. Заполнение — длительная операция; при автоматизации/тестах дожидайтесь ЗаданиеВыполнено, иначе таблицы окажутся пустыми.
  3. Любая правка Контрагент/Договор/Период/Валюта рассинхронизирует таблицы — отсюда каскадные очистки с подтверждением. Это нужно держать в голове при программном заполнении (диалоги придётся обрабатывать или обходить).
  4. СписокОрганизаций заполняется сам в ПередЗаписью — не дублируйте строку вручную.
  5. Печатная форма — Документ.АктСверкиВзаиморасчетов.ПФ_MXL_АктСверки, команда печати "АктСверки" (регистрируется в ДобавитьКомандыПечати); параметры печати — ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов_АктСверки.

🔗 Связанные разделы

🆕 Что нового

Версия Изменение Тип
3.0.72.1 Первичное описание (на релизе 3.0.72.1) 🆕