Import of bank statements in Fiori
Here is another post, where I’d like to share a couple of details about SAP’s functionality. This post as many others that I share deals with functionalities around bank statement processing. Please also check out my other posts. I hope you’ll find something interesting for you.
If you already have some experience with bank statements in S4 HANA & Fiori, this post might not provide anything useful for you. But I decided it would be a good starting point before I publish my subsequent post that is related to this them and builds upon these insights.
SAP Fiori is a new user interface introduced by SAP. It is a major selling point behind SAP S/4 HANA and is supposed to provide a “delightful & seamless” experience for end users. Whether this statement accurately reflects the actual user experience is debatable and might be an interesting subject for a long discussion. But whether you like Fiori or not, you should get yourself familiarized with the latest features & functionalities provided by SAP. The purpose of this post is to provide an overview of the functionalities around import of bank statement via Fiori launchpad. I’ll describe baseline configuration for import of bank statement in S4 HANA & provide some additional technical details that might help you during troubleshooting of potential problems.
Overview of the Fiori App
SAP provided a dedicated Fiori App F1680 “Manage Incoming Payment Files” for upload of various incoming payment files. This app can be used as a central access point to upload bank statements in various formats, lockbox batches, payment rejections, intraday statements, or payment files for Advanced Payment Management. You can follow this link to a Fiori Apps Library for more details about product features, implementation details, roles etc.
Import of bank statements via Fiori app is quite user friendly. Press “Import” button to initiate the import of the incoming file:
Note: this post is based on the App version 9.0.3.
The App will ask you to select the type of the incoming file that should be uploaded. In this case, the selection is straightforward – we select the option “Bank statement”:
On the next screen you should select the format of the bank statement and a parameter set. The purpose behind the selection of bank statement format is straightforward and it corresponds to the similar parameter on the selection screen of the transaction FF_5. Parameter set is a new concept specific for Fiori. This parameter essentially defines the controlling parameters for the bank statement upload. It will be explored in depth under the configuration section of this post.
In addition, you should provide the path to the incoming payment files (via button “Add”) or use the drag-and-drop option to select the files for upload.
Press the “Process” button and confirm the information message in a pop-up. This message provides the ID of the incoming payment file. Essentially, SAP S4 HANA keeps track of all uploaded payment files for audit / history purposes and this ID is used to capture the information about the upload of the file. Please also refer to the part of this post, which describes new database tables.
Refresh the page to see the results of the upload. As you can see, the app provides the report with an overview of all uploaded files and their status:
Double click on the line to review the results of the upload. This menu provides high level details about the number of the files uploaded, the name of the files and who imported the file.
Additionally, you can review the upload log to see all messages associated with the action e.g., error messages, dumps, authorization issues etc.
Once the bank statement is uploaded, you can use another Fiori App F1520 “Reprocess Bank Statement Items” to post-process the items that require additional manual intervention. You can follow this link to a Fiori Apps Library to explore the attributes of this app. Reprocessing of the bank statement is another interesting topic. But it goes beyond this post and will not be explained here.
Next part of the post will provide more technical details about the configurations & inner workings of the Fiori App.
Fiori-Specific Configurations for Import
Before we dive deep into Fiori-specific configurations, it is worth mentioning that the baseline configuration for the bank statement in SAP S/4 HANA is pretty much the same as in previous SAP releases. You still have to do the configurations in OT83 and setup organizational master data for bank accounting. What’s different – house bank account IDs are no longer a customizing activity. House bank account IDs are maintained as master data for each client. But I’ll not be exploring this topic in depth. There are plenty blog posts explaining these details.
This part describes the configuration of the bank statement format & parameter set, which are visible in the Fiori App “Manage Incoming Payment Files”.
Configuration of Bank Statement Format
Configure bank statement format for upload of bank statement. Use the following menu path to configure the format. Alternatively, you can use t-code S_ER9_11000399 or maintenance view VC_FAR_IPF (via SM34) to configure it.
SPRO → Financial Accounting → Bank Accounting → Business Transactions → Payment Transactions → Electronic Bank Statement → Configure Formats for Import (SAP Fiori).
In this configuration you define the list of bank statement formats. As you can see, the list of available formats corresponds with the list of formats available in SAP GUI transaction FF_5. In this configuration, you can also link bank statement format to a transaction type (as defined in OT83). When there is no mapping (as in my case), the program uses standard configurations to derive the transaction type for processing of bank statement.
Configuration of parameter set
Configure a parameter set for upload of the bank statement. Use the following menu path to configure the format. Alternatively, you can use t-code S_ER9_11001563 or maintenance view VC_FAR_BSIMP_PSETS (via SM34) to configure it.
SPRO → Financial Accounting → Bank Accounting → Business Transactions → Payment Transactions → Electronic Bank Statement → Define Parameter Sets.
Provide an ID for the parameter set, the description as well as posting method.
In short, the parameter set is a configuration that provides the control parameters for bank statement import program. Essentially, the user does not need to maintain these parameters anymore during the upload (as it was in SAP GUI FF_5). In my opinion, the shift towards customizing in this case is a good approach. It eliminates potential errors associated with wrong user input during the upload of the bank statement.
Additional technical notes
If you wonder what happens under the hood of the Fiori App during the upload, here are some technical notes that might be of the interest for you.
Upload of bank statement via Fiori App uses several ABAP programs in background. Here is a sequence of the programs for upload of bank statement in MT940 format:
FAR_IPF_BATCH_SUBMIT => FAR_IPF_BANK_STATEMENT_PROCESS => RFEBKA00 => RFEKA400
As far as I understand, the purpose of these programs is as follows. The first program FAR_IPF_BATCH_SUBMIT serves as a high-level routing program for the Fiori App. It calls several different programs depending on the selection of the payment file type. Apart from that, this program is responsible for storage of payment files in the database.
If we upload bank statement, the routing program calls the program FAR_IPF_BANK_STATEMENT_PROCESS, which is essentially a wrapper program for standard program RFEBKA00. RFEBKA00 is the same program that is used by SAP GUI transaction FF_5. Depending on the bank statement format, the processing will be routed further. The final program that takes care of the MT940 bank statement is RFEKA400.
Because Fiori App uses a pair of the standard programs RFEBKA00 => RFEKA400 you can leverage existing BADIs to enhance bank statement processing. I mean the following BADIs FIEB_CHANGE_BS_DATA, FIEB_CHANGE_STATEMNT & FEB_BADI. You can leverage a combination of Fiori reprocessing rules & custom logic implemented via these enhancement spots to ensure high automation of bank statement. This is an interesting topic, where I plan to publish some additional posts in near future.
Note: post processing of the bank statement via Fiori App F1520 “Reprocess Bank Statement Items” uses a different program in background i.e., FEB_BSPROC_FE. In this case, some of the enhancement options are no longer available. You can still use FIEB_CHANGE_BS_DATA, but FEB_BADI is not triggered.
SAP S/4 HANA uses many database tables for bank statement processing. As before, main transactional details are stored in the following tables:
- FEBKO (head of bank statement).
- FEBEP (lines of bank statement).
- FEBRE (note to payee details).
- FEBCL (clearing details for line item).
Apart from these tables, there are two new tables, which are used by Fiori App “Manage Incoming Payment Files”. These tables are FAR_IPF_HEADER & FAR_IPF_LINE. The first table stores the header attributes of the uploaded payment file. Essentially it stores most of the details, which are visible in the upload log in this Fiori App.
The second table provides the link between header ID & separate bank statements. In this case, I uploaded only one bank statement with ID 410:
As you can see from the screenshot below, this ID (FAR_IPF_LINE-BANKSTATEMENTSHORTID) is the same bank statement’s short key as in table FEBKO-KUKEY:
One final note: you can delete bank statements via standard program RFEBKA96 (SE38). Program run will delete the content of all FEB* tables listed above, but it will not impact the content in the tables FAR_IPF_HEADER & FAR_IPF_LINE. The links to deleted bank statements will stay in these tables for audit / history purposes. Once bank statement is deleted, it is possible to upload it again. These FAR* tables are not used for the purposes of duplicity checks during upload.
I hope you found some interesting insights in this post and am looking forward to your comments.
Very nice Blog! Thanks for your work!
Hi Michael Kroschwitz,
Thank you for a good feedback!