IDE + MCPАнализ расчётов
Нашли причину «зависшего» долга 3 200 рублей на счёте 62: им оказался обеспечительный платёж двухлетней давности
Коротко
У клиента-ИП на абонентском обслуживании на счёте 62.01 числился долг 3 200 рублей, хотя сумма реализаций, выставленных счетов и поступивших оплат совпадала до копейки — 525 450 рублей по каждой позиции. Агент разобрал расчёты по документам и нашёл причину: ещё в марте 2024 года по одному счёту на 6 400 рублей прошло два платежа по 3 200 рублей, причём второй был с назначением «обеспечительный платёж». Такой платёж не закрывает выручку, поэтому реализация первого месяца осталась недозакрытой на 3 200 рублей, и это расхождение почти два года переносилось от месяца к месяцу. Клиент получил точную сумму, причину и три варианта решения на выбор.
Что требовалось
Руководитель помнила, что у клиента есть расхождение примерно на 3 500 рублей, но не знала, где именно оно находится. По акту сверки в целом всё выглядело оплаченным, при этом карточка счёта 62 показывала долг. Задача — найти, по какому счёту оплата прошла меньше выставленной суммы, и определить причину.
Как помог агент
Агент сверил между собой три величины — общую сумму реализаций, сумму выставленных счетов и сумму всех поступивших оплат — и убедился, что они совпадают: 525 450 = 525 450 = 525 450. Поскольку оплаты не меньше реализаций, фактической недоплаты у клиента нет, а значит долг возник по другой причине.
Затем агент развернул сальдо по счёту 62.01 в разрезе документов и увидел, что долг 3 200 рублей отнесён на майскую реализацию 2026 года. Но май был оплачен полностью, поэтому стало ясно, что корень расхождения лежит раньше: оплата мая частично ушла на закрытие более старого долга, а сама майская реализация осталась недозакрытой.
Двигаясь к самому первому месяцу обслуживания, агент нашёл причину. В марте 2024 года по счёту № 14 на 6 400 рублей поступило два платежа по 3 200 рублей: первый — обычная оплата по счёту, второй — с назначением «обеспечительный платёж». Обеспечительный платёж — это возвратный депозит по договору, а не оплата текущих услуг, поэтому он не пошёл в зачёт расчётов с покупателем. В результате реализация первого месяца оказалась закрыта только наполовину, и недостающие 3 200 рублей почти два года переносились на следующие периоды, пока не «осели» на последней реализации.
Перед тем как что-либо менять, агент остановился: решение о том, чем считать этот платёж — авансом за услуги или возвратным депозитом, — относится к компетенции руководителя. Поэтому вместо самовольных правок агент подготовил три варианта решения с готовым планом действий по каждому: переразнести платёж как обычную оплату (долг закроется в ноль), уменьшить мартовскую реализацию до 3 200 рублей с сохранением депозита как обязательства к возврату, либо оставить остаток как технический. Каждый шаг анализа подтверждён данными базы. Вся работа выполнена прямо в рабочей базе, без программиста и без установки дополнительных обработок.
Результат
- Точная сумма расхождения установлена — 3 200 рублей (изначально клиент помнил порядок величины «около 3 500»).
- Найден первоисточник долга — счёт № 14 от 07.03.2024 и поступивший по нему обеспечительный платёж на 3 200 рублей.
- Объяснено, почему при долге на счёте 62 общие суммы при этом сходятся: обеспечительный платёж входит в общие поступления, но не закрывает выручку.
- Подтверждено: реализации, счета и оплаты совпадают — 525 450 рублей по каждой позиции, фактической недоплаты у клиента нет.
- Расхождение, существовавшее около двух лет, разобрано до причины, и клиенту переданы три готовых варианта решения на выбор.
1. Контекст
Клиент - ИП на абонентском бухгалтерском обслуживании с марта 2024 года, договор № 20240301. Тариф увеличивался по месяцам (от 5-6 тыс. в 2024 году до 34-38 тыс. в 2026 году), плюс разовые услуги. За период более двух лет - 28 реализаций, 29 действующих счетов, 31 платёж.
Запрос был сформулирован так: «найди в её счетах, что может быть на 3 500, и выведи, в каком счёте оплата прошла меньше». Руководитель помнила о расхождении приблизительно на 3,5 тыс., но не указала, где именно оно находится.
Симптомы:
- предполагаемая недоплата около 3 500;
- по акту сверки в целом всё выглядит оплаченным;
- карточка счёта 62 показывает долг.
2. Обращение заказчика
«Найди в её счетах, что может быть на 3500.00. И выведи, в каком счёте есть, а оплата прошла меньше?»
Сумма в запросе (3 500) оказалась приблизительной: в базе расхождение составляло 3 200. Руководитель помнила порядок величины, а агент определил точное значение и его причину.
3. Исследование
3.1 Сводный замер: счета против оплат против реализаций
Первым шагом выполнены три параллельных запроса: все счета, все поступления (с назначением платежа), все реализации.
ВЫБРАТЬ Номер, Дата, СуммаДокумента, НазначениеПлатежа, ПометкаУдаления, Проведен
ИЗ Документ.ПоступлениеНаРасчетныйСчет
ГДЕ Контрагент = &К
УПОРЯДОЧИТЬ ПО Дата
| Поток | Сумма |
|---|---|
| Реализации (28 шт.) | 525 450 |
| Счета действующие (29 шт.) | 525 450 |
| Оплаты (31 шт.) | 525 450 |
По суммам данные полностью совпадают. Если бы клиент фактически недоплатил, оплаты были бы меньше реализаций. Они равны - следовательно, чистого долга быть не должно.
3.2 Данные счёта 62
ВЫБРАТЬ Счет.Код КАК Счет, СуммаОстатокДт КАК Дт, СуммаОстатокКт КАК Кт
ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(, , , Субконто1 = &К)
ГДЕ Счет.Код В ("62.01","62.02")
| Счёт | Дт | Кт |
|---|---|---|
| 62.01 | 3 200 | - |
Долг 3 200, аванса на 62.02 нет. При равенстве сумм это означает, что один из платежей не был отнесён на счёт расчётов 62 как «оплата от покупателя».
Технический момент - остаток рассматривается по 62.01 и 62.02 раздельно. Предопределённый счёт «РасчётыСПокупателями» в виртуальной таблице - это 62.01, авансы на 62.02 он не отражает. Запрос выполняется по субконто-контрагенту с явным фильтром
Счет.Код В ("62.01","62.02"), иначе переплаты не отображаются и картина искажается.
3.3 На каком документе висит долг
Счёт 62.01 развёрнут по третьему субконто - документам расчётов:
ВЫБРАТЬ Субконто2 КАК Договор, ПРЕДСТАВЛЕНИЕ(Субконто3) КАК ДокРасч,
СуммаОстатокДт КАК Дт, СуммаОстатокКт КАК Кт
ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(, , , Субконто1 = &К)
ГДЕ Счет.Код = "62.01"
| Документ расчётов | Дт |
|---|---|
| Реализация 0000-000167 от 04.05.2026 | 3 200 |
Долг отнесён на майскую реализацию 2026 года. При этом май оплачен полностью (счёт 177 на 38 000, оплата 174 на 38 000). Следовательно, долг возник не в мае: по FIFO майская оплата частично направлена на закрытие более раннего долга, а сама майская реализация осталась недозакрытой на 3 200. Требовалось определить самый ранний месяц, в котором оплата за услуги прошла в сумме меньше счёта.
3.4 Причина: март 2024
Внимание обращает на себя первый месяц. По счёту № 14 (07.03.2024) на 6 400 прошло два платежа:
№012 от 13.03.2024 3 200 «ОПЛАТА ПО СЧЕТУ № 14 ОТ 07.03.2024…»
№013 от 13.03.2024 3 200 «ОПЛАТА ПО СЧЕТУ № 14… ОБЕСПЕЧИТЕЛЬНЫЙ ПЛАТЕЖ»
Обеспечительный платёж - это возвратный депозит (залог по договору), а не оплата текущих услуг. Он проведён минуя счёт расчётов с покупателем, поэтому по счёту № 14 как «оплата от покупателя» отнесено только 3 200 из 6 400. Реализация первого месяца (6 400) осталась недозакрытой на 3 200, и это расхождение в течение двух лет переносилось по FIFO от месяца к месяцу, пока не было отнесено на последнюю реализацию.
Технический момент - причина совпадения сумм при наличии долга. Обеспечительный платёж входит в общую сумму поступлений (поэтому 525 450 = 525 450), но не входит в оборот «оплата от покупателя» по 62. На 62 числится оплат 522 250 против реализаций 525 450 - разница 3 200 составляет долг. Сумма документов и оборот по счёту - разные величины; сверять следует именно оборот по 62.
4. Решения
Перед внесением изменений агент приостановил работу: определение природы обеспечительного платежа относится к компетенции руководителя. Поэтому вместо внесения правок без подтверждения агент представил три варианта с подготовленным планом действий по каждому.
4.1 Варианты, вынесенные на решение заказчика
Вариант 1. Обеспечительный платёж фактически является авансом за услуги. Переразнести его как обычную «оплату от покупателя» → долг 3 200 закроется в ноль.
Вариант 2. Это возвратный депозит. В этом случае реализация марта 2024 (6 400) завышена - фактическая услуга составляла 3 200. Уменьшить реализацию первого месяца до 3 200 → долг закроется, а депозит останется обязательством к возврату.
Вариант 3. Долг 3 200 является техническим и предусмотрен учётом - оставить без изменений.
Каждый вариант представляет собой конкретную последовательность операций (batch_1c UPDATE суммы реализации с перепроведением либо смена счёта учёта в поступлении), готовую к исполнению после выбора. Запись в базу не выполнялась до ответа заказчика.
4.2 Подготовка к сворачиванию сальдо
Независимо от выбранного варианта, развёрнутое сальдо (долг на одной реализации при отсутствии аванса) сворачивается стандартным приёмом: распровести все документы договора одним пакетом UNPOST и провести заново по одному строго в хронологическом порядке.
Технический момент - перепроведение по одному документу.
batch_1cисполняет пакет в параллельном режиме; при массовом перепроведении документов одного контрагента это приводит к ошибке «Неустранимый конфликт блокировок». ПоэтомуUNPOSTвыполняется одним пакетом, аPOST- поштучно (единичный вызов идёт в режиме sync). Зачёт по FIFO выполняется корректно: оплата зачитывается против более раннего долга, реализация - против более раннего аванса.
5. Инструменты
5.1 Использованные в данном кейсе
| Инструмент | Назначение |
|---|---|
query_1c |
Три сводных замера (счета/оплаты/реализации), остаток 62.01+62.02, разворот по документам расчётов, разбор оплат марта 2024 |
session_info_1c |
Контекст сессии и базы |
5.2 Не задействованы в данном кейсе, но доступны
| Инструмент / компонент | Назначение | Применение |
|---|---|---|
batch_1c (UPDATE + POST) |
Правка суммы реализации / переразноска платежа | После выбора варианта - исполнение в один шаг |
invoke_1c |
Объектные методы конфигурации | При необходимости типового перерасчёта документа |
| Audit-trail runtime | Журнал вызовов с токеном клиента | Подтверждение каждого шага правки по обращению |
6. Результаты
| Метрика | Значение |
|---|---|
| Источник долга установлен | счёт № 14 от 07.03.2024, обеспечительный платёж 3 200 |
| Срок существования расхождения | около 2 лет, перенесено на реализацию 05.2026 по FIFO |
| Сумма реализаций / счетов / оплат | 525 450 = 525 450 = 525 450 |
| Долг на 62.01 | 3 200 (причина установлена, ожидается решение по варианту) |
| EPF в рабочую базу / обращений к Конфигуратору | 0 / 0 |
7. Что это даёт пользователю MCP ai-agent-1c
- Определяет причину, а не симптом. Долг 3 200 отражается в любом отчёте. Агент установил, из какого платежа двухлетней давности он возник и почему общая сумма при этом совпадает.
- Разграничивает суммы поступлений и проводки. Сумма поступлений и оборот по 62 - разные величины; агент сверяет именно то, что формирует сальдо.
- Приостанавливает работу перед бизнес-решением. В случаях, требующих решения заказчика (депозит или оплата), агент готовит варианты с планом, а не вносит правки без подтверждения.
Приложения
A. Объекты кейса
| Объект | Результат анализа |
|---|---|
| Счёт № 14 от 07.03.2024 (6 400) | Определён как точка расхождения |
| Поступление № 013 (3 200, «обеспечительный платёж») | Установлен как причина недозачёта |
| Реализация 0000-000167 от 04.05.2026 | Документ, на который перенесён долг 3 200 |
| Остаток 62.01 | Развёрнут по документам расчётов |
B. Карта проблемы
«где-то недоплата ~3 500» + суммы сходятся 525 450 = 525 450
│
▼
62.01 долг 3 200, аванса нет ── разворот по документам расчётов
│
▼
долг на реализации 05.2026, но май оплачен → FIFO, корень раньше
│
▼
март 2024: счёт 6 400 ← 3 200 оплата + 3 200 ОБЕСПЕЧИТЕЛЬНЫЙ ПЛАТЕЖ
│
▼
депозит не закрывает выручку → недозачёт 3 200 ── решение за человеком ✅