Сверить счёт с переданными подтверждёнными платежами
Робот «Сверить счёт с переданными подтверждёнными платежами» сравнивает учтённую оплату счёта с явным реестром платежей и показывает расхождения.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую задачу решает
Финансовому специалисту и автору процесса сверки одного счёта с подготовленным перечнем платежей.
Общий учтённый платёж может отличаться от суммы подтверждённых поступлений. Робот сравнивает эти значения, исключает ожидающие и отменённые платежи и не рассчитывает окончательный остаток по неполному реестру.
Параметры и подготовка
| Поле | Как заполнить |
|---|---|
Единая валюта, код из трех латинских букв (CURRENCY) |
Обязательное поле |
Число дробных знаков: 0–6 (SCALE) |
Обязательное поле |
Идентификатор счёта (INVOICE_ID) |
Обязательное поле |
Сумма счёта (INVOICE_TOTAL) |
Обязательное поле |
Учтённая оплата счёта (RECORDED_PAID) |
Обязательное поле |
Реестр полный: Y/N (SOURCE_COMPLETE) |
Обязательное поле |
Реестр платежей (JSON) (PAYMENTS) |
Обязательное поле |
Перед настройкой выберите, откуда процесс получит каждое значение: постоянная настройка, поле карточки или результат предыдущего шага. Подписи в таблице соответствуют полям робота. Коды в скобках помогают различать похожие параметры при передаче данных между шагами.
Как использовать
- Укажите идентификатор счёта, его сумму, уже учтённую оплату, валюту и точность 0–6.
- Передайте PAYMENTS массивом с уникальными id, invoiceId, amount, currency и state. Поддерживаются confirmed, pending и reversed; учитывается только confirmed.
- Явно задайте SOURCE_COMPLETE=Y или N. Ставьте Y только когда подготовленный источник действительно полон для этой сверки.
- После успешного статуса проверьте complete и reconciled. Для неполного реестра используйте только известную подтверждённую сумму и список исключений; пустые остатки не заменяйте нулями.
Как заполнить JSON-поля
Реестр платежей (JSON) (PAYMENTS)
[
{
"id": "P1",
"invoiceId": "I-DEMO",
"amount": "60.00",
"currency": "RUB",
"state": "confirmed"
}
]
До 1000 платежей с уникальными id. invoiceId совпадает с INVOICE_ID. state: confirmed/pending/reversed. Суммы строковые и в CURRENCY. [] допустим; полнота задаётся отдельно SOURCE_COMPLETE.
Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.
Учебный пример и ожидаемый результат
INVOICE_ID=I-DEMO, INVOICE_TOTAL=100.00, RECORDED_PAID=60.00, CURRENCY=RUB, SCALE=2, SOURCE_COMPLETE=Y. PAYMENTS=[{"id":"P1","invoiceId":"I-DEMO","amount":"60.00","currency":"RUB","state":"confirmed"}]. Ожидаются knownPaid=60.00, remaining=40.00, overpaid=0.00, recordedDifference=0.00 и положительная сверка. При SOURCE_COMPLETE=N окончательные остатки и расхождение пустые.
Пример показывает подготовленные учебные данные. Фактический результат зависит от переданных значений и доступных данных вашего процесса.
Что возвращает и как продолжить процесс
- «Известная подтверждённая оплата» (
knownPaid). - «Неоплаченный остаток» (
remaining). - «Переплата» (
overpaid). - «Учтённая минус подтверждённая оплата» (
recordedDifference). - «Реестр полный» (
complete). - «Учтённая оплата совпала» (
reconciled). - «Учтённые платежи» (
confirmedIds), список значений. - «Неучтённые платежи» (
excludedIds), список значений.
Разница recordedDifference означает учтённую оплату минус подтверждённую. Отрицательное значение показывает, что подтверждённая сумма больше учтённой. pending и reversed перечисляются в excludedIds; они не увеличивают knownPaid.
Выход «Статус выполнения» проверяйте перед передачей результата дальше. При отрицательном статусе прочитайте «Пояснение ошибки» и направьте процесс на исправление исходных данных. Успешный статус подтверждает выполнение действия; содержательные признаки результата проверяйте отдельно.
Ограничения и разбор ошибок
Принимает идентификатор счёта, сумму счёта, учтённую оплату, валюту, точность 0–6, признак полноты реестра Y/N и до 1000 платежей JSON: id/invoiceId/amount/currency/state. Учитываются только state=confirmed; pending и reversed перечисляются отдельно. При неполном реестре остаток, переплата и расхождение остаются неизвестными. Возвращает известную подтверждённую сумму и результаты сверки. Не загружает платежи из CRM и не подтверждает их подлинность; источник и полноту задаёт автор процесса. Пустой полный реестр: корректный ноль. Денежные значения передаются точными строками, неотрицательны и меньше 10^24.
Подпись confirmed берётся из переданного источника: робот не проверяет подлинность платежа в банке. Он не меняет счёт и не записывает оплату. Пустой полный реестр допустим и означает нулевую подтверждённую оплату для этой сверки.