Multi-Currency Consolidation in Excel for Groups

How to consolidate an overseas subsidiary into an AUD presentation currency in Excel, covering rate tables, translation worksheets and the translation reserve.

James Xu, CA

An Australian group with an overseas subsidiary runs two sets of numbers that describe one business. The subsidiary reports in the currency its customers, its staff and its lenders work in. The group reports in Australian dollars because that is what its shareholders, its bank and the ATO read. Translating one into the other is a defined exercise with rules set out in AASB 121, and those rules are specific about which rate applies to each line of the statements.

The failure that costs the most time is a workbook that picks one rate and applies it everywhere. Profit then moves whenever the exchange rate moves, the balance sheet stops balancing, and the difference lands in a suspense line nobody can explain two months later. Each line has a rate that applies to it, so the model's job is to apply those rates consistently and prove that the translated statements still balance.

What follows covers the rate set, the lookup table, the translation worksheet layout, the translation reserve that makes the balance sheet tie, and the errors that break it. The mechanics assume an Australian parent presenting in AUD with at least one overseas subsidiary.

Functional Currency and Presentation Currency

AASB 121 separates two ideas that are easy to run together in a spreadsheet. The functional currency of an entity is the currency of the primary economic environment in which it operates, judged from the currency that mainly influences its sales prices and costs and the currency in which its financing and receipts are denominated. The presentation currency is the currency in which the group chooses to present its financial statements. The first is a finding about the business, and the second is a reporting decision.

That distinction decides whether a translation step exists at all. A subsidiary whose functional currency is already AUD holds its ledger in AUD, and the group adds those balances to the consolidation with no translation layer. Such an entity can still hold foreign currency balances and run transaction gains and losses through its own profit and loss under AASB 121.21. A subsidiary whose functional currency is USD, reporting into a group that presents in AUD, is a different case. Every line of its statements is translated each period, and the difference between the rate for one line and the rate for another is a translation difference.

Because the functional currency drives every rate on the page, it belongs in the workbook as a stated input on the entity tab, with a short note on the facts that support it. A reassessment applies prospectively, and recording the original basis makes that review straightforward.

The Rate Set a Consolidation Needs

Four rates and one derived line do most of the work.

Line translatedRate appliedBasis
Income and expensesAverage rate for the periodAASB 121.39(b) translates income and expenses at the rates on the transaction dates, and an average rate for the period is the accepted approximation
AssetsClosing rate on the reporting dateAASB 121.39(a)
LiabilitiesClosing rate on the reporting dateAASB 121.39(a)
Contributed equityHistorical rate on the date the capital was committedEquity items are translated at the rates ruling when they arose
Retained earningsOpening balance at the prior closing rate, current result at the current average rateFollows the rates at which the profit arose
Dividends paid to ownersRate on the date of paymentApplied on the payment date
Goodwill and fair value adjustments from the acquisitionClosing rate, as assets and liabilities of the foreign operationAASB 121.47
The exchange differenceBalancing figureAASB 121.39(c), recognised in other comprehensive income

The closing rate for a month is the rate on the last day the market quoted in that month. A month ending on a Saturday takes Friday's rate, and the rate table records which date the quote came from so the source can be traced. Where the rate moved a long way inside the period, the average rate remains the standard's approximation and the difference lands in the reserve.

Building the Rate Table and the Lookup

The rate table is one sheet, one table, one row per entity per month. Nothing else in the workbook holds a rate, so a rate change is a single edit in a visible place.

EntityCurrencyMonthAverage (AUD per 1 unit)Closing (AUD per 1 unit)Last quoted date
AUDPTAUD2026-091.00001.000030/09/2026
USSUBUSD2026-091.50001.520030/09/2026
EUSUBEUR2026-091.63001.650030/09/2026

Quoting every rate as the AUD value of one unit of the foreign currency reduces the translation to a single multiplication and removes the direction errors that come from mixing conventions across a workbook. The quotes sheet underneath holds the daily series, and the monthly rows are formulas built from it.

' Quotes sheet: Entity | Date | Month | Rate (AUD per 1 unit), refreshed from the source
' Rates sheet: one row per entity per month
Rates[Key]     = [@Entity] & "|" & TEXT([@Month], "yyyy-mm")

Rates[LastObs] = MAXIFS(Quotes[Date], Quotes[Entity], [@Entity], Quotes[Month], [@Month])
Rates[Closing] = XLOOKUP(1, (Quotes[Entity]=[@Entity]) * (Quotes[Date]=[@LastObs]), Quotes[Rate], "no rate")
Rates[Average] = AVERAGEIFS(Quotes[Rate], Quotes[Entity], [@Entity], Quotes[Month], [@Month])

