Home · Solutions · Finance & accounting

Solution · Finance & accounting

Both ledgers matched before consolidation, and the net settlement written for treasury

Intercompany balances that agree before the group close

Robots pull intercompany open items from every entity, match them and classify the differences; the two controllers of a pair settle it in Teams and treasury receives the netting proposal.

EnterpriseMicrosoft TeamsHuman in the loopDeterministic automation
1,900intercompany open items are matched by hand before every consolidation in this illustrative group of fourteen entities, spread over seven countries.

Executive summary

Challenge

Your entities disagree about what they owe each other, and the consolidation waits for an email.

What changes

The engine Mientha builds sits between the entity ledgers and the consolidation.

Business value

Reconciliation starts the hour an entity's ledger is ready, not the day the last one uploads.

Systems involved

SAP S/4HANA and the local ERPs for corrections; the SharePoint evidence library; the treasury settlement instruction

Business problem

Group accounting

Groups trade with themselves constantly: components between plants, management recharges, royalties, interest on internal loans, shared-service fees. Each creates a receivable in one set of books and a payable in another, and the consolidated accounts may show only what the group owes the outside world. Article 24(7) of the EU Accounting Directive is plain: debts and claims between the undertakings in a consolidation are eliminated. The elimination is arithmetic. Agreeing what there is to eliminate is not.

That agreement is where the month goes. Two controllers, each trusting their own ledger, compare lines posted on different days, converted at different rates, referenced in whatever format the sending ERP produced. One books a recharge when it was raised, the other when it was approved. Goods left the plant on the 29th and arrived on the 3rd. A cost the receiving entity never accepted was posted anyway. None of that is visible from a total.

At fourteen entities the work stops being linear, because fourteen entities make up to ninety-one possible pairs. Every acquisition brings its own chart of accounts, its own reference format and often its own ERP, while the deadline stays where it was. What cannot be agreed by the cut-off goes to a difference account and is explained to the auditor again a year later. Treasury settles gross, because nothing was agreed in time to net.

How it works today

This is the shape of the intercompany close in most groups that have grown by acquisition.

  1. PersonEach entity's controller exports intercompany open items and balances into the group matching workbook on SharePoint
  2. WaitingThe workbook is usable only when the fourteenth entity has uploaded, normally working day three
  3. PersonControllers work a pair at a time, filtering on invoice number, then amount, then anything close enough to be the same document
  4. SystemLines that will not match are re-queried in both ERPs one at a time, and the rate applied is checked against the group rate table
  5. PersonWhat cannot be agreed becomes an email thread between the two entities, escalated to the group controller when it stalls
  6. WaitingPairs still open at the cut-off go to a difference account and are explained in a note
  7. Risk of errorSince nothing was agreed in time, invoices between entities are paid gross, and last quarter's disputed recharge is settled to stop a dunning notice
PersonWaitingSystemRisk of error

Why the current process costs more than it appears

Time that disappears before anyone measures it.

  • Half the effort proves that two ledgers already agree, precisely the half a rule can do. The other half, deciding whose posting is wrong, is what controllers are paid for and what gets squeezed into the last two days.
  • Differences nobody closes do not go away. They land in a difference account, carry forward with the same comment for four periods, and are written off with no evidence of what they were.
  • Treasury pays for the delay. Balances not agreed in time cannot be netted, so payments cross borders they need not cross, each with a charge and a conversion, while cash sits in one entity and another draws on its facility.
  • Knowing which pairs are difficult is not a recorded asset. Ask why two entities never agree and the answer is a name, not a file, and that name takes holidays.

Cost of inaction

A year of closes at today's matching effort≈ €109,440
The same calendar held for three years≈ €328,200
Two acquisitions later, at 2,500 open items a close≈ €144,000

Consolidation never stops for an unexplained difference; it books one and carries on. That is why this survives every review: the group result is produced on time, the auditor receives a note, and the hours above are spread thinly across fourteen finance teams where no cost centre records them as reconciliation.

What compounds is the settlement side. Balances nobody agreed cannot be netted, so gross payments keep crossing borders they need not cross while the group finances working capital it already owns, and each new entity multiplies pairs rather than adding to them.

Illustrative scenario

A plausible organisation with realistic proportions. The figures are there to be recalculated on your data; they are not a client result.

Organisation

An industrial group with 14 legal entities in 7 countries, built partly by acquisition; nine entities run SAP S/4HANA, five run local ERPs; Microsoft 365 E3; group accounting sits in a shared-service centre with a controller in each country.

