В моей практике решения по импорту банковских выписок в SAP часто сталкиваются со следующими проблемами: сервисы коммуникации с банками разрабатываются «под каждый банк» при одновременном сохранении унаследованных сценариев загрузки файлов из систем «Банк‑клиент», загружаемые данные выписок не используются для управления остатками денежных средств (денежной позицией), а разнесение входящих платежей выполняется уже после обработки выписки. Всё это во многом обесценивает переход на новый технологический уровень обмена данными через сервисы коммуникации с банками.

Данная публикация открывает серию материалов, посвященных автоматическому импорту банковских выписок в SAP с использованием функциональности FEB_FILE_HANDLING (New Bank Statement Import). В центре внимания — как выстроить в системе единый сквозной процесс обработки выписок: от получения файлов из банков до автоматического разнесения платежей с оперативным предоставлением информации для управления остатками денежных средств (денежной позиции).

Данные материалы будут полезны SAP‑консультантам и архитекторам, работающим с модулями FI и Cash Management, а также специалистам казначейства и финансовых служб по банковским выпискам, разнесению платежей и управлению ликвидностью.

Рис. 1. Обзорная схема импорта банковских выписок
Рис. 1. Обзорная схема импорта банковских выписок

На обзорной схеме импорта банковских выписок (Рис. 1) выделены три ключевые проблемы, с которыми в моей практике, сталкиваются компании при разработке и поддержке решений по импорту банковских выписок в систему SAP:

  • «Спагетти»-интеграция с банками – фрагментированная коммуникация с банками со множеством каналов связи, включая простую передачу файлов из систем «Банк-клиент», а также разнообразия форматов выписок;

  • Обработка выписок как «черный ящик» – ограниченная видимость денежных потоков выписок, когда данные выписок не могут быть использованы для прогнозирования и управления остатками денежных средств (денежной позиции);

  • «Узкое место» разнесения платежей – низкий уровень автоматического разнесения входящих платежей при обработке выписок, вплоть до откладывания разнесения на этап после обработки выписки.

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

В дальнейших материалах последовательно разбирается, как использовать функциональность FEB_FILE_HANDLING для реализации «единой точки входа» для импорта банковских выписок из разных источников в разных форматах, включая промежуточные выписки в течение дня, а возможности бизнес-функции FIN_BL_EB_1 (Import and Postprocessing of Electronic Bank Statement) для реализации автоматического разнесения входящих платежей непосредственно при импорте и обработке выписки.

В данной публикации дается описание функциональности FEB_FILE_HANDLING (New Bank Statement Import) и демонстрируется пример импорта банковской выписки через транзакцию FEB_FILE_HANDLING.

Функциональные возможности FEB_FILE_HANDLING

Функциональность FEB_FILE_HANDLING доступна в SAP, начиная с версии SAP EhP 6 for SAP ERP 6.0. В отличие от классической программы RFEBKA00 (транзакция FF.5), обрабатывающей отдельные файлы банковских выписок в режиме диалога, FEB_FILE_HANDLING позволяет автоматизировать процесс импорта электронных банковских выписок следующим образом:

  • Файлы выписок выбираются по логическому пути, не требуя имени файла - это обеспечивается настройкой папок для импорта, записи, архивирования и обработки ошибочных файлов на сервере приложений;

  • Выбор файлов выписок по логическому пути позволяет планировать фоновые задания для периодического импорта выписок - FEB_FILE_HANDLING изначально спроектирован под фоновый запуск и не требует выбора файлов в диалоге;

  • Пользователю не нужно вручную указывать формат файла выписки - форматы выписок определяются настройками источников импорта, описанными ниже: один и тот же механизм обрабатывает разные форматы (XML, MT94x, BAI, текстовые форматы, специфические для стран) при наличии соответствующего преобразования;

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

  • Для формирования проводок используется стандартная логика проводок банковских выписок - На этапе проводки выписки вызывается классическая RFEBKA00, только в автоматическом режиме без участия пользователя, сохраняя обычную последовательность проводки электронных банковских выписок.

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

Рис. 2 показывает применение FEB_FILE_HANDLING для импорта банковских выписок через сервисы коммуникации с банками.

Рис. 2. Схема импорта банковских выписок через FEB_FILE_HANDLING
Рис. 2. Схема импорта банковских выписок через FEB_FILE_HANDLING

Задачей сервисов коммуникации с банками (SAP Multi‑Bank Connectivity, H2H‑соединения, EBICS‑шлюзы или собственные интеграционные решения) является получить файлы выписок из банковских систем, обеспечить транспортную защиту и положить эти файлы в согласованный каталог на сервере приложений SAP.

На уровне архитектуры важно чётко разделять каналы связи с банками и контур импорта выписок в SAP. Сервисы коммуникации (SAP Multi‑Bank Connectivity, H2H‑соединения, EBICS‑шлюзы или собственные интеграционные решения) только доставляют файлы выписок в согласованный каталог на сервере приложений SAP, но не выполняют их импорт. Разделение файлов на заголовки и позиции, а также импорт выписок в систему выполняются на стороне SAP (S/4HANA или ERP) через программу FEB_FILE_HANDLING, которая в автоматическом режиме вызывает классическую RFEBKA00 для формирования проводок.

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

Конфигурация импорта банковских выписок

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

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

Длина логического пути (до 60 символов) позволяет гибко настроить структуру логических путей для поддержки любой структуры каталогов на сервере приложений.

Настройки, относящиеся к программе FEB_FILE_HANDLING, находятся в IMG по следующему пути: Financial Accounting -> Bank Accounting -> Payment Transactions -> Electronic Bank Statement -> Settings for the Data Import.

