Skip to Content
Product Information
Author's profile photo Vincent Zhang

The Next Generation Intercompany Solution: Intercompany Matching & Reconciliation

Starting from SAP S/4HANA Cloud 1908 and OP 1909, a new intercompany reconciliation solution was introduced, which is named Intercompany Matching & Reconciliation(ICMR). It provides both transaction level matching and aggregated level reconciliation in a real-time fashion. By leveraging HANA in-memory, it can process large volumes of data in an instant. Its flexibility and workflow-enabled auto-adjustment will make you re-think how you do intercompany activities.

What is Intercompany Reconciliation?

Entities under a group may have business transactions with each other. To prepare the group level financial reports, those intercompany transactions must be reconciled and eliminated to avoid overstate consolidated result. For example, entity A records a receivable from entity B, then entity B should records a payable to entity A. If everything works fine and in time, the amounts of the receivable and payable can be safely eliminated during consolidation. However, in reality, things may not be always smooth. Sometimes, entity B just forgot to record the payable. Thus we need first do intercompany reconciliation to find out the discrepancies, and if possible, resolve them. This always means lots of tedious manual work.

Intercompany Reconciliation in SAP ERP

If you are SAP ERP customers, you may know there is a built-in intercompany reconciliation functionality(ICR). With ERP ICR, one can do G/L open items reconciliation(process 001), G/L account reconciliation(process 002), and Customer/vendor open items reconciliation(process 003). It is designed for use in Financial Accounting, and can select documents across SAP systems. However, once discrepancies are identified, accountants need to figure out the reasons and solutions manually.

Why We Need a New ICR in SAP S/4HANA?

Within SAP S/4HANA, the universal journal table(ACDOCA) is introduced. It is not just simplifying the financial tables, but also providing more possibilities that we haven’t achieved before. Among them, the most attractive one is Real-time analytics. Yes, ICMR supports real-time reconciliation on non-stop changing data sources. Meanwhile, it allows snapshot, meaning, when you want a stable data state, you just record a timestamp. Data is like a flow and is continuous. You don’t have to wait until the period close to see the reconciliation balances, you check them anytime.

When you find out the big differences at aggregated level, you want to know more in detail. You then drill-through to document line item level. You can check the unassigned items from both parties, as well as those automatically assigned by matching rules. Document line items which belong to the same business transaction are grouped under an assignment number. The amazing part is you can attach workflow and auto-adjustment logic to an assignment so that discrepancies can be automatically resolved in an controllable and traceable way.

Not to mention some small but useful features, like fuzzy search, sending emails, changing layouts etc, The most noticeable feature of ICMR is that it provides a very flexible and powerful matching engine. It allows business users to freely define matching rules and run matching in an instant. You can use multiple fields with various functions to compose your matching expressions. One more thing, you can assign a reason code to do auto-adjustments for items that hit the rule.

Architecture of ICMR

ICMR is an out-of-box solution that is built-in SAP S/4HANA(core). There is no additional license required(except the machine learning feature starting from CE2108/OP2021). Just follow the quick-start steps (Cloud / OP) and you can experience by yourselves. The overall architecture is not complicated as you may find from the diagram below.

It contains 2 modules: Matching Engine and Reconciliation. The latter is built upon the former. The Matching Engine is designed for generic, that is to say, it is not boundary to financial use. Actually, you can define your own data sources on any tables/views. Just image you have a powerful “vlookup” function which can help you to match huge volumes of data in instant. And its auto-adjustment capability can form a closed-loop that helps to improve your data quality.

You may already notice that ICMR requires the data in SAP S/4HANA. That’s true. ICMR expects that a large portion of your companies’ data is already in SAP S/4HANA. This can be achieved either by Central Finance for real-time document replication, or by setting up your companies’ accounting directly in SAP S/4HANA. This is usually the most appealed setup in SAP S/4HANA. For the rest of companies outside SAP S/4HANA, ICMR provides file upload and API.

