Автоматизация бизнес-процессов

Один платёж за несколько счетов: как автоматизировать сопоставление платежей

Как распределить один платёж между счетами, сохранить остатки и выделить случаи, требующие решения бухгалтера.

Один платёж за несколько счетов: как автоматизировать сопоставление платежей

Сопоставление платежей со счетами следует начинать с определения плательщика и документов, а затем проверять суммы и остатки. Если один перевод покрывает несколько счетов, система должна сохранить распределение по документам. Если суммы недостаточно, неоплаченная часть счёта остаётся открытой. Неясный платёж нельзя относить на первый счёт с похожей суммой. Задача автоматизации — безопасно обрабатывать подтверждаемые соответствия и готовить остальные случаи к решению человека. Описанная ниже модель помогает финансовому руководителю определить эти границы до заказа интеграции.

Почему сумма платежа не служит достаточным идентификатором

У клиента может быть несколько счетов на одинаковую сумму. В назначении платежа может быть указан номер договора, старый счёт или только название компании. Даже точное совпадение общей суммы не доказывает, что клиент оплатил именно выбранную системой комбинацию документов. При нескольких открытых счетах одну сумму иногда можно получить разными способами.

Поэтому до автоматического сопоставления нужно определить, какую информацию компания считает достаточной. Явно указанные номера счетов вместе с известным плательщиком дают иное основание, чем только сумма и похожее название. Если платит третье лицо, например компания группы, его связь с получателем счёта нужно проверить отдельно. Совпадающая часть юридического наименования не заменяет эту проверку.

Это более узкая задача, чем построение всего процесса от заявки до счёта. Счёт уже существует, деньги получены. Нужно определить, какие обязательства покрывает платёж и что после него остаётся неясным.

Сопоставление платежей со счетами: какие данные связывать

При проектировании полезно разделить банковскую операцию, счёт и распределение платежа. Банковская операция хранит полученную сумму, валюту, дату, сведения о плательщике и внешний идентификатор. У счёта есть свой идентификатор, клиент, валюта и текущий открытый остаток. Запись распределения связывает эти две записи и показывает, какая часть платежа отнесена на конкретный документ.

Такая модель позволяет одному платежу покрывать несколько счетов, а одному счёту — получать несколько платежей. Одно поле «оплачено» не объясняет эти отношения. Без распределения впоследствии трудно понять, возник ли остаток из-за частичной оплаты, неверного сопоставления или отменённой операции.

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

В требованиях нужно учесть и недостающую информацию. Если банковская выписка не даёт надёжного идентификатора клиента, зафиксируйте это как ограничение, а не заменяйте необоснованной догадкой. Сохраняйте исходное назначение платежа рядом с нормализованной версией, чтобы бухгалтер мог проверить, что получила система и какие выводы сделала из текста.

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

Названия статусов также требуют общего толкования. «Получен», «распределение предложено» и «распределение подтверждено» — разные состояния работы. Пользователь должен знать, какое из них уже влияет на остаток счёта. Если внешняя система ещё не приняла результат, интерфейс не должен показывать распределение оплаты как завершённое. Отразите эту границу и в отчётах, а не только в техническом журнале.

Последовательность правил: от явной ссылки до проверки человеком

Начните со ссылки на документ, связи плательщика с клиентом и валюты. Затем проверьте, открыты ли указанные счета и не использован ли платёж в другом распределении. Только после этого оценивайте суммы. Точную последовательность должен утвердить ответственный за финансы: платёжные практики компаний различаются.

Группу автоматически обрабатываемых случаев нужно определить узко. Например, в неё можно включить платёж с явными ссылками на счета, подтверждённым соответствием клиента, одинаковой валютой и полным покрытием указанных остатков. Здесь не нужно угадывать, какой счёт имел в виду клиент. Остаётся проверить, что названные документы и суммы по-прежнему соответствуют друг другу.

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

Убедительно выглядящий показатель уверенности тоже не заменяет отсутствующее основание. Оператор должен видеть, какие данные совпали, каких нет и почему случай не подтверждён автоматически. Если система использует распознавание текста или ИИ, такую рекомендацию нельзя приравнивать к доказанному намерению плательщика.

Пять демонстрационных платежей с остатками

Представим клиентов Alfa и Beta. Идентификаторы и суммы ниже вымышлены для демонстрации. В каждой строке используются отдельные счета, поэтому таблица может служить небольшим набором приёмочных тестов. Все платежи и счета — в EUR, без комиссий, кредит-нот и пересчёта валюты.

Платёж и его основание

Открытые счета до обработки

Предлагаемое распределение

Что остаётся и кто решает

M1: Alfa платит 900 EUR, в назначении R1 и R2

R1: 600 EUR; R2: 300 EUR

На R1 отнести 600 EUR, на R2 — 300 EUR

Оба остатка 0 EUR; автоматически только после остальных проверок соответствия

M2: Alfa платит 200 EUR, в назначении R3

R3: 500 EUR

На R3 отнести 200 EUR

По R3 остаётся 300 EUR; частичная оплата

M3: Alfa платит 550 EUR, в назначении R4

R4: 500 EUR

На R4 отнести 500 EUR

В платеже остаётся 50 EUR; бухгалтер выясняет дальнейшее распределение

