How can virtual accounts help your Treasury and how can they be implemented in SAP?
There are many concepts in which a virtual account can be deployed. In this second article on ‘How to setup virtual accounts in SAP’, we depict the concept that can be implemented in SAP the easiest without needing specialized modules like SAP Inhouse cash; all can be supported in the SAP FI-CO module.
In the process, we rely on a simple set of building blocks:
GL accounts to manage positions between the OpCo’s and Treasury and GL accounts to manage the external cash balance.
Receipt and processing of external bank statements.
On the external bank statement for the Master Account, an identifier needs to be available that conveys to which virtual account the actual collection was originally credited. This identifier ultimately tells us to which OpCo these funds originally belongs to.
How to implement virtual accounts in SAP
This part assumes that the basic FI-CO settings for i.e. the company code and such are already in place.
Master Data – General Ledger Accounts
Two sets of GL accounts need to be created: balance sheet accounts for the representation of the intercompany positions and the GL account to represent the cash position with the external bank.
These GL accounts need to be assigned to the appropriate company codes and can now be used to in the bank statement import process.
Transaction code FS00
House bank maintenance bank account maintenance
In order to be able to process bank statements and generate GL postings in your SAP system, we need to maintain the house bank data first. A house bank entry comprises of the following information that needs to be maintained carefully:
The house bank identifier: a 5-digit label that clearly identifies the bank branch
Bank country: The ISO country code where the bank branch is located.
Bank key: The bank key is a separate bank identifier that contains information like SWIFT BIC, local routing code and address related data of your house bank
Transaction code FI12
Secondly, under the house bank entry, the bank accounts can be created.
The account identifier: a 5-digit label that clearly identifies the bank account
Bank account number and IBAN: This represents the bank account number as assigned to you by the bank.
Currency: the currency of the bank account
G/L Account: the general ledger account that is going to be used to represent the balance sheet position on this bank account.
Transaction code FI12 in SAP ECC or NWBC in S/4 HANA
The idea here is that we maintain one house bank and bank account in the treasury company code that represents the Master account as held with your house bank. This house bank will have the G/L account assigned to it that represents the house banks external cash position.
In each of the OpCo’s company codes, we maintain one house bank and bank account that represents each of the “virtual” bank accounts as held with your house bank. This house bank will have the G/L account assigned to it that represents the intercompany position with the treasury entity.
Electronic Bank Statement settings
The Electronic Bank Statement (EBS) settings will ensure that, based on the information present on the bank statement, SAP is capable of posting the items into the general or sub ledgers according to the requirements. There are a few steps in the configuration process that are important for this to work:
Posting rule construction Posting rules construction starts with setting up Account symbols and assigning GL accounts to it. The idea here is to define at least three account symbols to represent the external Cash position (BANK), the IC position with OpCo1 (OPCO1) and thirdly the IC position with OpCo2 (OPCO2). A separate account symbol for customers is not required in SAP. For the account symbol for BANK we do not assign a GL account number directly in the settings; instead we will assign a so-called mask by entering the value “+++++++++”. What this does in SAP is for every time the posting rule attempts to post to “BANK”, the GL account as assigned in the house bank account settings is used (FI12 or NWBC setting above). For the account symbol OPCO1 and OPCO2 we can assign a dedicated balance sheet GL that represents the IC position with those OpCo’s. These GL accounts have already been created in the first step (FS00). Now we have the account symbols prepared, we can start tying together these symbols into posting rules. We need to create 3 posting rules. Posting rule 1 is going to debit the BANK symbol and it is going to credit OPCO1 symbol. Posting rule 2 is going to debit the BANK symbol and it is going to credit OPCO2 symbol. Posting rule 3 is going to debit the BANK symbol and it is going to credit a BLANK symbol. The posting type however is going the be set to value 8 “Clear Credit Subledger Account”. What this setting is going to attempt is that it will try to clear out any open item sitting in the customer sub-ledger using “Algorithms”. More on algorithms a bit later. As you can imagine, posting rules 1 and 2 are applicable for the treasury entity. Posting rule 3 is going to be used in the OpCo’s EBS process. Transaction code OT83
Posting rule assignment In the next step we can assign the posting rules to the so-called “Bank Transaction Codes” (or BTC’s like i.e NTRF) that are typically observed in the body of the bank statements to identify the nature of the transactions. To understand under which Bank Transaction Code these collections are reported on the statement, you typically need to carefully analyze some sample statement output or check with your banks implementation team for feedback. Important to note here is to assign an algorithm to posting rule 3. This algorithm will attempt to search the payment notes of the bank statement for “Reference Numbers” which it can use to trace back the original customer invoice open item. Once SAP has identified the correct outstanding invoice, it can actually clear this one off and identify it as being paid. Transaction code OT83
Bank account assignment In the last part we can then assign the posting rules assignments to the bank accounts. This way we can differentiate different rule assignments for different accounts if that is needed. Transaction code OT83
Search Strings If the posting rule assignment needs more granularity than the level provided in step 2 above here (on BTC level), we can setup search strings. Search strings can be configured to look at the payment notes section of the bank statement and find certain fixed text or patterns of text. Based on such search strings we can then modify the posting behavior by for instance overruling the posting rule assignment as defined in step 2. Whether this is required depends on the level of information that is provided by the bank in the bank statements. Transaction code OTPM
Importing and processing bank statements
We should now be in good shape to import our first statements. We could download them from our electronic banking platform. We could also be in a situation where we already receive them through some automated H2H interface or even through SWIFT. In any case, the statements need to be imported in SAP. This can be achieved through transaction code FF.5. The most important parameters to understand here are the following:
File parameters: Here we define the filename and storage path where our statement is saved. We also need to define what format this file is going to be, i.e. MT940, CAMT.053 or one of the many other supported formats
Posting Parameters: Here we can define if the line items on the bank statements are going to be posted to general or sub-ledger.
Algorithms: Here we need to set the range of customer invoice reference number (XBLNR) for the EBS Algorithm to search the payment notes for any such occurrence in a focused manner. If we would leave these fields empty, the algorithm will not work properly and will not find any open invoice for automatic clearing.
Once these parameters are maintained in the import variant, the system will start to load the statements and generate the required postings.
Transaction code FF.5
Closing remarks
Other concepts could be where a payment factory is already implemented using i.e. SAP IHC and the customers wants to seek additional benefits by using the virtual account functionality of its bank.
This is the second part of a series on how to set up virtual accounts in SAP. Click here to read the first part. A next part, including more complex concepts, will be published soon.
Over the past year, the interest rates on intercompany financial transactions have come under closer examination by tax authorities. This intensified scrutiny stems from a mix of
At Zanders, we are proud to announce the promotion of Tobias Westermaier as our newest partner. With a rich background in Corporate Finance and Treasury, he brings a wealth of experience and a
Introduction: Faster, smarter, and future-proof
In the fast-paced financial industry , speed and accuracy are paramount. Banks are tasked with the complex calculation of XVAs
In the high-stakes world of Private Equity (PE), where exceptional returns are non-negotiable, value creation strategies have evolved far beyond financial engineering. Today, operational
For many, December is the most magical time of the year. It is a season filled with the warmth of family members, the joy of hanging out with friends, and the coziness of gathering around the
The near-final PRA Rulebook PS9/24 published on 12 September 2024 includes substantial changes in credit risk regulation compared to the Consultation Paper CP16/22. While these amendments
The ECB Banking Supervision has identified deficiencies in effective risk data aggregation and risk reporting (RDARR) as a key vulnerability in its planning of supervisory priorities for the
Recently, Zanders' own Sander de Vries (Director and Head of Zanders’ Financial Risk Management Advisory Practice) and Nick Gage (Senior VP: FX Solutions at Kyriba) hosted a webinar. During
The Right Payment Orchestration Strategy: A Critical Factor for Success
The digitalization and globalization of payment infrastructures have significantly impacted businesses in
In our previous article 'Navigating the Financial Complexity of Carve-Outs: The Treasury Transformation Challenge and Zanders’ Expert Solution' we outlined that in a carve-out, the TOM for
In today's dynamic economic landscape, optimizing portfolio composition to fortify against challenges such as inflation, slower growth, and geopolitical tensions is ever more paramount. These
Effective liquidity management is essential for businesses of all sizes, yet achieving it is often challenging. Many organizations face difficulties due to fragmented data, inconsistent
Exploring S/4HANA Functionalities
The roundtable session started off with the presentation of SAP on some of the new S/4HANA functionalities. New functionalities in the areas of
Accurately attributing changes in counterparty credit exposures is essential for understanding risk profiles and making informed decisions. However, traditional approaches for exposure
However, CCR remains an essential element in banking risk management, particularly as it converges with valuation adjustments. These changes reflect growing regulatory expectations, which were
The timelines for the entire exercise have been extended to accommodate the changes in scope: Launch of exercise (macro scenarios)Second half of January 2025First submission of results to
Within the field of financial risk management, professionals strive to develop models to tackle the complexities in the financial domain. However, due to the ever-changing nature of financial
Addressing biodiversity (loss) is not only relevant from an impact perspective; it is also quickly becoming a necessity for financial institutions to safeguard their portfolios against
SAP highlighted their public vs. private cloud offerings, RISE and GROW products, new AI chatbot applications, and their SAP Analytics Cloud solution. In addition to SAP's insights, several
SAP In-House Cash (IHC) has enabled corporates to centralize cash, streamline payment processes, and recording of intercompany positions via the deployment of an internal bank. S/4 HANA