Volume

About 1,900 intercompany open items reconciled per close, plus balances on around 40 intercompany accounts per entity; four currencies; group deadline on working day eight.

Current process

Each entity uploads an export to a matching workbook, controllers match by invoice number and amount, and what stays unresolved travels by email until the cut-off forces it into a difference account.

Bottleneck

Roughly nine minutes of handling per open item, and no pair can start until the last entity has uploaded, so the reconciliation is compressed into working days three to seven.

Solution

Robots pull open items and balances from every ERP on the close calendar, match them by document reference, currency and date, classify what does not match, and push each unmatched pair to its two named controllers as one task in Microsoft Teams; treasury receives the netting proposal from the agreed balances.

Potential outcome

In the modelled case the share of items reaching a person falls from 100% to 12 to 18%, the last pair agrees on working day two or three rather than six to eight, and settlement moves from gross to one netted instruction per currency. Illustrative figures, not a client result.

Proposed solution

The engine Mientha builds sits between the entity ledgers and the consolidation. On the close calendar robots pull intercompany open items, balances and the trading-partner field from each ERP: SAP OData and SAP BAPI connectors for the nine SAP entities, an API or a scheduled export for the local systems. Orchestrator holds one queue item per pair, so a pair is worked while other entities extract.

Matching runs in passes, the way a controller does it: the intercompany document reference first, then amount, currency and posting date inside a group tolerance, then partial settlements grouped many-to-one so three payments against one invoice are not four differences. Foreign-currency items are compared at the group rate, which removes translation noise before anyone looks. What remains is classified as timing, foreign exchange, goods in transit, disputed charge or missing posting.

People see the disagreement, never the arithmetic. Each unmatched pair becomes one Action Center task for its two named controllers, completed inside Microsoft Teams, carrying the amounts, the cause, the proposed treatment and a link to the evidence workbook with both ledger extracts. Agreed corrections are posted or accrued in the entity that owns them. When the window closes, the netting proposal per currency and the settlement instructions follow from the agreed balances. Treasury releases the run in the Teams Approvals app; the automation prepares money movements, it never makes them.

Native capabilities used

UiPath Orchestrator queues, triggers, credential store and audit; SAP OData and SAP BAPI connectors, with SAP WinGUI activities where no interface exists; UiPath Integration Service connectors for Microsoft Teams and Microsoft OneDrive & SharePoint, plus Connector Builder; UiPath Action Center tasks with SLAs, completed in Microsoft Teams; Microsoft Teams Approvals app; Power BI as a channel tab

What we build

Extraction per ERP and the close calendar, the matching passes and tolerance policy, the five-cause taxonomy, controller pairing and routing, correction and accrual posting, the netting calculation, the evidence workbooks and the dashboard

Custom integration

SAP S/4HANA extraction and correcting postings through BAPI/OData; the local ERPs through their REST interface where one exists and a scheduled export where it does not; the treasury settlement file

How the automated process works

  1. AutomationAt the cut-off Orchestrator starts one job per entity; robots pull open items, balances and trading-partner data from each ERP into the queue
  2. AutomationMatching runs in passes: document reference, then amount, currency and date within tolerance, then partial settlements grouped many-to-one, foreign currency at the group rate
  3. AutomationEvery unmatched pair is classified as timing, foreign exchange, goods in transit, disputed charge or missing posting, and its evidence workbook is written to SharePoint
  4. PersonEach unmatched pair reaches its two named controllers as one Action Center task in Microsoft Teams, with the amounts, the cause and a link to both ledgers
  5. AutomationAgreed corrections are posted or accrued in the entity that owns them, and the pair closes with a record of who agreed what and when
  6. AutomationOnce the window closes, the netting proposal per currency, the settlement instructions and the per-entity statements go to treasury
  7. AutomationMatched share, open differences by cause and age and netting exposure by currency refresh in Power BI and post daily to the close channel
AutomationPerson

Human-in-the-loop model

Automation handles

  • Extraction from every entity's ledger on the close calendar, local ERPs included
  • The matching passes, the currency treatment and the classification of what does not match
  • Posting or accruing the corrections the controllers agreed, in the entity that owns them
  • The netting calculation, settlement instructions, statements and the close dashboard

People decide

  • Which side of an unmatched pair is wrong and how the difference is treated, one pair at a time in Teams
  • Whether a disputed recharge stands, which is a commercial question between two entity managers
  • Release of the netting run and its execution, which belong to treasury, not to group accounting
  • Tolerances, the difference taxonomy and the netting policy, which stay with the group controller