Unlike ERP ICR, ICMR doesn’t provide remote access to satellite ERP systems. If you have a landscape with multiple ERP systems, and haven’t planned to use Central Finance, then using SLT to real-time replicate documents to ICMR is also a good option. However, by its built-in nature, ICMR encourages you have SAP S/4HANA as the central accounting system. You don’t need anymore central repositories for different purposes. It is always the tremendous replica through interfaces causing the high TCO. If technology permits, we should have one, and always one single source of truth.

For details on the diagram description, please read the online help page.

Future Directions

It is still ICMR’s first release, and we are trying to make it more mature and automatic.

We already delivered some standard contents covering accounting and consolidation. We will continuously improve the contents to support more use cases. And we also see a lot of areas that ICMR can extend its capabilities. For example, we can integrate with group reporting for elimination(realized in release CE2008/OP2020).

Related Materials

The list keeps on update.

Assigned Tags

      56 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Venkata Singanamala
      Venkata Singanamala

      Good to know it and thanks for sharing ICMR in S4H 1909 OP

      Thanks

      Venkat

       

      Author's profile photo Stephane NEUFCOURT
      Stephane NEUFCOURT

      Excellent blog Vincent, thank you so much!!

      Author's profile photo CMA. Sudhir Harale
      CMA. Sudhir Harale

      Thanks for sharing, very useful information 🙂

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      We have released a configuration guide for easily understanding and setup ICMR. Please check: https://launchpad.support.sap.com/#/notes/2916087

      Author's profile photo Freeter Xie
      Freeter Xie

      Thanks Vincent, it is very informative blog!

      Author's profile photo Swati Kapoor
      Swati Kapoor

      Do we need a separate license for this product?

       

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      It is included in S/4HANA core, no separate license is required.

      Author's profile photo tan jin
      tan jin

      Hi Experts

      Because the GR/IR account do not include the Input Tax, so how to reconcile the GR/IR account with Account Receivable? Thanks

       

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Hi Jin,

       

      Good question. Maybe you can match GR/IR items with Account Receivable items by subtracting the tax amounts. For example, a matching rule can be defined as TransactionAmount = TransactionAmount * ( 1 -  tax rate ).

       

      However, current matching engine doesn't support this kind of expression. If you think above solution is feasible, then we can enhance.

       

      B.R.

      Vince.

      Author's profile photo Sergei Akishin
      Sergei Akishin

      Hello Vincent,

       

      thank you for the informative document.

       

      Is ICMR available only via FIORI apps? No GUI transactions?

       

      Thank you and best regards
      Sergei

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Hi Sergei,

      Some key Apps are Fiori-Only, like Manage Assignments, Recon Balance Report, Define Matching Method. Define Recon Case, and so on.

      Of course, you can run Matching using Tcode ICARM. And some other configuration UIs are in SAP GUI, like Define Data Source, Define Reason Code, and so on. But I assume you are asking whether you can use ICMR without enabling Fiori? Then, the answer is no.

       

      B.R.

      Vince.

      Author's profile photo Sergei Akishin
      Sergei Akishin

      Hi Vincent,

      exactly, I was asking from the end-user perspective, if we can use ICMR without enabling Fiori.

      I have noticed some configuration TCodes when checking the related SAP Package (FIN_ICA_MATCH), but no TCodes for the activities that you have mentioned in your blog.

      Now it is completely clear, thank you very much for the prompt answer.

      Best regards
      Sergei

      Author's profile photo GHANEM Hatem
      GHANEM Hatem

      Hi Vincent,

      Thank you for this nice blog post.

      I was wondering if GRDC could be used to load data into ICMR?

      Or how do we Match and Reconcile transactions for the whole group, including non-SAP entities for which data is already available in ACDOCU?

      Many thanks in advance for your reply.

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      GRDC uploads data into ACDOCU. You can use the Data Source for consolidation which is based on the union of table ACDOCU and ACDOCA.  Please check the note on different data sources: https://launchpad.support.sap.com/#/notes/2901247

      Author's profile photo Beatrice Ng
      Beatrice Ng

      Hi Vincent, Unfortunately, Not able to open download the ICMR OP which is available in 2916087.

      Author's profile photo Deepika Kc
      Deepika Kc

      It worked for me when I followed the instructions by Vincent:
      Please check if you have downloaded the 2 parts: "ICMR_Configuration_Guide_CE2008&OP2020.zip" and " ICMR_Configuration_Guide_CE2008&OP2020.z01", and put them in the same directory. Then click the ".zip" file to unfold.

      Author's profile photo Beatrice Ng
      Beatrice Ng

      Hi Vincent,

      Just to say the .zip file where PDF files of OP Version do not open up.

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Please check if you have downloaded the 2 parts: "ICMR_Configuration_Guide_CE2008&OP2020.zip" and " ICMR_Configuration_Guide_CE2008&OP2020.z01", and put them in the same directory. Then click the ".zip" file to unfold.

      We were told there are some cases that unzipping is still not possible.  And the reason is still unknown. In this case, please ask for it through my email: vincent.zhang@sap.com

      Author's profile photo sebastian balthasar
      sebastian balthasar

      Hello,

       

      once you have downloaded both files, mark them, right-click on them, and hit "extract all" to another destination as you have downloaded it. It worked. best regards.

      Author's profile photo Jin Tan
      Jin Tan

      Hi Vinecent

      If it posted an AR document in April, and also get the matching run result in April. Then in July the AR document was cleared.

      So if we re-trigger matching run for the period April, it would get the different results under the matching mehtod/rule contain AR&AP open items configurations . How to avoid the problem?

      Or how to judge whether the AR&AP documents have not been cleared yet for the specified period in the "Data Source" or "Matching Method" ?

      Many thanks in advance for your reply.

      Best regards

      TJ

       

       

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      You can create a rule to match AR and AP items still opening with type "SA(Auto Assign)" and assign a reason code with "Temporary Resolution". Then the generated assignment will be in status 20, and it will get unassigned in the next matching run. When in the next matching run, if both the AR and AP get cleared, then they will be grouped under a new assignment with status 30 (you must create a matching rule only to match the cleared items).

      For details, please refer the help portal on the reason code definition: https://help.sap.com/viewer/4ebf1502064b406c964b0911adfb3f01/2020.002/en-US/ca6038a89c404e89803a74bccd044bfe.html

       

      Author's profile photo Jin Tan
      Jin Tan

      Hi Vincent

      According to your solution, the matching run result of the same period that maybe cause differenct result(The early status is 20 and the late status is 30) is normal and design behavior, is my understanding correct?

      Thanks a lot

      Best regards

      TJ

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      It is normal. Otherwise, how to reflect the data which is always in changing back and forth.

      Author's profile photo Jin Tan
      Jin Tan

      Hi Vincent

      If the cleared items of AP&AR are also rolled in to the matching engine(copied to database table ICADOCM), with the time accumulate day by day, would the number of document items be too large to be supported by the ICMR.

      For example, it will take too much time that open the subwindow to show all matching items in the "reconciliation balances" app.

      Many appreciate in advance for your reply again.

      Best regards

      TJ

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      You can run data archiving or deletion for ICADOCM at a certain point of time. After all, the data volume should be much less than ACDOCA. As ACODCA can supports billions of data, I suppose for most customers, it will be OK to run 3 to 10 years without doing any archiving.

      Author's profile photo Jin Tan
      Jin Tan

      Hi Vincent

      Very appreciate your input.

      If we still want to filter out the cleared items dynamically based on the input variable of fiscal period in the main CDS view of data source. so could we add the input parameters in the CDS view definition,e.g. $CurrentFiscalYearPeriod$ ?

       

      Best regards

      TJ

       

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      You are not encouraged to do this. Please check the section 3.3 in the FAQ note 2815304.

      Author's profile photo Eirikur Eyvindsson
      Eirikur Eyvindsson

      Hi Vincent,

      A very thorough blog with all relevant links.

      Thanks.

      E

      Author's profile photo Shreya Naik
      Shreya Naik

      Can we use ICMR for CO Documents I.e. intercompany documents created during WBS settlement or Allocations?

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Yes, I think so. But you have to create data source on CO tables by yourselves .

      Author's profile photo Shreya Naik
      Shreya Naik

      Can we not use ACDOCA since it is Universal Journal

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Of course you can use any tables you want.

      Author's profile photo Peter Kustedjo
      Peter Kustedjo

      Hi, Vincent I need the BASIS ADMIN instaruction to load ICMR on our SAP S/4 Hana 1909 SAND BOX- URGENT,

      John strobel - phone 301-580-2194 EMIAL PKUSTED2000@GMAIL.COM OR john.stroble@ameri100.com

      Author's profile photo Arup Pattanayak
      Arup Pattanayak

      Hi Vincent:

      Probably silly question, but if I have typical AR vs AP intercompany transaction where AR has $1000 posted and AP has $400 posted, based on what i have seen on ICMR (i could be totally wrong here), the matching method will tell me that the this AR AP transaction is not matching by $600 (which is exactly what business users will need from ICMR), in that case, what does the reconciliation case does? or what other insights will add in this example?

      Joseph

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Then you don't need to compare the amounts, just find other fields like document reference to compare.

      Author's profile photo Arup Pattanayak
      Arup Pattanayak

      Hi Vincent:

      In the above example, we can match the AR AP intercompany transaction using assignment number field, my understanding is that ICMR matching method will match the AR AP transaction by assignment number and show the difference (mismatch) of $400, is this correct?

      Joseph

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      You can define a rule like this:
      assignment number = assignment number

      currencykey             =  currencykey

      abs(amount)           <> abs(amount)

      Then, assign a reason code with follow-ups.

      Author's profile photo Ram Bharadwaj
      Ram Bharadwaj

      Hi

      We need to perform Intra Company matching to remove records mainly reversed transactions. In ICMR we created a data source with leading and partner unit field as "Company". This allowed us to use a second data source which we used for Intra company matching for reversed documents. But there is a problem. These reversed documents still appear in our other matching methods with proc status as "00" despite being matched in the Intra co match method.

      SAP claims this is standard behavior. Then How do we have 1 common method for INTRA and Inter company matching??I cannot have already matched records appearing again in different methods. My CFIN system does not populate the reversal information (like xreversed, xreversing etc)

      how can i achieve the removal of reversed documents and matching WE doc with RE, PE doc with PR etc?

      Can single side matching be a solution?

      How do you achieve this -

      How can we run "Auto-Match" one sided? How do you configure the method or rule or expression to achieve single sided auto match?

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      If you just want to sort out the reversed and reversal item, you don't bother to create a second matching method. You can just create a one-side group rule to group items with xreversed is true. Please read help portal for detial: https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/4ebf1502064b406c964b0911adfb3f01/885a3eb67393430291c54d62c6eb9390.html

      Author's profile photo Ram Bharadwaj
      Ram Bharadwaj

      Will check the group item option.

      The challenge is that for logistics reversed (RE/RV etc) document the xreversed is not getting populated in CFIN. SAP says that only for FI documents reversed, xrecversed will be populated.

      I used separate matching method with intra company match. It worked but the challenege is that these reversed documents appear in other inter company method as New records.

      I need to match the regular document with its reversed using other fields in expression. How can i do with a single side Auto match?

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Then you can use the separate mathcing method approach by adding a reason code with adjustment Class. In the adjustment Class, you can compose logic to update the xreversed/xreversal fields.

      Author's profile photo Ram Bharadwaj
      Ram Bharadwaj

      Thanks for the revert.

      This adjustment class is something i have not explored.

      Can you suggest any refernce class which i can replicate or use?

      Thanks

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Press F1 in the field, detail helps are there.

      Author's profile photo Anil Thorat
      Anil Thorat

      Hello Vincent / Team,

      Do we need any license to enable "Intelligent Intercompany Reconciliation" microservice?

      https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/4ebf1502064b406c964b0911adfb3f01/1d20dd37ae194b5cbe742c2c6803ecc6.html

       

      Regards

      Anil

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      For our Cloud deployments (SAP S/4HANA Cloud, public and private cloud editions), the secice comes at no additional cost.

      For OP customers, the license can be found in CPEA (see here: SAP Discovery Center - Services (cloud.sap)) – measured in blocks of 100 records (to be matched).

      Author's profile photo Ram Bharadwaj
      Ram Bharadwaj

      Hi

      I had a query.

      I have a matching method and i have executed the Auto Run. I have also made manual matching and assignment.

      I had to make some changes in Matching method. I had added one more GL in the the filter. But the data pertaining to the new GL does not reflect in Match Assignment.

      Are changes in method filters ineffectual after Match run is performed?

      What is the recommended way to perform changes in matching method?

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Please check SAP Note: https://launchpad.support.sap.com/#/notes/3114279

      Author's profile photo Ram Bharadwaj
      Ram Bharadwaj

      Hi

      In the manage reconciliation close app, we can see the the reconciliation details. In my case it only shows the reason code wise summary for the leading Display group of that reco case.

      How can we see the reason code wise summary for all the matched items in that method?

       

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      There is an app named "Display Matching Items", where you can group by any fields you want.

      Author's profile photo Ram Bharadwaj
      Ram Bharadwaj

      Manage Reconciliation Close - When we close a reconciliation for a particular Fiscal year period, we can see that any "temporary resolution" items get removed from the Closed period after the matching in next FISCYEARPER.

      Is this normal behaviour? Closed reco for a period is getting changed. How can business track reconciliation for past periods if closed reco gets changed by unassign?

      How can we achieve UNASSIGN for Temporary resolution and reporting of reconciliation using Reconciliation close?

       

       

      Author's profile photo Ram Bharadwaj
      Ram Bharadwaj

      For audit purposes business requires the reason code wise differences for a past period. This should include the temporary as well. We have this feature in our existing Automated fin reco solution where temporary matched value is saved even after they unmatched in subsequent periods.

       

      Do we have any such report in ICMR where permanent and temporary assigned differences are shown for past period?

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      Hi

      This is a known limitation that there is no snapshot on the recon statements. Since the recon status is on YTD base, it always report the value of the latest period. The previous periods are impacted by the "temporary resolution".

      The solution is to save a snapshot when you close the recon status. The snapshots are only for audit purpose, while only the latest YTD results are used for elimination. You can submit your requestion in the customer influence portal.

      B.R.

      Vince.

      Author's profile photo Ram Bharadwaj
      Ram Bharadwaj

      Hi

      Is it possible to assign multiple reason codes to a match? In AP AR there is a scenario where difference is on account of Under invoicing and maybe GST differences. Is it possible to split the amount of difference and assign multiple reason codes?

       

      How to deal with this situation?

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      No. We will never design in this way. But you can think about create different rules on different accounts.

      Author's profile photo Rose Nguyen
      Rose Nguyen

      Hi,

      We encounter the issue that when certain pairs of Company & Trading partner are closed in Manage Reconciliation close and the matching run is scheduled to run centrally without restriction, we often get the error that Reconciliation is not open for pair .... and the job is failed. Do you have any idea to schedule the job to run only for open case? (filter in parameters ...?)

      Thank you.

      Author's profile photo Vincent Zhang
      Vincent Zhang
      Blog Post Author

      This is a known issue that once a pair is closed, any other pairs that contain one of the entities in the closed pair will be blocked for matching. Already in the queue, but there is no planned date on release.