M4: Alfa платит 300 EUR без ссылки на счёт

R5: 300 EUR; R6: 300 EUR

Ничего не распределять

300 EUR остаётся нераспределёнными; нужно уточнение

M5: Beta платит 400 EUR, в назначении указан R7 клиента Alfa

R7 клиента Alfa: 400 EUR

Ничего не распределять

400 EUR остаётся нераспределёнными; нужно проверить связь плательщика и основание

M1 показывает один платёж за несколько счетов. M2 отделяет полное использование полученного платежа от полной оплаты счёта. M3 не даёт основания автоматически переносить переплату на следующий документ. M4 и M5 показывают случаи, в которых даже точное совпадение суммы не даёт достаточного ответа.

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

Частичная оплата, переплата и разницы требуют разных действий

При частичной оплате остаётся остаток требования. При переплате остаётся нераспределённая часть платежа, основание для которой ещё нужно определить. Комиссия, скидка, кредит-нота или курсовая разница требуют другого объяснения. Автоматически списывая все расхождения, система может получить аккуратный нулевой остаток, но потерять смысл хозяйственной операции.

Документация Odoo 19 по банковской сверке иллюстрирует различие: меньший платёж может оставить часть счёта открытой, а у большего платежа может сохраниться несверенный остаток. Это пример конкретного продукта. Возможности вашей системы и необходимые проводки нужно проверить с её поставщиком и бухгалтером.

Кнопка, отмечающая документ как полностью оплаченный, тоже не просто визуальное удобство. В описании частичных платежей Odoo такой выбор может создать проводку на сумму разницы. В правилах компании чётко отделите сохранение остатка от его погашения обоснованной учётной операцией.

Если нужен допуск на округление, определите валюту, основание и права подтверждения. Один числовой предел нельзя незаметно применять к любой валюте и типу операции. Эта статья не определяет бухгалтерское или налоговое решение для конкретной разницы. Она помогает сформулировать требования к системе, чтобы решение не принималось случайно.

Очередь неясных платежей, с которой можно работать

В списке исключений недостаточно сообщения «совпадение не найдено». Желательно показывать банковскую операцию, исходное назначение, найденные счета, доступные остатки и причину блокировки. Ответственный должен быстро отличать отсутствующий номер счёта от несовпадения клиента или устаревшего остатка.

Назначьте ответственного и следующее действие: уточнить у клиента, проверить учёт или дождаться документа. Сохраните ссылку на полученное объяснение и автора решения. Ответ клиента по электронной почте может помочь разобраться с одним платежом, но не должен автоматически становиться общим правилом для будущих операций.

Когда человек подтверждает распределение, система должна повторно проверить остатки. Иначе два сотрудника могут одновременно использовать одну часть платежа. Если состояние изменилось, подтверждение нужно остановить и показать новую ситуацию, а не незаметно подгонять сумму.

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

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

Решение по исключению не стоит прятать в длинном текстовом поле. Запишите выбранный счёт, распределённую сумму, ссылку на основание и дальнейшее действие с остатком. Свободный комментарий может объяснить ситуацию, но проверяемое распределение нужно сохранить в структурированном виде. Тогда другой сотрудник сможет продолжить работу, не перечитывая всю переписку и не угадывая смысл прежнего решения.

Как проверить интеграцию до автоматического изменения статусов

Начните с обезличенной выборки банковских операций и счетов, для которой бухгалтер уже подтвердил правильные распределения. Сначала разрешите системе только предлагать их. Сравните предложения с проверенным результатом и запишите причины ошибочных вариантов. Высокая доля автоматически обработанных записей не является хорошим результатом, если среди них есть ошибочно оплаченные счета.

Включите в приёмочные проверки повторную загрузку одной выписки, изменение остатка счёта перед подтверждением и две одновременные попытки операторов. Отдельно проверьте повреждённый или неполный импорт. Система должна объяснять, не получила ли она данные, не нашла ли распределение или не смогла сохранить уже подтверждённый результат.

Особенно важен сбой в момент сохранения. Перед повторным действием нужно выяснить, выполнила ли учётная система предыдущий запрос. Предотвращение дубликатов защищает от повторного распределения, но не отвечает на вопрос, правильно ли изначально выбран счёт. Обе проверки нужны отдельно.

В контрольном представлении сравнивайте полученную, распределённую и ещё нераспределённую суммы по каждой валюте. Обращайте внимание на долго неразрешённые исключения и исправленные автоматические сопоставления. Они показывают, какие правила нужно уточнить. Это не основание снижать требования к доказательствам ради сокращения списка.

В конце пробного периода выберите и те случаи, которые намеренно останутся за человеком. Для редкого сложного платежа может не требоваться отдельное автоматическое правило. Важнее вовремя его заметить и передать сотруднику с понятными данными. Решение о расширении автоматизации принимайте по результатам анализа конкретных ошибок и ручной работы, а не из желания получить совершенно пустой список исключений.

С чего начать в компании

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

Если нужна помощь, оценку возможностей автоматизации бизнес-процессов можно начать именно с такого примера. Цель — договориться, что разрешено подтверждать автоматически, а что требует проверки человеком. Только после этого имеет смысл выбирать технологию интеграции и объём внедрения.