' Translation worksheet rate block, reached by entity code and period end
B2 entity code and B4 period end, then:
B5 Average rate  = XLOOKUP($B$2 & "|" & TEXT($B$4,"yyyy-mm"), Rates[Key], Rates[Average])
B6 Closing rate  = XLOOKUP($B$2 & "|" & TEXT($B$4,"yyyy-mm"), Rates[Key], Rates[Closing])
B7 Historical rate = a stated constant per equity item

The rate block is the only place a rate appears, so any AUD number can be followed back to one rate cell and one quote date.

The Translation Worksheet

Each entity gets a column set on one sheet. Each block carries a local currency column, a rate column and an AUD column, and the rows sit in a fixed group layout so the group column can reference the same row number in every entity block. Adding a subsidiary is then a copy of one block plus a change of entity code.

BlockRowsRate applied
Income statementRevenue, cost of sales, operating expenses, profit before tax, tax, profit for the periodAverage
AssetsCash, receivables, inventory, property plant and equipment, total assetsClosing
LiabilitiesPayables, borrowings, provisions, total liabilitiesClosing
Net assetsTotal assets less total liabilitiesClosing
EquityShare capital, opening retained earnings, profit for the period, translation reserve, total equityHistorical, prior closing, average, balancing
Control rowTranslated net assets less total equityMust equal zero

The rate column carries a rate type rather than a typed number, and one formula resolves that type to the rate held in the entity's rate block. The effect is one rate cell per entity per period, which makes a rate change visible and keeps the audit trail short.

' Rate type in D, rate in E, AUD in F, local amount in C
' B5 = average rate, B6 = closing rate, B7 = historical rate from the rate block
E12 = IF($D12="A", $B$5, IF($D12="C", $B$6, IF($D12="H", $B$7, NA())))
F12 = ROUND($C12 * $E12, 0)

' Balance sheet control row for the entity block
= ROUND(SUMIF($A:$A, "Net assets", $F:$F) - SUMIF($A:$A, "Total equity", $F:$F), 0)

The Translation Reserve Sits in Equity

The exchange difference that falls out of the two rate sets is recognised in other comprehensive income and accumulated in a separate reserve within equity, which is the treatment AASB 121.39(c) requires. The same net assets are being expressed at a different rate, and no transaction has occurred at the group level, so the reserve stays out of profit and loss.

Two numbers belong in the workbook for that reserve. The movement for the period appears in the statement of comprehensive income, and the cumulative balance sits in equity. Separate columns let a disposal of the foreign operation in a later year reclassify the cumulative amount to profit and loss under AASB 121.48 without rebuilding the model. The same reserve carries the exchange differences on monetary items that form part of the parent's net investment in the subsidiary.

The reserve is the reason the translated balance sheet ties. Assets and liabilities are translated at the closing rate, each equity item at its own rate, and the reserve absorbs the difference. Take the row out of the layout and the statement stops balancing.

A Worked Example That Still Ties

USSUB reports in USD into a group that presents in AUD for the period ended 30 September 2026. The average rate for the period is 1.5000, the closing rate is 1.5200, share capital was committed at 1.4000, and the prior period's closing rate was 1.4500. All rates are stated as the AUD value of one USD.

LineUSDRateAUD
Revenue600,0001.5000 average900,000
Expenses550,0001.5000 average825,000
Profit for the period50,0001.5000 average75,000
Total assets800,0001.5200 closing1,216,000
Total liabilities300,0001.5200 closing456,000
Net assets500,0001.5200 closing760,000
Share capital300,0001.4000 historical420,000
Opening retained earnings150,0001.4500 prior closing217,500
Profit for the period50,0001.5000 average75,000
Translation reservederivedbalancing47,500
Total equity760,000

The arithmetic runs as follows. Assets translate at 800,000 x 1.5200 = 1,216,000 and liabilities at 300,000 x 1.5200 = 456,000, so translated net assets are 1,216,000 less 456,000 = 760,000, which is also 500,000 x 1.5200. Translated equity before the reserve is 420,000 + 217,500 + 75,000 = 712,500. The reserve is the difference between the two, 760,000 less 712,500 = 47,500. Liabilities plus equity come to 456,000 + 420,000 + 217,500 + 75,000 + 47,500 = 1,216,000, which equals total assets. The balance sheet ties, and the income statement ties with it, because revenue of 900,000 less expenses of 825,000 gives the profit of 75,000 shown in the table.

