The intercompany USD/EUR puzzle
Parent in USD posts $50,000 to subsidiary in EUR on 15 March. Books close 31 March. The EUR has moved. Consolidation shows €380 variance — but it isn't a break. It's unrealised FX. Document it; books tie.
Riya at her desk in a charcoal blazer. Laptop shows a two-pane split: parent USD ledger with a $50,000 debit dated 15 March, subsidiary EUR ledger with a €46,200 credit dated 15 March. Below both, a consolidation as of 31 March shows a variance of €380.
“Two ledgers. Two currencies. One truth. Different days.”
Transcript›
The variance isn't real. The rate moved between trade-date and close-date.
Intercompany is the cleanest reconciliation that always looks dirty.
Riya pointing at the laptop. An inset table shows: Posting on 15 March at rate 0.924, Close on 31 March at rate 0.9316, with the FX gain/loss of €380 highlighted.
“Trade-date rate for posting. Close-date rate for revaluation. Document both.”
Transcript›
The €380 is an unrealised FX gain on the subsidiary side. Post it to FX revaluation. Books tie.
Settle on transaction-date rate. Reconcile on close-date rate. Document the gap.
Riya with a slight smile. Screen shows a clean intercompany mirror — parent debit reconciled with subsidiary credit, with the FX revaluation line clearly separated and audit-tagged.
“The mirror that holds.”
Transcript›
Entity A's debit mirrors Entity B's credit. The FX line is its own row. The auditor sees the whole story.
Intercompany is the cardio of close. Skip a cycle and consolidation breaks.
The longer take
Intercompany reconciliation is the close-cycle task that looks deceptively simple. Two entities of the same parent group transact with each other; the parent's debit must mirror the subsidiary's credit. In a single-currency world, the reconciliation is mechanical: check that Entity A's books show a posting equal and opposite to Entity B's books, flag any asymmetric postings as breaks, close.
The complication is cross-currency. When the parent posts in USD and the subsidiary keeps books in EUR, the postings are not equal — they are equivalent at some exchange rate. Which rate? Posting in the home currency of each entity uses the rate prevailing on the trade date (the date the intercompany transaction is recognised). Consolidation at period-end uses the rate prevailing on the close date. Between the two dates, the EUR has moved against the USD, and the gap shows up as an apparent variance.
The textbook answer is to maintain two pieces of state: the originally posted amounts at trade-date rates (which never change after posting), and the revalued amounts at close-date rates (which update at every reporting period). The difference between the two is the unrealised FX gain or loss, which is itself a journal entry posted to a dedicated FX revaluation account. With this entry in place, the intercompany mirror holds: parent debit equals subsidiary credit plus the FX revaluation row.
In practice, the failure mode is that smaller finance teams skip the FX revaluation line either because they're closing late and want to push through, or because they're not sure which entity owns the revaluation. The result is an asymmetric posting that consolidation can't resolve, which the auditor then asks about and which has to be reconstructed from memory months later. The discipline is to post the FX revaluation as part of the same close-cycle workflow as the original intercompany posting, not as a follow-up adjustment.
For mid-market companies running consolidation monthly across multiple entities and currencies, the intercompany reconciliation is the close task that disproportionately blocks subsidiaries from declaring 'done.' A tool that enforces the mirror invariant (Entity A debit = Entity B credit + FX line) catches the asymmetry the moment it occurs, before the close calendar runs out. The same tool that catches the asymmetry can also surface the FX revaluation entry as a suggested journal, leaving the actual posting decision with the controller. That's the right division of labour — software enforces the invariant; the human makes the posting decision.