Odoo bank feeds in Australia pull transactions automatically from ANZ, NAB, CBA, Westpac, Macquarie and most other Australian banks through Basiq, the country’s main open banking aggregator. The integration runs on the Consumer Data Right framework, replaces manual statement uploads, and matches the everyday convenience Xero and MYOB users expect from their accounting tool.

This shifted in late 2024 when Odoo replaced the older Yodlee-backed sync with a proper CDR-compliant Basiq integration. For Australian businesses evaluating Odoo against Xero, it removes the single most-cited objection to making the move.

Does Odoo support Australian bank feeds through Basiq and CDR

Yes — and the support is now first-class rather than the workaround it was three years ago. Odoo’s bank synchronisation in Australia runs on Basiq’s Consumer Data Right pipes, which means every transaction you’d see in your bank’s portal flows into Odoo Accounting overnight, classified by date, amount, description and counterparty.

Coverage spans the four majors (CBA, NAB, ANZ, Westpac) plus Macquarie, Bendigo, Bankwest, ING, Suncorp, Bank of Queensland, Beyond Bank, AMP, Heritage and most credit unions. Business transaction accounts, savings, credit cards and loan accounts are all in scope. Joint personal accounts can be connected, but the CDR consent flow treats them differently to single-holder business accounts — we’ll come back to that.

The headline rule of thumb: if Xero supports the feed, Odoo now does too. The two narrow exceptions are some older corporate cash-management products at NAB and Westpac, where direct file feeds (BAI2, MT940) are still the only option.

Setting up bank synchronisation in Odoo step by step

The setup is shorter than the equivalent in Xero, but a few steps trip people up. Below is the path we walk every new client through.

Step 1: Create or check the bank journal in Odoo Accounting

In Accounting → Configuration → Journals, confirm there is a bank journal for each account you want to sync. Each Odoo bank journal corresponds to one real bank account, with its own BSB, account number and default cash control account. Don’t try to consolidate two accounts into one journal — reconciliation will fight you.

Step 2: Start the bank synchronisation from the dashboard

From the Accounting dashboard, click the three-dot menu on the bank journal and choose Connect. Odoo asks for the country (Australia), routes the request through Basiq, and presents the list of supported institutions. Pick yours and the CDR consent flow starts in a new browser tab.

This is the step that surprises Xero refugees. CDR consent must be granted inside your bank’s own portal — not Odoo’s — so you log in directly with your business banking credentials and one-time code. The bank shows exactly which data it will share (account details, balances, transactions for the past 12 months) and for how long.

Step 4: Initial transaction import and date cutover

Once consent is granted, Basiq pulls the prior 12 months by default. Set your sync start date to match your Odoo opening balance, not the full 12-month window — otherwise you’ll get duplicate transactions against an opening balance that already includes them. For most BAS-quarter cutovers, the start date is the first day of the new quarter.

Step 5: Set the auto-sync cadence and notifications

Odoo defaults to a 12-hour sync. For most businesses that’s fine; for operators chasing tight cash positions we set it to four-hour. Add a notification rule so the bookkeeper gets an email if a sync fails for more than 48 hours — silent failures are the worst kind, and CDR consents do expire.

Bank feeds in Australia are governed by the Consumer Data Right, an ACCC and Treasury-administered framework that came into force for banking in 2020 and was tightened in 2023. Under CDR, your bank only shares data you’ve explicitly authorised, with an accredited data recipient you’ve named, for a duration you’ve agreed to.

Basiq is the accredited data recipient that sits between your bank and Odoo. Odoo doesn’t store your banking password or your one-time codes — only an opaque consent token that Basiq holds against your CDR authorisation. Revoking access is one click in your bank’s CDR consent dashboard; it stops the feed immediately.

Consent durations are usually 12 months, with a renewal prompt arriving roughly 30 days before expiry. We’ve seen feeds go dark on 1 July more than once because the consent expired during the prior year’s audit and nobody re-authorised — set a calendar reminder for the renewal and the problem disappears.

