Intercompany differences are almost always caused by four things: timing, FX, disputes over the charge, and posting to the wrong counterparty. A reconciliation process that separates those four causes — instead of investigating every difference from scratch — closes the majority of open items automatically and leaves only genuine disputes for people to resolve.
In a group with entities across several EU jurisdictions, intercompany balances are the most reliable source of close delay. They also draw audit attention, because unexplained eliminations distort consolidated results.
The instinct is to add more reconciliation effort. The better fix is to make differences impossible or self-explaining at the point of posting.
Automated matching works when the data supports it. Three design choices do most of the work: a mandatory trading-partner dimension on every intercompany posting; a shared transaction reference generated by the initiating entity; and a materiality threshold below which differences are written off automatically under a documented policy.
Matching then runs in tiers — exact reference match, then amount and counterparty match within a date window, then fuzzy match for review. Only what falls through reaches a person.
The auditor receives a counterparty matrix where every pair agrees or has a documented, aged explanation categorised by cause. That is a five-minute conversation instead of a sample-based investigation.
Almost always for structural reasons rather than error: timing differences at period cut-off, FX translated at different rates, one-sided postings, and inconsistent counterparty coding across ledgers.
Set an explicit threshold per counterparty pair, require an owner and an explanation for anything above it, and age the residual. An unexplained difference carried forward is the finding an auditor will raise, regardless of size.