River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

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.

PairCcyLocal amountSubmittedImplied rateReads asRequiredFinding

The three findings, and there is no fourth

CleanThe implied rate is the required rate. Anything left is economic
Wrong rowIt matches another rate type exactly. Average where closing was needed
Quote invertedIt 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.

Four of the sheets, filled in for one month end

The tie-out that names the rate, the rate table it looks into, the draft entries, and the worksheet where every column foots to zero.

Intercompany Tie-out

Halloran Group Inc at 31 August 2026, an illustrative group. Both balances are denominated in the subsidiary’s currency, so exactly one number on each row needed converting.

PairCcyLocal amountSubmitted USDImplied rateReads asRequiredFinding
CanadaCAD229,600.00319,029.201.389500closing row, quoted units per USD0.719683closing quote inverted
GmbHEUR221,300.00257,770.241.164800average row, quoted USD per unit1.159800average rate used
PairParent sideApparent differenceRate errorReal movementAdds backShare of net incomeThreshold
Canada165,286.00(153,743.20)(153,789.98)46.78(153,743.20)35.6985%Yes
GmbH256,730.00(1,040.24)(1,106.50)66.26(1,040.24)0.2568%No

The implied rate is the submitted figure divided by the local amount. 1.389500 is the published Canadian dollar quote itself, applied without inverting its basis. 1.164800 is the average row, exactly, to six decimal places. A quotient that matches a rate table cell that precisely is a lookup, not an approximation, and it names the cell. The lower block splits each difference into the mistake and the unrecorded exchange movement, and proves the two add back.

FX Rate Table

Closing and average are the H.10 figures for the week to 28 August 2026, the average being the mean of the five daily quotes in that release. Historical rates are the group’s own capital contribution records, because they are facts about a transaction rather than a published figure.

CurrencyTypePublished quoteQuote basisUSD per unitApplies to
EURClosing1.1598USD per unit1.159800Assets and liabilities
EURAverage1.1648USD per unit1.164800Income statement
EURHistorical1.0925USD per unit1.092500Contributed capital and opening retained earnings
CADClosing1.3895units per USD0.719683Assets and liabilities
CADAverage1.3860units per USD0.721501Income statement
CADHistorical1.3193units per USD0.757978Contributed capital and opening retained earnings

Four rows apart, in the same published table, the euro is quoted in dollars per euro and the Canadian dollar in Canadian dollars per dollar. The release distinguishes them with an asterisk and nothing else. The Quote Basis column is what stops that becoming a ninety three percent error, and the derived USD per Unit column, carried to six places because the reciprocal of a four decimal quote is not a four decimal number, is the only column anything downstream is allowed to multiply by.

Elimination Entries

Drafted on the corrected translation, after the tie-out. Each entry balances on its own, because a reviewer has to be able to accept or reject each judgement separately.

RefAccountDebitCredit
E1Intercompany payable - Parent (GmbH)256,663.74
E1Foreign exchange loss (Parent)66.26
E1Intercompany receivable - GmbH (Parent)256,730.00
E1Entry balances to0.000.00
E2Intercompany payable - Parent (Canada)165,239.22
E2Foreign exchange loss (Parent)46.78
E2Intercompany receivable - Canada (Parent)165,286.00
E2Entry balances to0.000.00
E3Intercompany revenue - GmbH (Parent)612,000.00
E3Intercompany cost of sales - Parent (GmbH)611,985.92
E3Foreign exchange loss (Parent)14.08
E3Entry balances to0.000.00
E4Cost of sales24,597.04
E4Inventory24,597.04
E4Entry balances to0.000.00
E5Share capital (GmbH)1,311,000.00
E5Investment in Halloran GmbH (Parent)1,311,000.00
E5Share capital (Canada)606,382.40
E5Investment in Halloran Canada (Parent)454,786.80
E5Non-controlling interest151,595.60
E5Entry balances to0.000.00
E6Retained earnings, opening44,796.50
E6Net income attributable to non-controlling interest14,033.20
E6Cumulative translation adjustment9,957.60
E6Non-controlling interest48,872.10
E6Entry balances to0.000.00

E1 and E2 do not net to nothing, and the residue is real money: the parent holds a foreign currency receivable that had not been brought to the closing rate, so 66.26 and 46.78 go to earnings rather than to the translation adjustment. E3’s 14.08 is an exchange effect on an intercompany sale recorded at one rate and translated back at another. E4 applies the margin in euro and then translates, never the reverse, or unsold goods would carry a different profit every month the rate moved.

Consolidation Check

One row per consolidated line, one column per entity. Every column foots to zero, not only the last one.

Consolidated lineParentGmbHCanadaCombinedElimsConsolidated
Accounts receivable2,418,300.00854,076.72369,053.443,641,430.163,641,430.16
Cash1,284,600.00485,028.36213,314.041,982,942.401,982,942.40
Cost of sales2,418,700.001,262,992.64622,222.464,303,915.1024,597.044,328,512.14
Foreign exchange loss98.9698.96
Income tax expense290,400.0052,532.4856,060.63398,993.11398,993.11
Interest expense56,400.0056,400.0056,400.00
Inventory1,642,900.00687,529.44276,790.082,607,219.52(24,597.04)2,582,622.48
Net income attributable to non-controlling interest14,033.2014,033.20
Operating expenses1,834,500.00406,398.72337,878.922,578,777.642,578,777.64
Property and equipment, net3,086,400.001,002,415.14461,460.744,550,275.884,550,275.88
Accounts payable(1,806,200.00)(584,191.26)(251,097.40)(2,641,488.66)(2,641,488.66)
Accrued liabilities(742,800.00)(216,186.72)(102,410.89)(1,061,397.61)(1,061,397.61)
Additional paid-in capital(2,850,000.00)(2,850,000.00)(2,850,000.00)
Common stock(100,000.00)(100,000.00)(100,000.00)
Cumulative translation adjustment(103,953.92)39,830.39(64,123.53)(9,957.60)(74,081.13)
Long-term debt(2,400,000.00)(2,400,000.00)(2,400,000.00)
Non-controlling interest(200,467.70)(200,467.70)
Retained earnings, opening(2,490,402.80)(388,274.50)(179,186.00)(3,057,863.30)44,796.50(3,013,066.80)
Revenue(4,218,600.00)(2,502,689.28)(1,072,294.79)(7,793,584.07)(7,793,584.07)
TOTAL, every column foots to zero

Six lines are missing from this worksheet on purpose: the two intercompany balances, the two intercompany trading lines and the two investments all net to nil rather than to something small, so they carry no consolidated figure. Consolidated net income is 430,802.22, of which 14,033.20 belongs to the outside quarter of the Canadian subsidiary. The euro rate error was 1,106.50, which is 0.2568% of that income and 0.0074% of group assets.

What's in the pack

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

07

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.

08

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.

09

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.

10

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. 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. 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. 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. 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