Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
Showing results for 
Search instead for 
Did you mean: 

Overview of ICMR (Intercompany matching and reconciliation)

ICMR helps supercharge your intercompany reconciliation process from local close (Company code level) to corporate close (Group level). You don’t need to use any ETL (Extract transform load) process and do a near Realtime matching and reconciliation. Allows users to achieve a high level of automation and a continuous accounting process. With its built-in communication features like workflows, notes, email notifications and reminders, it reduces delays faced in a conventional reconciliation process while bringing in visibility transparency and accountability in the process.

ICMR (Scope item 40Y) was built with consolidation and elimination in mind. However, ICMR can be used either with or without Group reporting activated (Scope item 1SG). This allows users to use ICMR as a matching and reconciliation tool without consolidation.

This is the first of many blog posts on ICMR. In this blog post, we are going to discuss the usage of reason codes that form a crucial element for matching and reconciliation.


Before we dive into reason codes used in ICMR, let's understand the matching method and its role in detail.


Overview of Matching methods

  • A Matching method is a collection of matching rules.

  • Matching rules have data slices that classify the data into a leading and partner unit.

  • Matching rules also contain the matching expression that sets the rules for matching the data slices.

  • If the data slices are matched using the matching expression the system assigns them an assignment number and a reason code as specified in the matching rule.

  • Matching rules are executed in a sequential manner.

  • The system will keep executing the matching methods in the specified sequence until it finds a match.

  • Once a match is found with a matching rule the system will assign an assignment number for the matched items

  • It's not necessary that the matching method has a matching done on both sides, the system can also perform a one-sided matching.

Below is an example of a standard matching method.

Matching method


Data source: Determines the source data (General ledger/ AP, AR data/ Consolidation data)

Filter Criterion: This is a global filter that is used to select the data for the matching rules

Matching rules: Matching rules contain data slices, match type and reason codes as further explained below

Configuration Inside a matching rule showing reason code assignment



Match type: Match type determines how the data slices are matched. The list is shown below. Match type determines the expressions that are available in the matching expressions section.

Match types


For example, if you select an exact match type you cannot maintain tolerance in the matching expression. In contrast, if you use SA (Auto-assign), you can configure a variance in the matching expression.

Reason code: Reason codes help to explain the matching reason and trigger follow-up actions like trigger a workflow, require a comment or write of variance etc.

Reason codes help classify and make sense of the matched item list. You can either assign a reason code manually or automatically. The follow-up activities for reason codes can also be either manually triggered or you can set to apply automatically ( Check the box apply automatically in the reason code configuration)

Below is the list of reason codes delivered in the standard content.

To configure and customize your own reason codes use the below path

Navigate to the ICA configuration by using Tcode 'ICAIMG'

Intercompany matching and reconciliation -->Reasons and Solutions --> Maintain reason codes

Reason codes config path

Reason codes delivered by the standard content


Reason codes have additional functionality as shown below.

Reason code Configuration


No Followups: Indicates that the reason code has no further actions and is considered as matched without further action

Comment required: Makes a comment mandatory, systems add a comment if processed en masse.

Temporary resolution: Items that need to be reviewed after a follow-up data set in the future. Or can be tagged to be matched for the next period.

Workflow scenario ID: Triggers a workflow when processed. SAP provides a standard workflow for this scenario.

Trigger on Partner side: Controls whether the workflow is triggered at the partner unit's side, or the leading unit's side.

Auto follow-ups: The system triggers the follow-up without the need for the user to click on the process button on the manage assignments screen.

Adjustment class: An ABAP class that is used to implement the adjustment logic.


  • CL_ICA_DC_FIN_DOCUMENT_POST: Applicable to the posting rules defined using the Define Posting Rules app.


  • CL_ICA_FIN_JOURNAL_POST: Applicable to the document templates for adjusting the variances between accounts receivable (AR) and accounts payable (AP) of two trading companies. The template needs to be defined using the Define G/L Posting Document Templates configuration activity.


Output structure: An ABAP DDIC structure for output display.


CL_ICA_FIN_JOURNAL_POST for default structure of ICADOCM.


Reason codes play a crucial role in the matching and reconciliation of ICMR. A good understanding of reason codes will help users and consultants better handle exceptions. Trigger workflows and ease communication for discrepancies.


Related Materials

Labels in this area