Before and after

BeforeAfter
Handling per open item~9 minseconds when matched, minutes for a real difference
Working day the last pair agrees6 to 8modelled 2 to 3
Items opened by a person100%modelled 12 to 18%
Settlementgross, invoice by invoiceone netted instruction per currency

Systems and integrations

The stack is deliberately short: one engine, one execution layer, one place where a person decides.

Inputs

  • SAP S/4HANA open items, balances and trading-partner data
  • extracts from the local ERPs of the acquired entities
  • the group rate table
  • the recharge schedules on SharePoint

Automation layer

  • UiPath Orchestrator
  • UiPath Robots
  • UiPath Integration Service
  • UiPath Action Center

Target systems

  • SAP S/4HANA and the local ERPs for corrections
  • the SharePoint evidence library
  • the treasury settlement instruction

Human touchpoints: Action Center tasks in Microsoft Teams; the close channel with its Power BI tab; the netting release in the Teams Approvals app

SAP S/4HANA open itemsUiPath OrchestratorUiPath RobotsSAP S/4HANAAction Center tasks in Microsoft Teams

Technologies used

UiPath Robots + Orchestrator

one job per entity on the close calendar, one queue item per pair, retries, credentials, audit

A
UiPath SAP automation (SAP OData and SAP BAPI connectors, SAP WinGUI activities)

open items, balances and trading-partner data from the SAP entities; correcting postings

A
UiPath Integration Service (Connector Builder, OneDrive & SharePoint connector)

the local ERPs of the acquired entities, and the evidence library

A
UiPath Action Center

one task per unmatched pair, two named controllers, SLAs, completed as an actionable notification in Teams

A
Microsoft Teams (Approvals app)

where the two controllers agree a difference, treasury releases the netting run and close status lives as a tab

A
Microsoft Excel and SharePoint

the evidence workbook per pair with both ledger extracts, and the library behind it

A
Power BI

matched share, differences by cause and age, netting exposure by currency, in the close channel

A
Averified product capability (vendor documentation)

Illustrative economic model

Numbers you can check against your own data.

Illustrative model
1,900 intercompany open items a close × 9 minutes= 285 h / month
285 h × €32 fully loaded hourly cost= €9,120 / month
× 12 months≈ €109,440 / year
Annual capacity released (illustrative)≈ €109,440

Both sides of an open item are what the nine minutes cover: locating the counterparty document, comparing amount, currency and posting date, checking the rate applied, writing the explanation and filing the mail trail. Disputes and the judgement behind them stay with people and are not priced. €32 an hour is a fully loaded cost for a group-accounting role in Central Europe. Every figure illustrates the scenario rather than reporting a client measurement, and the model counts capacity released, not posts removed.

Run the numbers on your data

hours released per month
of annual capacity released

An illustrative estimate from your own inputs. It models released capacity; it is not a promise of savings.

Business benefits

  • Reconciliation starts the hour an entity's ledger is ready, not the day the last one uploads, so pairs are worked in parallel rather than in one compressed week
  • Controllers see disagreements only, and what reaches them carries the cause and the evidence rather than a request to go and look
  • Differences are named at source: a timing item, a rate, goods in transit, a disputed charge or a missing posting, each with the two ledger lines behind it
  • The difference account stops absorbing what the calendar did not resolve, because every item in it has an owner, a cause and an age
  • Settlement moves from gross invoice-by-invoice payment to one netted instruction per currency, removing charges, conversions and cash trapped in the wrong entity

The management view

  • The intercompany position is visible while the close runs, per pair, cause and age, not after the consolidation is built on top of it
  • One tolerance policy and one taxonomy apply in fourteen entities, and every deviation is a recorded decision by two named people
  • Treasury plans on agreed balances instead of invoices that may still be disputed, so netting is a decision rather than an estimate
  • Audit evidence exists as a by-product: both ledger extracts, the rule that matched them or the controller who did, and the correction that followed

Board-level KPIs

share of items matched without a personopen differences over 30 days by causeworking day on which the last pair agreesvalue settled net against value settled gross

Security and governance

