Electronic Bank Statement Integration (SAP S4 HANA)

In the article, we will go through different aspects related to Electronic Bank Statement (EBS) integration with SAP S4 HANA. First, we will have a look at the system integration architecture of message exchange between banks and SAP ERP. Then, at the integration solution design from an SAP perspective: how messages are encoded/decoded by systems, the variety of systems in the integrated landscape, and their functionalities. Finally, we will dive into the SAP configuration overview of the SAP ABAP programs that process and post EBS, FEB_FILE_HANDLING.

What is EBS?

EBS stands for Electronic Bank Statement. EBS contains bank transactions in an electronic format. EBS messages transmit bank transactional data between banks and companies fast, reliably, and accurately. This allows banks and companies to automate bank transaction processing and minimize manual interactions.

Different Types of EBS Formats

There are several EBS formats like MT940, MT942, MultiCash, BAI, etc. Most commonly used formats are MT940 and BAI.

MT940 is a SWIFT banking communication standard. Prefix MT of the name MT940 stands for the message type. As of now, MT940 is an unstructured data format similar to an EDI (Electronic Data Interchange) file. However, SWIFT has a plan to update the data format to XML in the future.

To find more about the data structure of MT940, refer to this post.

BAI is another EBS format used worldwide. BAI files exchange cash management balance data between systems. You can find more information about the file formats, such as filer header, data structure, identifiers, trailers, etc. in this article.

Use of EBS in S4 HANA Integrations

overview system integration landscape diagram of SAP S4 HANA and banks
SAP S4 HANA and Bank integration overview

It is common in medium- to large-scale organizations to have an automated data exchange with banks via an external Treasury Management System (TMS). Treasury management service providers such as BELLIN have their own Treasury Management Systems (TMS).

TMS exchanges data with banks in various data formats, such as SWIFT, EBIC, BAI, etc. TMS systems then translate data formats and exchange the data with SAP S4 HANA.

From SAP or the organization perspective, there are two types of messages exchanged.

  1. Inbound – Electronic Bank Statement
  2. Outbound – Payment Data

SAP supports multiple EBS formats, such as MultiCash, SWIFT, BAI, or XML.

Electronic Bank Statement

Module FI-BL of SAP includes data processing functionality to automatically post incoming EBS from banks. EBS contains incoming payment transaction information. SAP can be configured to process EBS files in multiple formats, including MultiCash, SWIFT MT940, or XML.

Payment Data

Payment data message communicates transaction details of vendor invoices settled by the organization and SAP generates these payment data messages. SAP carries out payment data generation via transaction F110. The program behind transaction F110 is usually scheduled once a week or once a month to automatically process payment data and generate the outbound payment data file.

F110 can be configured to generate outbound payment files in formats MultiCash, SWIFT MT100, or XML. SAP has provided a set of tools under DME (Data Medium Exchange) that can customize the data format of these outgoing payment files.

The Architecture of Bank Integration with SAP S4 HANA

The above diagram depicts a typical integrated landscape between banks and S4 HANA. Depending on the integration capabilities of TMS, messages can be communicated in different protocols such as AS2, HTTPS, SFTP, etc.

SAP PI/PO (Process Orchestration) or CPI (Cloud Platform Integration) acts as the middleware that connects and routes EBS messages from TMS to SAP S4 HANA and vice versa. SAP middleware converts the EBS file to Base64 format and transfers the messages to AIF (Application Integration Framework) layer of SAP S4 HANA.

AIF layer decodes the Base64 messages and stores the EBS in SAP file share location AL11. SAP EBS processing ABAP program can now pick up and post the transactions to HANA database tables.

SAP ABAP programs FEB_FILE_HANDLING or RFEBKA00 can process EBS and save the documents to HANA DB. AIF action triggers these ABAP programs once the EBS statements are saved to SAP file share AL11. FI posting of bank statements is created according to FI configuration.

The Difference Between FEB_FILE_HANDLING and RFEBKA00

RFEBKA00 is the ABAP program behind the SAP transaction FF_05. This program can process EBS files, however, if at least one statement of the EBS file contains an error, the whole file will not be processed. Before the whole file can be processed, users should resolve the errors.

FEB_FILE_HANDLING first splits the EBS file into individual bank statements. Further processing is done at an individual bank statement level. Hence, you can configure the program in such a way that, if erroneous statements are found in an EBS file, these erroneous statements are separated into a different file while letting the other statements in the file be processed into SAP.

