Как подтягиваются счета на оплату в выписки при загрузке из клиент-банка в 1С

Бухгалтер 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При загрузке выписок из программ «Клиент-Банк» или «Исполняемый модуль Клиент-Банка» пользователи часто сталкиваются с ситуацией, когда документ «Счет на оплату» в поступающих платежах не заполняется автоматически. Выясним, по каким правилам программа 1С сопоставляет входящие платежи с выставленными счетами, почему при наличии нескольких неоплаченных документов поле остаётся пустым и как можно настроить или доработать этот процесс.

Анализ работы типового алгоритма подбора счетов

Рассмотрим, как функционирует встроенная логика сопоставления платежей в типовых конфигурациях 1С (таких как «1С:Бухгалтерия 8», «1С:ERP» или «1С:Комплексная автоматизация»). При импорте файла выписки программа выполняет следующие операции:

  1. Синтаксический разбор поля «Назначение платежа»: Алгоритм ищет ключевые слова (например, «счет», «сч.», «№») и идущие за ними числовые или буквенно-числовые комбинации.
  2. Фильтрация найденных документов: Поиск счета в базе данных производится строго в контексте текущей Организации, Контрагента (определяемого по ИНН/КПП) и Договора (если его удалось корректно сопоставить). При этом анализируются только счета со статусом «Не оплачен» или «Оплачен частично». Проведенные полностью или отмененные документы игнорируются.
  3. Обработка ситуаций с несколькими счетами: Если по контрагенту числится два и более неоплаченных документа, а в строке назначения платежа номер счета не распознан или указан неточно, типовой механизм намеренно оставляет поле «Счет на оплату» пустым. Автоматический выбор по порядку (FIFO) в типовой логике отключен, чтобы исключить риск ошибочной привязки оплаты к чужому или неактуальному счету.

Причины, по которым счет не заполняется автоматически

Проанализируем основные факторы, из-за которых автоматический подбор документов-оснований может дать сбой:

1. Разночтения в номерах и служебных префиксах
В 1С номера документов часто содержат лидирующие нули и префиксы (например, 0000-000123 или ПР-123). Если покупатель указывает в назначении платежа короткий номер (например, «Оплата по счету №123»), типовой алгоритм сравнения строк может не найти совпадения.

2. Оплата нескольких счетов одним платежом
Если плательщик указывает в одной платежке несколько документов (например, «по счетам №10 и №11»), типовая загрузка выписки не расщепляет одну строчку на несколько документов-оснований. В этом случае подбор сбрасывается или считывается только первый найденный номер.

3. Использование латиницы и опечаток
Использование латинских букв вместо кириллических в буквенных индексах номеров также приводит к тому, что подстройка поиска не находит документ в базе.

Где найти код подбора в Конфигураторе

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

В конфигурации «1С:Бухгалтерия 8» (ред. 3.0) основной код анализа и поиска документов расположен в общих модулях:

ЗагрузкаВыпискиПоБанковскомуСчету
ЗагрузкаВыпискиПоБанковскомуСчетуПереопределяемый
БанковскиеПравила

В комплексных решениях («1С:ERP», «1С:Комплексная автоматизация», «1С:Управление торговлей») логика сопоставления расчетов безналичных платежей находится в модулях подсистемы казначейства и обмена с банками, например:

ОбменСБанкамиСервер

Варианты решения и варианты доработки

Посмотрим на практические способы, позволяющие автоматизировать или упростить разнесение банковской выписки:

Вариант 1. Использование расширения конфигурации

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

  1. Очистку входящих номеров от лидирующих нулей и буквенных префиксов перед поиском.
  2. Поиск счета по регулярным выражениям (RegEx) под особенности заполнения назначения платежа конкретными контрагентами.
  3. Алгоритм автоподбора по правилу FIFO (привязка оплаты к самому старому неоплаченному счету контрагента, если номер счета не указан явно).

Вариант 2. Переход на сервис DirectBank

Использование прямого обмена с банком через 1С:ДиректБанк (вместо текстовых файлов выгрузки 1c_to_kl.txt и kl_to_1c.txt) позволяет получать более детализированные данные о платеже в структурированном виде, что повышает точность работы встроенных алгоритмов подбора.

Вариант 3. Использование внешних обработок разнесения выписки

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

← На главную