Where the data sits and who can see it.

  • Each ledger is read by a robot account with display rights on the intercompany accounts only; posting rights exist solely where corrections are agreed, fenced to the document types the policy names
  • Secrets never sit in a workflow. Fourteen sets of ERP credentials are drawn at runtime from the credential store your tenant uses, Orchestrator's own or your Azure Key Vault, and each retrieval is logged
  • Nobody agrees with themselves: a pair closes only when both named controllers have acted, and treasury releases the netting run, not the team that prepared it
  • Ledger extracts, evidence workbooks and approvals stay in your Microsoft 365 tenant; the platform runs in the UiPath Automation Cloud EU region and the evidence library carries a Purview retention label
  • Matching rules, tolerances and the taxonomy are versioned, and a change needs the group controller's approval

Why now

01

The arithmetic is already running against you: fourteen entities consume the modelled €9,120 of controller time every close, and the payments netting would remove carry charges and conversions the model does not count

02

Groups keep acquiring, so pairs and ERPs multiply while the reporting deadline does not move, and elimination of intra-group debts and claims is required by Article 24(7) of Directive 2013/34/EU rather than by internal preference

03

The building blocks are ordinary and verified: SAP OData and BAPI connectors for extraction and posting, Connector Builder for the ERPs the acquisitions brought, Action Center tasks inside Teams. Matching is a rules problem, so nothing here needs AI

Relevant executive roles

CFO

The consolidation stops resting on a difference account and a note, and the result no longer waits for two controllers to finish an email thread

Group Controller

One policy in fourteen entities, differences named by cause rather than by size, and evidence that exists without being assembled

Group Treasurer

Agreed balances arrive early enough to net, so intercompany cash stops crossing borders it did not need to cross

Common questions and objections

Our ERP already has an intercompany matching report.

It matches inside one system and one chart of accounts, which here covers nine entities and none of the five the acquisitions brought. It also stops where the disagreement starts: it shows a difference, it does not route it, classify the cause or carry the evidence.

Netting sounds like something treasury or a bank should own.

They do own it. The automation supplies what netting needs and rarely has in time, balances both entities have agreed, then produces the proposal. Release and execution stay with treasury.

Will controllers accept a robot telling them their posting is wrong?

It does not say who is wrong. It states the pair, the amounts, the probable cause and the evidence, and both controllers decide, from the same two extracts.

When this is not the right solution

  • Groups of two or three entities with a handful of monthly recharges, where a written cut-off and one shared workbook cost less than an automation
  • Intercompany documents with no usable reference and no trading-partner field, so nothing identifies the counterparty; posting discipline has to be fixed before matching can be
  • Groups whose intercompany pricing changes every period without a source of record, where the pricing file is the problem rather than the reconciliation of it

A question for the next management meeting

How much of the cash that moved between our own companies last quarter never needed to leave the group, and who signs off the intercompany difference our consolidation still carries?

Implementation approach

A scope without ambiguity, before anything is signed.

We deliver

  • One closed period taken apart: pairs and volumes, the real difference categories, the reference formats each ERP produces and where the data is readable
  • Extraction per ERP, acquired entities included, with the close calendar and its dependencies
  • The matching passes, tolerance policy, currency treatment and five-cause taxonomy, written so an auditor can read them
  • Controller pairing, the Action Center tasks in Teams, evidence workbooks, correction postings, the netting calculation and the treasury release, then rollout with a runbook

We need from you

  • Two closed periods of matching workbooks, difference lists and the email trail behind three hard pairs
  • A process owner in group accounting, plus the group controller for tolerances and the taxonomy
  • Technical accounts in each ERP with display rights on the intercompany accounts, posting rights only where corrections are agreed
  • Your netting policy and the format treasury needs, or a decision that we design it with you

Stages

Discovery

Pairs, volumes, difference causes, ERPs and data access, on one closed period

Design

Matching rules, tolerances, currency treatment, controller pairing, netting policy, security

Build

Extraction, matching engine, Action Center tasks in Teams, evidence workbooks, netting output

Validation

Replay of two closed periods against what the controllers agreed, then rule tuning

Go-live

A first live close on part of the group under supervision, then the rest, netting last

Enterprise. Effort follows the number of ERPs and charts of accounts rather than entities: two systems and a reliable trading-partner field is a short project, five systems and free-text references is not.

"Timing difference" is the phrase that closes the file and explains nothing.

Send us one closed period: the matching workbook, the difference list and the email trail behind three hard pairs. We return the share a rule would have matched and a taxonomy of your real causes.

Match two ledgers for one close

The neighbouring process usually has the same problem

Industries we deliver this in most oftenManufacturing & industryRetail & e‑commerceServices & ITShared services

Browse all 115 solutions