Group Intercompany Reconciliation Template
Four documents and five sheets that back the implied rate out of every intercompany pair, so a wrong rate gets named instead of netted.
Free download · No account needed
Intercompany Tie-out
[Group] — intercompany pairs at [__ ___ 20__]
There is no Difference column standing on its own. The rate somebody actually used is backed out of the figure they submitted and looked up in the rate table.
| Pair | Ccy | Local amount | Submitted | Implied rate | Reads as | Required | Finding |
|---|---|---|---|---|---|---|---|
| — | — | — | — | — | — | — | — |
| — | — | — | — | — | — | — | — |
| — | — | — | — | — | — | — | — |
| — | — | — | — | — | — | — | — |
The three findings, and there is no fourth
| Clean | The implied rate is the required rate. Anything left is economic |
| Wrong row | It matches another rate type exactly. Average where closing was needed |
| Quote inverted | It matches a published quote whose basis is units per dollar |
Every pair gets a row whatever the difference is. A wrong-row error is usually a fraction of a percent of group assets, so any threshold above zero deletes it.
Every intercompany reconciliation template hands you the same grid: entity, counterparty, account, our balance, their balance, difference, explanation. Fill it honestly on a group with more than one functional currency and the difference column is the least useful number on the sheet, because it is the sum of two unrelated things. Part of it is somebody applying the wrong rate. Part of it is a real exchange movement nobody has posted yet. Added together they report a figure that identifies neither.
Halloran Group Inc closes August with two intercompany balances translated wrongly. The Canadian one is out by 153,789.98, which is ninety three percent of the balance, and everybody catches it. The German one is out by 1,106.50, which is 0.2568% of consolidated net income and 0.0074% of group assets, and nothing catches it. It passes every materiality threshold anyone would set, it distorts no ratio, and the rate table that produced it will produce it again next month.
So this pack does not measure the difference. It divides the submitted figure by the local-currency amount and states the quotient as an implied rate, then looks that rate up in the table. 1.389500 is the published Canadian dollar quote applied without inverting its basis. 1.164800 is the average row, exactly, where the closing rate was required. Feed it from a normalized trial balance per entity, run it inside the monthly close pack, and prove the balances it leaves behind with balance sheet substantiation.
What's in the pack
Intercompany Tie-out sheet
One row per pair carrying the implied rate to six decimal places, the rate table cell it matches, the rate that was required, and the finding. Then the difference split into the mistake and the unrecorded exchange movement, with proof the two add back.
FX Rate Table sheet
Every rate with a quote basis that is never blank and a derived USD per Unit column that everything downstream multiplies by. Closing, average and historical per currency, each naming its source and date.
Entity Trial Balances sheet
Every account in every entity, in local currency and translated, with the rate type on each row. Foots to zero in both columns per entity, which is checked before anything is translated rather than after.
Elimination Entries sheet
Six draft entries that each balance on their own: the intercompany balances, intercompany trading, unrealized profit in inventory, investment against contributed capital, and the non-controlling interest split four ways.
Consolidation Check sheet
The worksheet with one column per entity plus combined, eliminations and consolidated. Every column foots to zero, and the six lines that eliminate to nil carry no consolidated figure at all rather than something small.
Consolidation Policy
What gets consolidated and why, how functional currency is assessed, which rate applies to which class of account, and why opening retained earnings is not translated at any rate this period.
Entity and Ownership Structure
The diagram drawn to show the elimination path rather than the ownership percentages, so every currency boundary crossed and every asymmetric elimination is visible before an entry is drafted.
Elimination Judgement Notes
One note per entry recording the judgement rather than the mechanics, including the two it deliberately does not attempt: the deferred tax on the inventory elimination, and any conclusion about the accounts.
The Rate That Survived Review
The whole check worked end to end on two errors of deliberately different size. One is ninety three percent wrong and everybody catches it. The other is a quarter of a percent wrong and nothing else catches it.
Space rule
Every rate carries its quote basis, and no rate is used without one. It governs every prompt here, and it is why nothing in this space multiplies by a published quote.
How to use it
- 1
Open in River, or download it
Open the pack in River and let the agent build it from your own entity exports, or download the blank Word and CSV files instantly with no account.
- 2
Send every entity's trial balance and your rate source
Any column layout, three ledgers with three chart conventions, and a screenshot of the page somebody copies rates from each month. None of it needs normalising first.
- 3
Build the rate table before you translate anything
Read the quote basis off how the source labels each currency rather than inferring it, derive USD per Unit once to six places, and take historical rates from the contribution records instead of an old closing rate.
- 4
Run the tie-out before drafting a single entry
Back the implied rate out of every pair whatever the size of the difference. An elimination entry that has quietly absorbed a rate error cannot be unpicked afterwards, which is why the order is fixed.
Frequently asked questions
Is this template free?
Yes. Download the whole pack as Word documents and CSV sheets, with no signup and no credit card. Edit with AI is a separate, optional path for anyone who wants the agent to translate their own entities and run the tie-out. The template library holds the rest.
Why an implied rate instead of a difference column?
Because a difference tells you a number and an implied rate tells you which cell somebody read. On the worked group the difference column reports 1,040.24 for a pair whose real finding is that the average row was used where the closing rate was required. A quotient matching a rate table cell to six decimal places is a lookup, not an approximation.
How can a rate be wrong by ninety three percent?
By being applied in the wrong direction. The H.10 release quotes the euro in dollars per euro and the Canadian dollar in Canadian dollars per dollar, in the same table, marked apart only by an asterisk. Multiply where you should divide and a 165,239.22 balance is submitted as 319,029.20.
Does this decide what to consolidate?
No, and it says so in the policy. Regulation S-X sets the presumption that consolidated statements are more meaningful when one entity holds a controlling financial interest in another, and the default that majority owned entities are consolidated. Applying that to your group is a judgement a qualified accountant makes and signs.
What format are the downloaded files?
Word documents (.docx) for the policy, the structure diagram, the judgement notes and the worked review, and CSV (.csv) for the five sheets, zipped into one file. They open natively in Word, Pages, Google Docs, Excel, Numbers and Sheets.
What does Edit with AI actually do?
It creates a free River account and installs this exact pack as a private workspace. The agent opens ready to read each entity's trial balance, build the rate table with a quote basis on every row, and run the tie-out on your own pairs. Nothing is written until you send something.
Who is this template for?
Group controllers, consolidation accountants and fractional CFOs closing more than one entity in more than one currency. The consolidated variances then get explained by the variance narrative, and a close that keeps running late gets read by the close cycle diagnostic instead.
Name the rate, do not net the difference
Download the blank pack as Word and CSV files, or open this exact pack in River and let the agent run the tie-out on your own entities.
Edit with AI