Handling of bank charges in bank statement
With each new post on bank statement related topics, I think that it will probably be the last one… But then I stumble upon interesting business case, which is worth of exploration and as always find a lot of technical details to share with community. Here is another post, I hope you’ll find something interesting for you!
Accounting for bank charges which are automatically deducted from incoming payment represents an interesting case which poses certain technical challenges. Let’s consider how this case can be implemented in SAP.
- Company issues an invoice of 4000.00 UAH;
- Customer fully pays this invoice;
- Bank automatically deducts a bank fee of 10.00 UAH from this incoming payment, but the fee itself is not reported as a separate line in bank statement, whereas payment amount is displayed as net amount – 3990.00 UAH.
- How to extract information on bank fees from note to payee and post it?
- How to clear customer invoice with net amount of payment coming from bank statement?
Expected result is to receive the following postings in SAP:
As you can see, we’ll record information in bank accounting area as a net payment, whereas customer will be credited with whole amount of payment. Additional line with bank charges will be generated automatically to balance accounting posting.
2. Overview of prerequisites
Automation of this business case implies that information about bank charges is provided in a structured format as part of note to payee information. Example of a simplified MT940 bank statement can be found below:
Posting rule for bank statement is configured with two posting areas and clearing of open items in AR-subledger.
Automatic account determination for bank charges should be maintained in t-code OBXK or via the following menu path:
SPRO → Financial Accounting (New) → Accounts Receivable and Accounts Payable → Business Transactions → Incoming Payments → Incoming Payments Global Settings → Define Accounts for Bank Charges (Customers).
Note: automatic account assignment of cost center should be maintained as well e.g. in OKB9.
3. End user scenario
From end-user perspective nothing really changes in post processing of bank statement. However, if everything is setup correctly, you’ll see the amount of bank charges transferred to a field “AC fees”:
From database perspective this value is saved into FEBEP-SPESK field:
When the user presses post, the system generates two accounting documents and clears customer open item.
Accounting document in bank posting area:
Accounting document in subleger posting area:
4. Big questions
The biggest question however is: how do we save bank charges amount into FEBEP-SPESK? There are a few options:
- Maintain search string with appropriate update scenario – this is the most easy way that doesn’t require any development efforts (see post for more details);
- Extract bank amount charges in user exit during pre-processing of bank statement in user exit EXIT_RFEBBU10_001 or in BADI FIEB_CHANGE_BS_DATA;
- If you use XML-based bank statement, you can map the amount of bank charges to FEBEP-SPESK in XSLT-transformation (see post for more details);
- If you use other bank specific statement format e.g. CSV-format, you can do the same in BADI FIEB_GET_BANK_STMTS_X (see post for more details).
As you can see, there are many technical options. It’s up to you to decide, but I hope that this post will help you to make more educated decision if you’ll ever need to implement scenario like this.
Your suggestions and comments are welcome!