This program has a reprocessing option that picks up these erroneous statements once the issues are resolved. This mechanism avoids the whole EBS file being errored out due to a few erroneous transactions.

Configuration of Program FEB_FILE_HANDLING

If you are using RFEBKA00 for manual EBS processing, these configurations are not required. These configuration activities should be completed only if you are utilizing automatic EBS processing functions of FEB_FILE_HANDLING.

At a high-level, the following configuration tasks should be completed in order to use FEB_FILE_HANDLING:

  1. Define logical paths for file storage and import.
  2. Configure import parameters.
  3. Assign house banks.
  4. Configure posting parameters.

However, there is one optional configuration step – define transform information – which should be configured only if you need to forward the EBS.


1. Configuration of Logical Paths

Under this configuration step, you need to define the logical paths, in which EBS files are read and stored. For example, a logical path to store EBS files that are ready to be imported and processed, a logical path to store archived files, and another logical path to store erroneous files.

To define logical paths, go to the following SPRO node in S4 HANA:

Financial Accounting -> Bank Accounting -> Business Transactions -> Payment Transactions -> Electronic Bank Statement -> Settings for the Data Import -> Define Logical Paths

SPRO view to configure logical path names used in FEB_FILE_HANDLING
Define logical path name
SAP SPRO configuration view to define usage, directory and file name of logical path - FEB_FILE_HANDLING
Configure directory and usage of the logical path

Under detailed parameters of the logical paths, you are able to specify the AL11 directory associated with the logical path. Additionally, you can define the usage of the directory, whether the path is utilized to import files or to store files.

FEB_FILE_HANLDING directory usage types. Store, import,etc - SAP SPRO view
Configure the usage of the directory

2. Define Import Parameters

Within this step, we define the format of the EBS (MultiCash, SWIFT, BAI, etc.) and the logical directories EBS are imported from or stored in. Additionally, the code page of the bank statement is defined in this step.

Go to the following SPRO node to configure import parameters:

Financial Accounting -> Bank Accounting -> Business Transactions -> Payment Transactions -> Electronic Bank Statement -> Settings for the Data Import -> Define Import Parameters

SAP SPRO node to configure import parameters of the logical path. Format, storage path, path for errors and code page.
Import parameters of logical path

3. Define Posting Parameters

Here you can define the EBS processing characteristics at a house bank level.

The following processing options are available:

  • Only import account statement (the posting report is only called in test mode)
  • Import and Post
  • Import and Post Bank Accounting
usage option of EBS as a drop down list. Store files (Append), store files (overwrite), Store files (append counter), import
Usage options of the logical path and EBS

You can maintain these settings at a company code, house bank, and account ID level.

SAP configuration to define the behavior of EBS processing at company code, house bank and account ID level.
Posting parameters at company code, house bank, and account ID

At EBS processing runtime, the system looks for an entry in the following order:

  1. Company code, house bank, and account ID
  2. Company code and house bank
  3. Company code
  4. Company code, house bank, and account ID have not been filled

If the system runtime does not find an entry, the program will not download the bank statements storage location.

You can navigate to following SPRO node to define posting parameters:

Financial Accounting -> Bank Accounting -> Business Transactions -> Payment Transactions -> Electronic Bank Statement -> Settings for the Data Import -> Define Posting Parameters

Once the file is loaded, posting of FI documents happens according to the FI configuration.

To summarize, we looked at the definition of electronic bank statements, different types of EBS messages, integration architecture, and integration design from an SAP perspective. Additionally, we went through the functionalities and configuration overview of FEB_FILE_HANDLING.

If you have worked on EBS integration, please, share your feedback as a comment. Also, leave a comment below if you need any clarification.

4 thoughts on “Electronic Bank Statement Integration (SAP S4 HANA)

  1. Muhammad Usman says:

    you elaborated very beautifully, its really appreciated. can you please explain the Directory concept, in which scenario or conditions we assign the Directory path in sap? let say, will i receive the mt940 in storage directory and i am telling the system to import the MT940 file from the assigned location during program run. right?
    Muhammad Usman

  2. Chris Lee says:

    Hi, great information. I’m working with CAMT 053. It creates new statements that have errored out.
    Do you have any insight on the setup for reprocessing these errors? Thanks.

Leave a Reply

Your email address will not be published. Required fields are marked *