Настройка состоит из следующих шагов:

1. Define Import Parameters

Для логического пути вводится:

  • имя логического пути;

  • описание, идентифицирующее назначение этого пути;

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

    o   Import Files – для импорта файлов;

    o   Store Files (Append to Existing File) – для сохранения файлов;

    o   Store Files (Overwrite Existing File) – для сохранения файлов;

    o   Store Files (Append Counter to Existing Files Names) – для сохранения файлов;

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

  • каталог, указывающий точный путь к файлам на сервере приложений;

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

  • имя файла или шаблон файла.

Рис. 3. Определение логического пути
Рис. 3. Определение логического пути

2. Define Import Parameters

В параметрах импорта для логических путей импорта выписок, созданных на шаге 1, определяются:

  • формат входящего файла выписки;

  • целевые логические пути Storage Path и Path for Errors, в которые файлы должны быть перемещены после обработки – либо в папку архива после успешной загрузки, либо в папку ошибок, если обработка не удалась;

  • Кодировка файла, при необходимости.

Рис. 4. Определение параметров импорта
Рис. 4. Определение параметров импорта

3. Define Posting Parameters

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

Параметры проводки включают в себя:

  • Account Balance Statement разделяет выписки на итоговые выписки, которые проводятся в учете, и промежуточные выписки в течение дня, которые отражаются только в финансовой диспозиции;

  • Mode определяет, проводятся ли импортированные выписки или нет:

o   Import and Post

o   Import and Post Bank Accounting

o   Import and Create Batch Input

Эти режимы устанавливаются для импорта и проводки итоговых выписок.

При автоматическом импорте выписок целевым сценарием является, конечно, режим Import and Post, однако для этого режима требуется и автоматическое разнесение платежей 2й области проводок выписки.

o   Only Import Bank Statement

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

Рис. 5. Определение параметров проводки
Рис. 5. Определение параметров проводки

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

В следующем сценарии демонстрируется базовый вариант использования FEB_FILE_HANDLING: «ручной» импорт файла банковской выписки в формате XML, предварительно загруженного в каталог на сервере приложений SAP.

Сценарий 1. Импорт банковской выписки «вручную» через транзакцию FEB_FILE_HANDLING

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

Рис. 6. Просмотр файла выписки в каталоге сервера приложений через транзакцию AL11
Рис. 6. Просмотр файла выписки в каталоге сервера приложений через транзакцию AL11

1.  Импорт банковской выписки с сервера приложений

Транзакция: FEB_FILE_HANDLING

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

Рис. 7. Экран выбора программы FEB_FILE_HANDLING
Рис. 7. Экран выбора программы FEB_FILE_HANDLING

Опции управления выводом соответствуют классической RFEBKA00; в рамках данного сценария они не рассматриваются. Параметры проводки задаются в настройке Define Posting Parameters, а не на экране выбора.

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

Рис. 8. Журнал сообщений
Рис. 8. Журнал сообщений

2.  Импорт банковской выписки с сервера приложений

Транзакция: FEB_FEB_BSPROC / FEBAN

На заключительном шаге сценария проведенные позиции выписки просматриваются в транзакции постобработки FEB_FEB_BSPROC / FEBAN:

Рис. 9. Загруженные и обработанные позиции выписки
Рис. 9. Загруженные и обработанные позиции выписки

В этой публикации рассмотрены основные функциональные возможности FEB_FILE_HANDLING для автоматического импорта банковских выписок, описана конфигурация (логические пути, параметры импорта и проводки), а также продемонстрирован пример «ручной» загрузки файла выписки с сервера приложений.

Расширение функциональности FEB_FILE_HANDLING: что дальше в цикле

Функциональность FEB_FILE_HANDLING изначально спроектирована для автоматического импорта файлов банковских выписок с сервера приложений SAP, куда эти файлы поступают через сервисы коммуникации с банковскими системами. Загрузка файлов с локальных рабочих станций стандартными средствами FEB_FILE_HANDLING не поддерживается, что отдельно подчеркивается в SAP Note 1769749 «New Bank Statement Import (FEB_FILE_HANDLING)».

Чтобы реализовать на основе FEB_FILE_HANDLING действительно «единую точку входа» для всех каналов связи, включая загрузку выписок из систем «Банк-клиент», и для любых форматов, включая текстовые форматы, специфические для стран, требуется расширение стандартной функциональности. Описанию этих расширений посвящена следующая публикация, в которой будут рассмотрены:

  • Структура задействованных BAdI для автоматического импорта банковских выписок;

  • Реализация «параллельного» импорта текстовых форматов выписок, в том числе специфических для стран;

  • Загрузка банковских выписок с локальных рабочих станций с обработкой через FEB_FILE_HANDLING.

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

Ваши комментарии и вопросы

  • Насколько тема импорта банковских выписок, например, для миграции с унаследованных решений, основанных на классической RFEBKA00, актуальна для ваших систем?

  • Используется ли в ваших системах FEB_FILE_HANDLING как основное решение для импорта банковских выписок?

  • Какие форматы выписок предоставляют банки? Насколько банки ушли от специфических для себя XML-форматов, как это было несколько лет назад, в связи с переходом на ISO 20022?

  • Загружаются ли в ваших системах промежуточные выписки в течение дня, и используются ли эти выписки для обновления данных денежной позиции и/или для оперативного разнесения входящих платежей?

  • Возникли ли у вас вопросы по конфигурации и применению функциональности вас FEB_FILE_HANDLING при чтении статьи?

Буду рад обсудить эти вопросы в комментариях и учесть их в следующих публикациях цикла.