Odoo Multi-Currency Accounting in Australia: How It Works and What to Watch
How Odoo multi-currency accounting works for Australian businesses: automatic exchange rates, foreign bank accounts, gains and losses, and BAS in AUD.
By Auboros ·
Plenty of Australian businesses trade in more than one currency without thinking of themselves as international. You invoice a New Zealand customer in NZD, pay a supplier in USD, or hold a EUR account for European sales. Meanwhile your books, your Business Activity Statement (BAS) and your tax reporting all stay in Australian dollars. Odoo multi-currency accounting handles that split well, but only when the setup matches how the ATO expects foreign amounts to be converted. This post covers how it works and where it goes wrong.
How Odoo multi-currency accounting works
Multi-currency is built into Odoo Accounting rather than bolted on. You activate it under the accounting settings, nominate a journal for exchange difference entries, and set a gain account and a loss account, as described in the official multi-currency documentation. From that point you can activate as many currencies as you trade in.
The important design decision sits underneath: every transaction is recorded in your company currency, which for Australian businesses is AUD, alongside the value in the transaction currency. Reports run off the AUD figures. An invoice raised in USD carries both the USD amount your customer sees and the AUD amount your ledger and BAS work from. You never maintain two sets of books.
Customers and suppliers can carry a default currency, so quotes, invoices and bills come out in the right currency without anyone selecting it each time.
Exchange rates: automatic updates, and which rate the ATO accepts
Odoo can update exchange rates manually or automatically. Set the interval to daily, weekly or monthly and pick the provider the rates come from. The European Central Bank is the default, with several alternatives available in the same setting.
The rate provider is not just a technical choice. GST must be worked out and reported in Australian dollars regardless of the currency on the invoice. The ATO’s foreign exchange conversion rules, set out in GSTR 2001/2, let you use a rate from the Reserve Bank of Australia, from your chosen foreign exchange organisation, or an agreed rate. The catch is consistency. Once you pick a source, you’re expected to keep using it unless you have sound commercial reasons to change.
So the practical setup rule is simple. Agree the rate source with your accountant first, then configure Odoo to match it, including the update frequency. A daily RBA-aligned rate with invoices coded properly will survive an audit conversation. A default setting nobody ever looked at is harder to defend.
Foreign currency bank accounts
If you hold a USD or NZD account, Odoo stores two values for every bank transaction: the amount in the account’s currency and the equivalent in AUD, per the foreign currency bank account documentation. You reconcile in the account’s currency and Odoo takes care of the AUD side.
One caveat for Australian setups. Odoo’s Basiq bank synchronisation covers Australian financial institutions, so a foreign currency account held with an Australian bank can still feed in automatically. An account held offshore usually means manual statement imports instead. We covered the import options in our post on Odoo bank feeds in Australia, and the matching workflow in the bank reconciliation guide.
Realised and unrealised gains and losses
Two different things happen when rates move, and Odoo handles them differently.
Realised differences appear when money actually changes hands. You invoiced USD 10,000 when the rate gave you one AUD figure, and the payment landed when it gave you another. Odoo posts the difference to your exchange difference journal automatically at reconciliation. No manual journal required.
Unrealised differences sit in open invoices and bills that haven’t been paid yet. Odoo’s unrealised currency gains and losses report lists every open foreign currency position, shows the adjustment against current rates, and posts a revaluation entry from a single button, with an automatic reversal on the date you set. It’s worth running as part of month-end close, otherwise your balance sheet shows foreign balances at whatever rate applied when each invoice was raised.
The mistake we see most is treating exchange rates as set-and-forget. Pick the rate source your accountant is happy to defend, set Odoo’s update interval to match, and glance at the gains and losses accounts monthly. Five minutes of review beats a year-end surprise.
Bill Alvarez, Practice Manager, Auboros
Where multi-currency setups go wrong
Multi-currency is a feature where configuration quality shows quickly. Capterra’s Australian research found fewer than 1 in 3 Australian businesses successfully adopt new software, and currency handling is a common reason finance teams lose confidence in a new system. The patterns we get called in to fix:
- A rate source nobody chose. The bank uses one rate, Odoo uses the ECB default, and every payment lands with a small difference. Align the provider with the source your accountant nominated.
- GST worked out from the foreign amount. GST is an AUD figure. If taxes on foreign currency invoices aren’t mapped correctly, the BAS picks up the error. Our Australian localisation guide covers how the AU tax setup should look.
- No revaluation routine. The unrealised gains and losses report exists, but nobody runs it, so the balance sheet quietly drifts from reality.
- Overseas supplier bills entered in AUD. The bill should carry the supplier’s currency so the payment reconciles cleanly. This matters for accounts payable runs where foreign bills sit alongside domestic ABA batches.
None of these are hard to fix. They’re just easy to miss when multi-currency gets switched on as an afterthought during a bigger Odoo implementation. With MYOB’s Mid-Market Survey finding 36% of Australian mid-sized businesses looking to upgrade their ERP, plenty of finance teams will be setting this up for the first time this year. It rewards being done properly on day one.
Trading in more than one currency and not sure your Odoo setup is right?
We configure Odoo multi-currency accounting for Australian businesses from our base in Brisbane, covering rate providers, foreign bank accounts and the month-end revaluation routine. If your AUD reports and your bank balances have stopped agreeing with each other, book a free consultation and we’ll take a look. No obligation, and you’ll leave knowing exactly what needs to change.
FAQ
Frequently asked questions
Does Odoo handle multiple currencies?
Yes. Odoo Accounting records every transaction in both the transaction currency and your company currency, AUD for Australian businesses. You can invoice, bill and hold bank accounts in as many currencies as you activate, and exchange rates can update automatically on a daily, weekly or monthly schedule.
Which exchange rate should I use for GST in Australia?
GST must be worked out and reported in Australian dollars. The ATO accepts a rate from the Reserve Bank of Australia, your chosen foreign exchange organisation, or an agreed rate, applied consistently. Set Odoo's rate provider to match whichever source you and your accountant nominate.
What are unrealised currency gains and losses in Odoo?
They're the difference between the exchange rate on your open foreign currency invoices and bills and the current rate. Odoo's unrealised gains and losses report shows the adjustment and can post a revaluation entry with an automatic reversal, which is worth running at each month end.
Can Odoo bank feeds work with a foreign currency account?
If the account is held with an Australian financial institution, Odoo's Basiq synchronisation can usually feed it automatically, including foreign currency accounts. Accounts held with overseas banks typically need manual statement imports in formats like OFX or CSV instead.