Technical Articles
Import of bank statements in Fiori
Hello SAPers!
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.
Introduction
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.
Database Tables
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.
Regards,
Bohdan Petrushchak
Very nice Blog! Thanks for your work!
Hi Michael Kroschwitz,
Thank you for a good feedback!
Regards,
Bohdan
Nice Blog !
Can we edit bank statement via Manage Bank Statement App? One teammate is getting the message "you can't edit the electronic bank statement"? However, that can be edited from GUI mode.
regards,
Mukesh
Hi Mukesh Bashera,
What exactly do you mean by "editing" of the electronic bank statement ? Normally speaking once bank statement is uploaded to SAP, you no longer can edit anything. The only possibility to change something is to change the note to payee. But even in this case, SAP keeps the original version without changes + updated version. Other than that, I'm not aware about any other options to "edit" bank statement. The option that is described works both in Fiori and via GUI transactions.
Regards,
Bohdan
Hello Bohdan,
Attached is what error getting in the Manage Bank Statement app.
Thank you for your reply !
regards
Yes, I see the message. Question is how to get it ? What are you trying to do on this screen so that you receive this message ? I personally do not see any editing option in this Fiori app (and do not expect any). Could you please elaborate on that ?
@Bohdan Petrushchak
Hello sir,
when I upload monthly bank statement in Fiori in the header I put statement date " the last day of ended month " which is posting date but I have many transactions per month with different currency rates but when post statement it consider only the rate applied in the date of statement stated in the header ignoring value dates multiple rates for transactions , all month transactions posted with one rate although the month have many different rates in OB08
could you please advice if this issue have a solution
Many thanks for you
Hi ahmed sallam,
It seems to me that you're doing something wrong or do not completely understand the business process. But before I there, could you please explain what you mean by "putting in Fiori statement date to the last day of the ended month" ? This is something conceptually wrong. When we upload bank statement, we do not put / indicate bank statement date anywhere. Bank statement date is retrieved automatically from the bank statement itself. All you can do in Fiori is to put a filter to display bank statement lines that belong to a certain time frame.
Next, you're supposed to upload bank statements daily. This way, whenever you have operation in foreign currency, it will be automatically translated to local currency based on the posting date date associated with the data of the bank statement. This is a standard process that works out of the box.
Regards,
Bohdan
@Bohdan Petrushchak Many thanks for your appreciated reply and below is what I mean by statement date I need rate by value date not statement date . many thanks for your cooperation
Hi ahmed sallam,
I've described the process around automatic upload of bank statements to SAP via Fiori Apps. What you're showing here is a completely different app. This essentially a Fiori App that allows you to create bank statements manually - when you do not have a bank statement in a suitable format (e.g. MT940, Multicash). You can think about it as a replacement for a SAP GUI transaction FF67.
But even in the case of manual bank statement, you cannot simply create one bank statement at the end of the month and cover all bank operations that happened within the month. Technically speaking you can do that, but all postings will have the save posting/document/value date and if there are operations in FC, all will be translated to LC at the same rate.
if you're using manual bank statement, it should also be created / posting in the system on a daily basis. If there are not many operations within the month, you should create bank statement at least on those days, where there was any movement on the associated bank account. This is a best practice.
Regards,
Bohdan
Useful blog Bohdan, keep up the good work!
Hi Daniel Todor,
Thank you for your feedback ! I'll try to introduce more, there are already some interesting topics in the pipeline.
Regards,
Bohdan
Thank you Bohdan, very helpful and informative!
Hi Pavel Guzanov,
Thank you for your feedback !
Regards,
Bohdan