Intercompany Allocations, using the Universal Allocation
This blog post continues a series of Controlling related topics, which circle around showcasing new functionalities in S/4HANA Cloud, comparing functionalities between S/4HANA Cloud and SAP S/4HANA, as well as general topics to be considered from Management reporting/Controlling point of view when implement S/4HANA.
Focus of this blog posting is to discuss new functionality of intercompany allocations using Universal Allocation. This functionality was released to SAP S/4HANA as of release 2021. This means that there is no need for a modification for updating trading partner in the postings, which was relevant in SAP ECC (see note 1630884 ). That type of modification is also no longer allowed in SAP S/4HANA, as there are no totals records updated and reporting is based on the Universal Journal, the single source of truth.
Intercompany cost allocations can be required to distribute costs, that occur at one legal entity, but belong to multiple legal entities, e.g. services provided by a centralized shared service center. It can also be a case of costs, which should be recharged. The universal allocation focuses on distributing the costs across legal entities, after this process, there is still typically a need for actual invoicing for both parties (e.g. to get correct tax bookings).
Pre-requisites to enable the Intercompany Allocation
To enable the intercompany allocations there are a few steps that are needed from master data and system configuration.
- Master Data
- General Ledger Accounts
- Allocation (assessment) accounts need be created
- Intercompany clearing accounts, each allocation account needs to be mapped to an intercompany clearing account, these must be of the G/L account type Nonoperating Expense or Income
- Cost objects
- Cost centers are always senders, but receivers can be either Cost centers or WBS. Cost center groups can be beneficial for selecting the receiving cost All cost objects (and company codes) should belong to the same controlling area in SAP S/4HANA.
- General Ledger Accounts
- The configuration is found in the following path: Controlling -> Cost Center Accounting -> Intercompany Postings
- A) You need to decide whether to allow Intercompany allocation postings for all company codes or only for selected companies. The “Allow only listed ICO postings” can be beneficial when dealing with countries or companies, where cross-company allocations are not allowed (either due internal controls or country specific legal requirements).
- Below is seen the “Allowlist” configuration (used when Intercompany allocations are only allowed for certain company code “pairs”):
- B) There is a need to maintain the Cost/Revenue Accounts (the allocation accounts) for the intercompany allocation, as well as their respective Clearing account (Debit / Credit). Here you pair the allocation accounts with specific intercompany clearing accounts. This means, that these accounts are used instead of “traditional” OBYA configured accounts (which are used in other intercompany processes, e.g. intercompany stock transfers). This way you can also control what type of costs can be allocated. E.g. by maintaining separate Intercompany allocation accounts and clearing accounts for IT, R&D or audit costs. Then opening the accounts only in the company codes where relevant functions are available.
- C) Lastly, you need to maintain posting keys that are used in the journal entries created by the intercompany allocation.
Creating an Intercompany allocation cycle is done using the “Manage Allocations” Fiori app. The process is similar as creating any other allocation cycle with this app. The main difference is that you need to select Allocation Type “Intercompany Allocation”, as seen in the figure below. The two other allocation types for cost centers (Overhead Allocation and Distribution) allow allocation only within one company code. If you are not familiar with the Universal allocation or creating cycles, I recommend checking this previous posting (Link: Allocations & Universal Allocation | SAP Blogs).
The intercompany allocation can be done for both plan and actual figures. Once you have created the header, you create the Segments, which contain the details for the allocations.
- For each segment you need to select the allocation account (which you need to have mapped in the configuration mentioned previously).
- Sender rules can be maintained as: Posted Amounts / Fixed Amounts / Fixed Rates
- Receiver rules can be maintained as: Fixed percentages / Fixed portions / Variable portions
For each segment there should be only one company code as sender, but on the receiver side, you can have one or multiple company codes. In this example there is one sending cost center, which sends fixed amounts.
The below figure shows the cost center receivers, which are maintained as a cost center group, but it could also be a range.
- The cost center group is created with (Manage cost center groups Fiori app in SAP S/4HANA.
- In case you use cost center ranges, instead of groups, you should be careful when maintaining ranges, as those cost centers can belong to many different company codes
- The receivers can be cost centers or WBS’s
The receiver basis is maintained under the last tab.
Once the segment is saved, the allocation is ready to be executed, by pressing the “Run” button in the Manage Allocations Fiori, this will transfer you directly to the “Run Allocations” Fiori, for selecting further settings for running the cycle (E.g., for which dates the allocation should be executed). Then, the “Run Allocation” transfers you directly to “Allocation Results”, to view the results. In case there are errors (e.g., cost center is closed for postings), you can re-run the cycle directly from “Allocation results” (assuming you made your corrections before), as shown in figure 11 below.
The network graph gives an overview of the allocation results. In the below example, the allocation is done from company code 1010 and distributed to company 1210 and 1710 (according to the portions maintained in the cycle).
The values posted to the leading ledger are copied to other ledgers (2L in in this example). Furthermore, under the Journal entries tab, (in the Allocation Result Fiori app) you can see the 3 journals created, one in each company code.
From the above view you can select any of the journal entries and drill down to them. The below picture is showing the journal entry in company 1710. The line items in the journal entry, has the posted amounts on the receiving cost center, as well as from the sender (1010). In SAP ECC this required a modification, but now it is standard functionality.
The related allocation documents can also be seen under the “Related documents” tab
Manage cost center group fiori app can be used for maintaining the required cost center groups for the allocation.
When setting up the intercompany allocation you usually need to remember, to take care of invoicing as well, this can be automated e.g., by configuring the sales intercompany billing functionality, taking benefit of the Intercompany clearing accounts used by the allocation (e.g., DIP profile configuration).
Also, it is good to note, that the intercompany allocation of universal allocation does not have a functionality for mark-up. In case mark-up is relevant for you , then I suggest you to familiarize the alternative process for Intercompany Cost Allocations presented by Stefan Walz and Sebastian Doll in their excellent blog (Link) (DIP profile can also be used with this second approach, by mapping the activity types to relevant billing items).
This blog post was focusing on how to setup intercompany allocations using the “Manage Allocations” Fiori, showing how it can be easily setup and hopefully giving some food for thought on what to consider when setting it up. In short; it is simple and quick to setup.
- What are your experiences with Intercompany allocations? Please share and let me know in the comments below.
Excellent blog Dick, as usual! Interesting comment about the usage of DIP profile, need to check that out in more detail.
One comment regarding the Cost/Revenue Account (the assessment account) used for the intercompany allocation:
As it seems it's only possible to define one Cost/Revenue account for both credits and debits, doesn't it mean that it will not be possible to separate the ICO allocated costs from revenues on the financial statement as the credits on the sender and debits on the receiver are shown on the same account? As I understand, the idea would be to assign the Cost/Revenue account in the same node on the financial statement for Financial reporting as the ICO clearing accounts, in order to not show revenue or cost before the invoice is posted so while the ICO clearing enables the differentiation based on debit/credit, that doesn't help as still the common node would have to be used.
Different assignment on FSV based on whether the balance is credit or debit doesn't might be an option but as the company code can be both the receiver as well as sender of the ICO allocations and netting them doesn't seem optimal. To me this seems that this can only be used for companies where it's allowed to net the costs and revenues
Thank you for the comment and questions Erno, interesting points!
I am not 100% sure if I understood the first question fully, but I think you would need to define a separate account for allocating revenue vs. allocating costs (and optimally you would not post revenue to cost center at all).
From my previous experience I have only seen use cases of allocating costs and then to have different assignment of credit and debit balance in the FSV for the ICO clearing account, similarly as you described also, you can also configure separate account for credit and separate for debit balance (my example was having the same). Furthermore, you should aim to do the IC invoicing to offset the IC clearing accounts from the IC billing, and to do this billing during the same month, as otherwise you will easily have exchange rate differences, which complicates this a bit further.
Let's connect to discuss your use-case in more detail.
thanks for this excellent blog and explanation.
One consideration regarding OSS note 1630884
This note was also useful in ECC to fill the trading partner in internal CO allocations (and not only intercompany allocations). Some customers need to see the Trading Partner for example in cost centers allocations within the same company code.
My understanding is that for this requirement we still have no reply in S/4.
What do you think?
Thank you Gianluca!
The intercompany allocation type works only in intercompany scenario (between company codes), if you try to add a cost center from same company as sending you will get an error.
I share your understanding; for intracompany allocations (within same company code) trading partner information is not inherited when doing e.g. an overhead cost allocation within the same company code, in standard.
Typically trading partner is used for intercompany transactions (between two company codes), but of course there can be exceptions to how the trading partner field is used or requirements for it.