Cash Pooling in SAP S/4HANA: Cash Concentration, Bank Account Management and In-House Banking
How to run physical and internal cash pooling in SAP S/4HANA: which solution fits which model, how to set up Bank Account Management and cash pools, the daily concentration cycle, and how sweeps turn into intercompany receivables, payables and interest.
SAP S/4HANA Cash Pooling · free
Cash pooling in brief
Cash pooling centralises the liquidity of group companies on a header account or entity (the pool leader), so internal surpluses offset internal deficits and external borrowing goes down.
| Type | How it works | Real transfers | Typical use |
|---|---|---|---|
| Zero balancing | Each sub-account is swept to zero against the header account at end of day | Yes | Strongly centralised groups, single currency |
| Target balancing | Each sub-account is brought back to a target balance | Yes | Entities that keep local operating cash |
| Threshold balancing | Transfers only above or below minimum and maximum thresholds | Yes, fewer | Fewer transfers and bank fees |
| Notional | Balances are summed only to calculate interest | No | Multi-currency, countries with transfer constraints |
| Internal (in-house bank) | Entities hold current accounts at the group's in-house bank | Book entries, settled externally | Groups using In-House Cash or In-House Banking |
Flows can be concentration (sub-account to header), distribution (header to sub-account to cover overdrafts) or both. The header account belongs to the parent or treasury company; sub-accounts belong to participating companies; the service provider is whoever executes the sweep: the bank automatically, or the company through system-generated transfers.
Benefits
- Lower external debt and finance costs thanks to internal netting.
- Better return on excess cash, invested centrally.
- Daily visibility of the group cash position.
- Fewer bank accounts and fees, especially with payments and collections on behalf of other entities (POBO / COBO).
Risks, tax and legal points
- Transfer pricing: intercompany rates on pool balances must be at arm's length and documented.
- Interest deductibility limits apply (in Italy, article 96 of the income tax code: 30% of tax EBITDA).
- Company law: shareholder financing can be subordinated in some cases (in Italy, articles 2467 and 2497-quinquies of the civil code), so a formal cash pooling agreement is needed.
- Counterparty and insolvency risk: if a participant fails, the pool leader is left with a receivable.
- Currency and regulatory constraints on cross-border or notional pooling.
These notes are a general overview, not tax or legal advice. Check the specific situation of your group with your advisers.
The SAP S/4HANA solutions
The choice depends on the model: physical pooling between external bank accounts points to Cash Concentration; an internal bank with intercompany accounts points to In-House Cash or In-House Banking.
| Solution | What it does | Notes |
|---|---|---|
| Cash Concentration (S/4HANA Cash Management) | Cash pools defined as master data in Bank Account Management; proposal and generation of transfers between header and sub-accounts | Reference solution in S/4HANA, with dedicated Fiori apps since 1809 |
| Classic cash concentration (FF73 / FF74) | Pool defined as a grouping, proposal based on the cash position (FF7A) | Still available, superseded by the BAM approach |
| SAP In-House Cash (IHC) | In-house bank with current accounts for subsidiaries, intercompany payments, POBO / COBO, internal cash pooling | Mature, suited to complex multi-bank-area scenarios |
| SAP In-House Banking (IHB) | New in-house bank with Fiori apps, master data workflow, group limits, several transfers to accounting a day | Part of Advanced Payment Management; first in the cloud, then on-premise |
Both IHC and IHB support internal pooling between accounts of the same in-house bank, but not between different in-house banks. IHB adds group limits and pays house banks without F111; IHC also updates Cash Management with in-house account balances.
Master data: Bank Account Management and the cash pool
In S/4HANA a cash pool is master data, not customizing: its structure is defined on the Cash Pool tab of the Manage Bank Accounts app.
Prerequisites
- Banks (FI01 or Manage Banks).
- House banks and account IDs (FI12_HBANK or Manage Banks).
- Bank accounts in Bank Account Management, linked to house bank account, company code, currency and G/L account.
- A bank account hierarchy (Manage Bank Account Hierarchies), grouping accounts by country, bank or company.
- Business partners for intercompany counterparties, if pool receivables and payables are posted.
Cash pool attributes
| Attribute | Meaning |
|---|---|
| ID and name | Unique identifier of the pool |
| Header account | Concentration account; an account can be header of one pool only |
| Sub-accounts | Participating accounts; a header can be a sub-account of another pool, which allows multi-level pools |
| Service provider | Enterprise: SAP proposes and executes the sweep. Bank: the bank executes it and SAP receives it with the bank statement |
| Usage | Concentration, distribution, both, or statistical only |
| Target, minimum and maximum balance | Per sub-account parameters that drive the proposed amount |
| Minimum transfer and rounding | Avoid transfers of irrelevant amounts |
| Currency | Accounts in a physical pool must share the same currency |
Key rule: a bank account can appear in at most two pools, once as header and once, in another pool, as sub-account.
Operating guide
A. One-off setup
- In Manage Bank Accounts, check that header and sub-accounts are active, with the right house bank account, G/L account and currency.
- In Manage Bank Account Hierarchies, create a node for the pool with the participating accounts below it.
- In Manage Cash Pools, create the pool: ID, description, currency, service provider, header account, and for each sub-account direction, target, minimum and maximum balance and minimum transfer.
- Save and check that the pool appears on the Cash Pool tab of each account.
- Run a full simulation of the daily cycle in the quality system before go-live.
B. Daily cycle (Enterprise service provider)
- Import the morning bank statements and check in Bank Statement Monitor that all pool accounts are up to date.
- Check the cash position for the pool accounts and the flows expected during the day.
- In Manage Cash Concentration, select pool and value date and simulate: the system proposes, per sub-account, the amount to reach the target, respecting minimums and rounding.
- Review the proposal: change amounts or exclude an account (for example a large incoming payment not yet in the system).
- Confirm: the system generates the transfer payment requests between header and sub-accounts.
- Run the payments with F111 or a scheduled job, send the file to the bank and approve it in Approve Bank Payments when BCM is active.
- Monitor the status in Manage Cash Concentration and Track Bank Transfers.
- The next day, the bank statement clears the bank clearing accounts; check open items with FEBAN.
- At month end, use the Cash Pool Transfer Report as the basis for intercompany interest.
The daily cycle typically takes the cash manager 15 to 30 minutes.
C. Bank service provider
The bank sweeps automatically at end of day. The sweep arrives with the bank statement under dedicated transaction codes and is posted by the OT83 rules; the cash manager checks amounts and counterparties in the Cash Pool Transfer Report and in the cash position.
D. Classic concentration
Run FF73 with grouping, date, target account and minimum amount; review and save the proposal, which creates concentration memo records; generate payment requests with FF74 and pay them with F111.
Postings, intercompany and interest
Every physical sweep between different companies creates an intercompany receivable or payable: the participant has a receivable from the pool leader when it hands over cash, and a payable when it receives it.
Zero balancing example
Company IT01 has EUR 100,000 on its sub-account; treasury company TR01 is the pool leader.
| Step | Company | Debit | Credit | EUR |
|---|---|---|---|---|
| Payment (F111) | IT01 | Receivable from pool leader | Outgoing bank clearing | 100,000 |
| Payment (F111) | TR01 | Incoming bank clearing | Payable to IT01 | 100,000 |
| Bank statement | IT01 | Outgoing bank clearing | Bank account | 100,000 |
| Bank statement | TR01 | Bank account | Incoming bank clearing | 100,000 |
Cross-company postings need clearing accounts between companies (OBYA). Alternatively, post only from the bank statement, which is typical with a Bank service provider.
Intercompany interest
- Calculate interest monthly or quarterly on the daily balances of the pool accounts, at market rates (for example €STR plus a spread).
- Tools: G/L balance interest calculation, Treasury and Risk Management contracts, or interest conditions in In-House Cash / In-House Banking.
- Post the result with an intercompany invoice or note, backed by transfer pricing documentation.
Reconciliation
- Align intercompany balances at month end with the intercompany reconciliation apps.
- Check that bank clearing accounts are zero after the bank statement.
The PDF also covers configuration step by step, the full list of Fiori apps and transactions, best practices and a table of common errors and fixes.
9 pages from our consulting practice.
Working on a project like this?
Vantage Finance & Tech helps companies across Italy and Europe with SAP S/4HANA Finance, Oracle Fusion Cloud ERP Finance, treasury, IFRS 18 and PMO support, from design through configuration and go-live.
Get in touch