What bank feeds actually change for Australian businesses

A Perth wholesaler we worked with last year had four bank accounts across Westpac and Macquarie. On Xero plus Cin7 they were paying for two bank-feed seats — one each tool — and still spending six hours a week chasing unmatched transactions because Cin7’s payment records didn’t carry through to Xero cleanly. We moved them to Odoo on the Basiq integration in March; by July the same person was spending under an hour a week on reconciliation, because every sales order, picking, invoice and bank line lived in the same ledger.

That’s the real change: it’s not faster typing, it’s removing a class of work. Bank feeds eliminate the manual statement upload, the matching macro in Excel, and the monthly back-and-forth with the bookkeeper about which line is which. For an operator with three or four accounts and 200-400 monthly transactions, we typically see five to seven hours a week come back — about $15,000 to $20,000 a year of bookkeeper time at standard Perth rates.

Bank reconciliation workflow once the feed is live

Reconciliation in Odoo is built around a single widget that shows each unmatched bank line on the left and Odoo’s suggested matches on the right. The matching engine looks at amount, date, counterparty name and any reference number, and from Odoo 18 onwards it learns from your corrections — a transaction labelled “WW METRO 4421” once will recognise the next twelve.

For lines that don’t match an existing invoice, you can post directly to an expense account, split across multiple accounts, or create a vendor bill on the fly. Bulk reconciliation handles the long tail: Stripe payouts, BPAY batches, payroll runs landed via ABA file, and PayID inbound payments all get matched in one pass. The end-of-month bank reconciliation report ties to the general ledger automatically, which keeps your BAS workings clean — see our note on BAS and GST reporting in Odoo.

Multi-currency and offshore accounts

Basiq is Australia-only. If your business runs a USD account at HSBC, a GBP account at Wise, or an NZD account at ASB, you won’t get a CDR feed for those — the CDR scheme doesn’t cross borders. Odoo handles them in three ways, in order of effort.

The simplest is OFX import: most international banks let you download a monthly OFX or QIF file, and Odoo Accounting imports it directly into the bank journal with the right currency, applying the daily ATO or RBA exchange rate to revalue. For Wise specifically, the Odoo Wise connector pulls balances and transactions via the Wise API — that covers most cross-border SaaS payments. For genuine corporate USD operating accounts, SWIFT MT940 files lodged via SFTP into Odoo nightly is the pattern we use; setup is a half-day for a competent partner.

Troubleshooting failed or stalled bank feeds

Most failures fall into four buckets, and the diagnosis is usually quick once you know where to look.

Consent expiry is the most common — feeds simply stop, with a banner appearing on the bank journal in Odoo. The fix is to re-run the Connect flow and grant fresh CDR consent; existing transactions stay reconciled.

MFA challenges from the bank are the second. Some banks ping the account holder’s phone for an extra authentication every 90 days, even mid-consent. If the phone holder doesn’t approve, the feed stalls silently — set the notification rule mentioned earlier and the bookkeeper sees it within 48 hours.

The third is product mismatch: CDR doesn’t cover every bank product. NAB Connect, Westpac CashLink and some Bank of Queensland line-of-credit facilities sit outside the CDR scope; for those we fall back to MT940 or BAI2 imports nightly.

The fourth is duplicate transactions after a date-range mismatch at setup — almost always traced to Step 4 above. The clean fix is to delete the unreconciled duplicates from the bank statement and adjust the sync start date.

Basiq vs Yodlee vs SaltEdge vs manual statement import

Odoo historically supported Yodlee globally, SaltEdge in Europe, and limited Australian coverage through both. The 2024 Basiq integration changed that for Australia specifically. The table below is the picture we share with clients deciding how to handle feeds.

