Автоматическая сверка платежей

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

Определения

Проведенный платеж – платеж, который проведен в ручном режиме или через интеграцию (в сделке у данного платежа нажат тумблер "Прошёл" или стоит пометка, что платеж проведен с интеграции).

Плановый платеж – платеж, который указан в сделке, но не проведен.

Стартовые платежи – плановые и проведенные платежи, отраженные в Домопланере на момент получения выгрузки по конкретному расчетному счету, по которому пришла выгрузка.

Старт и конец периода выгрузки – начальная и конечная дата, в рамках которых переданы платежи в конкретной выгрузке. Далее по тексту (СПВ и КПВ)

Алгоритм

Рассмотрим пример. Пришла выгрузка с датами с 08.01.2024 (СПВ) по 06.02.2024 (КПВ).

Шаг 0. Запоминаем сумму плановых и проведенных стартовых платежей в рамках сделки по РС. Назовем эту сумму эталонной.

Шаг 1. Удаляем из стартовых платежей все проведенные платежи по расчетному счету с 08.01.2024 (СПВ) по 06.02.2024 (КПВ) включительно.

Даже если в ДП уже были проведенные платежи с 08.01.2024 (СПВ) по 06.02.2024 (КПВ), мы их удаляем. Так как предполагается, что в загружаемой выгрузке мы видим самую актуальную информацию на момент загрузки (платежи могли быть удалены, изменены по дате и сумме).

Шаг 2. Удаляем все плановые платежи до 06.02.2024 (КПВ) включительно.

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

Шаг 3. Добавляем новые платежи из выгрузки в базу ДП как проведенные.

Шаг 4. Считаем сумму всех проведенных платежей по РС в рамках сделки.

В данном случае период с 08.01.2024 (СПВ) по 06.02.2024 (КПВ) неважен. Мы считаем все проведенные платежи, до, во время, и после. Назовем эту сумму  актуальные проведенные платежи.

Далее идут шаги "ЕСЛИ". Результат выполнение может попасть только в один из них.

Если 4.1. 

Актуальные проведенные платежи равны или больше эталонной суммы, то удаляем все оставшиеся плановые если они были, сохраняем платежи и выходим.

Если 4.2.

Актуальные проведенные платежи меньше эталонной суммы, и нет плановых платежей то, необходимо создать плановый платеж в размере: Эталонная сумма минус актуальные проведенные платежи = плановый платеж. Такой плановый платеж устанавливается на текущий календарный день, чтобы вы могли заметить расхождение в таблице поступлений и спланировать данный платеж верно.

Сохраняем получившийся массив: актуальные проведенные платежи и плановый платеж и выходим.

Если 4.3.

Актуальные проведенные платежи меньше эталонной суммы и есть плановые платежи, то рассчитываем сумму дебиторской задолженности: Эталонная сумма минус актуальные проведенные платежи.

Далее идет разветвление пункта 4.3.:

┗ Если 4.3.1. 

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

┗ Если 4.3.2. 

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

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

┗ Если 4.3.3.

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

Если плановый платеж был один, то он будет просто уменьшен.

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

Сохраняем актуальные проведенные платежи, уменьшенные плановые платежи. Выходим.

Результат чтения

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

Результат чтения – письмо, которое содержит:

– Исходный файл с выгрузкой, который был считан
– Ошибки чтения. Например, в выгрузке есть платеж по ДДУ №345, а в Домопланере сделки с таким номером договора нет.
– Общая сумма новых поступлений и декомпозиция по каждой сделке.

Ответ отправляется на почты, которые указаны в настройках интеграции

Исключение и замена данных

В настройках соответствующей интеграции есть вкладки "Исключение данных" и "Замена данных"С помощью них вы можете убрать из чтения конкретные сделки, или же заменить какие-то данные на другие (например, если в 1С или в банке невозможно сменить данные, а в Домопланере вы ведете корректно)

Исключение данных
Замена данных