The reserve is a credit of 47,500 because the AUD weakened against the USD over the period. Capital was committed at 1.4000 and the prior year closed at 1.4500, so the same USD net assets translate into more AUD than the equity items brought with them.

What a Changing Closing Rate Does to the Ratios

The closing rate is the largest single lever on the translated balance sheet. A rate move changes every translated asset and liability in proportion, so a 5% fall in the closing rate takes the same translated net assets from 760,000 to 722,000 while profit, translated at the average rate, holds at 75,000.

Ratios that mix the two rate sets move for reasons the business did not cause. Net debt is translated at the closing rate while EBITDA is translated at the average rate, so net debt to EBITDA improves when the closing rate falls below the period average, with the debt and the earnings unchanged in the subsidiary's own currency. Interest cover behaves the same way where the borrowings and the interest are denominated in the foreign currency. Goodwill recognised on the acquisition is treated as an asset of the foreign operation and translated at the closing rate under AASB 121.47, so reported group goodwill moves with the rate. A bank pack should state the rates used and the translation effect on the headline ratio.

Intercompany Balances Held in Different Currencies

A parent lends USD 100,000 to its US subsidiary, or invoices a management fee in USD. Each leg is a monetary item and each side is translated at the closing rate, so the two balances net to zero on consolidation. A difference appears when the two sides have been translated on different bases, and the usual cause is a parent receivable left at the rate on the invoice date and never retranslated.

Where the loan forms part of the parent's net investment in the subsidiary, the exchange difference on the parent's leg goes to the translation reserve so that both sides of the group entry sit in the same place. A real difference, such as an invoice in transit, a charge recorded in the wrong month or a payment dated after year end, belongs in the entity's ledger or in a reconciliation item that clears next month. Absorbing a real difference into the reserve turns an accounting difference into a plug, and a plug hides the cause of the break.

Keep intercompany balances in one currency at both ends where the commercial arrangement allows it, and reconcile the two sides to the dollar before the consolidation runs. A reconciliation showing a 1,200 difference caused by a fee recorded in the wrong month is useful information. The same 1,200 inside a translation reserve is a finding for the next reviewer.

Common Errors and Where They Show Up

Several errors account for most broken translations. Applying the closing rate to the whole income statement moves profit by the rate change for the period and pushes the offset into the reserve, which hides the cause. Translating the equity section at the closing rate removes the reserve and leaves a plug that grows every month. Failing to restate comparatives at the prior period's rates turns a rate move into an apparent movement in performance.

Hard-coding a rate inside a formula hides it from a reviewer, who cannot tell which period the rate belonged to or where it came from. Leaving the translation reserve out of the balance sheet layout guarantees that the statement will not tie, and the difference then surfaces in someone else's review.

One boundary is worth keeping clear in the model. Translation exposure is the accounting difference that arises from restating net assets at a different rate, and it is reported in the translation reserve. Transaction exposure is a cash question, such as a forecast USD receipt that will be converted at an unknown rate, hedged with a forward or an option and recognised in profit and loss. The two are reconciled separately, and the treasury side of that work is covered in the currency risk model for import and export businesses.

FAQs

Frequently asked questions

What rates do I use to translate a foreign subsidiary into AUD?

Under AASB 121 the income statement is translated at the average rate for the period, assets and liabilities at the closing rate on the reporting date, and share capital at the historical rate on the date it was contributed. Dividends are translated at the rate on the payment date. The exchange differences between those rates are recognised in other comprehensive income and accumulated in a translation reserve within equity.

Why is the translation difference kept out of profit and loss?

The difference comes from restating the same net assets at a different rate, so it reflects a change in how the results are expressed rather than a realised gain or loss on a transaction. AASB 121 requires it in other comprehensive income, accumulated in a separate reserve within equity. It is recycled to profit and loss only when the foreign operation is disposed of.

Do I translate equity at the closing rate?

Contributed equity is translated at the historical rate on the date the capital was committed, and retained earnings at the rates at which the profit arose, which in practice means the opening balance at the prior closing rate and the current result at the current average rate. Only assets and liabilities use the closing rate. Translating the whole equity section at the closing rate removes the translation reserve and leaves the balance sheet with a plug.

Can Excel handle a group consolidation with two or more currencies?

Yes. A monthly rate table keyed by entity and month, a translation worksheet with local, rate and AUD columns for each entity, and a consolidation worksheet that adds the translated columns give a repeatable monthly process. The two checks that matter are that translated assets equal liabilities plus equity including the translation reserve, and that intercompany balances net to zero.

Related reading