ProviderAustralian coverageCDR-accreditedDirect in OdooBest for
BasiqAll majors plus most second-tierYesYes, nativeDefault for Australian businesses
YodleeLimited, deprecated for AUNoLegacy onlyOld Odoo deployments mid-migration
SaltEdgePatchy in AustraliaNoYes, but EU-focusedMulti-country businesses with EU emphasis
OFX importUniversalN/AYes, manualOffshore accounts, niche products
BAI2 / MT940Major banks onlyN/AYes, scheduledCorporate treasury accounts

For an Australian-only SME, Basiq is the answer. For a business with European or US entities, we usually run Basiq for the AU books and SaltEdge or OFX for the offshore ones, all consolidated through Odoo’s multi-company ledger. Bookkeepers occasionally ask whether they can keep doing manual statement uploads to avoid the consent flow — they can, but you give up the time savings that justified the migration in the first place.

What Odoo bank feeds cost in Australia

The Basiq integration is included in Odoo Enterprise — there’s no separate per-account fee from Odoo, unlike the per-feed charging some Xero plans apply. Basiq itself bills Odoo wholesale, so the cost is bundled into your Odoo Enterprise licence at the standard AUD 38 per user per month rate.

That contrasts with Xero, where bank feeds are included in the plan but the per-user pricing climbs fast above five users. For a 15-user wholesaler running Xero Premium plus Cin7 plus a payroll add-on, the equivalent Odoo Enterprise stack with native bank feeds usually lands 25-35 per cent cheaper at the all-in licence level.

If you’re weighing a move and want to see how the feed fits with the wider migration — opening balances, BAS cutover, employee handoff — our walk-through of the Xero to Odoo migration in Australia covers the full sequence, including where bank feeds slot into the cutover week.

Bank feeds are the smallest piece of an Odoo implementation, but they’re the piece most operators ask about first because it’s the daily-driver function. If you’d like to talk through whether Basiq covers your accounts, how the cutover lines up with your BAS quarter, and what good implementation method looks like in practice, get in touch — a 30-minute call is usually enough to tell whether Odoo is the right shape for the books you’re running.

Frequently asked.

What is the disadvantage of using Odoo?

The main downsides are configuration depth and Australian payroll. Odoo is broad and powerful, so a poor configuration creates more drag than a tighter tool like Xero. The native payroll module doesn't interpret Fair Work awards, which is why most Australian businesses pair Odoo with Employment Hero or KeyPay for STP Phase 2.

Does Odoo have bank feeds?

Yes. Odoo supports Australian bank feeds through Basiq, the country's main Consumer Data Right open banking provider. The integration covers ANZ, NAB, CBA, Westpac, Macquarie, Bendigo and most Australian banks; transactions sync automatically on a daily schedule and feed directly into the bank reconciliation widget in Odoo Accounting.

Which is the best bank for business accounts in Australia?

There is no single best business bank in Australia. The four majors — CBA, NAB, ANZ and Westpac — cover almost all use cases, while Macquarie and Bendigo are popular SME alternatives. For Odoo bank feeds, all six sync through Basiq, so the choice should rest on fees, branches and merchant facilities, not feed support.

What is the open banking API provider in Australia?

The dominant open banking aggregator in Australia is Basiq, accredited under the Consumer Data Right scheme administered by the ACCC and Treasury. Basiq sits behind several local fintechs and accounting tools, including Odoo's native bank synchronisation. Other accredited data recipients exist, but Basiq has the broadest bank coverage and the only Odoo integration.

Is Odoo better than Xero?

They solve different problems. Xero is a tight accounting tool with a thin inventory and operations layer; Odoo is an ERP that includes accounting, inventory, purchasing, manufacturing and CRM in one ledger. For a business outgrowing Xero plus a separate stock or job tool, Odoo is usually cheaper and tidier. For a small services firm, Xero remains a better fit.

Which country owns Odoo?

Odoo SA is a privately held Belgian software company headquartered in Grand-Rosière, with offices across Europe, India, the US, Australia and Hong Kong. Founded in 2005 by Fabien Pinckaers, it isn't government-owned; investors include Sequoia, Summit Partners and Salesforce Ventures. Australian customers contract with Odoo SA or its Sydney-registered subsidiary.