โ† Back to guides

How to Connect Australian Bank Feeds to Odoo with Basiq

Bank feeds automatically import your bank transactions into Odoo, eliminating manual data entry and making reconciliation dramatically faster. In Australia, Basiq is now available as a bank feed provider in Odoo alongside Yodlee and SaltEdge. Basiq uses the Consumer Data Right (CDR) framework โ€” Australia's open banking standard โ€” which provides more reliable and secure connections than screen-scraping alternatives.

What is Basiq and why use it?

  • Basiq is an Australian fintech that provides bank data APIs. It's an accredited CDR data recipient, meaning it connects to banks through official open banking channels.
  • CDR (Consumer Data Right) is the Australian Government's open banking framework. Banks are required to make transaction data available through secure APIs when customers consent.
  • Why Basiq over Yodlee or SaltEdge? โ€” Basiq's CDR connections are more reliable (no screen-scraping that breaks when banks update their websites), more secure (bank-grade API authentication), and cover most major Australian banks. However, not all banks support CDR yet, and some banks are only available through specific providers.
  • Basiq is available in Odoo 17, 18, and 19 (Enterprise and Odoo.sh). It may not be available on all Odoo Online instances.

Before you start

  • Ensure your bank supports CDR. The big four (CBA, ANZ, Westpac, NAB) and most major banks support it. Check your bank's website for "open banking" or "Consumer Data Right" information.
  • You'll need to enable CDR with your bank โ€” some banks require you to opt in via internet banking before third-party data sharing works.
  • You need Odoo Enterprise or Odoo.sh. Bank synchronisation is not available in Odoo Community.
  • Have your internet banking credentials ready โ€” you'll log in to your bank during the consent flow to authorise Basiq.
โ„น๏ธ

CDR consent is valid for 12 months by default. After 12 months, you'll need to re-authorise the connection. Odoo will notify you when consent is about to expire.

Step 1: Create the bank journal in Odoo

Before connecting the feed, make sure you have a bank journal set up:

  • Go to Accounting โ†’ Configuration โ†’ Journals
  • Find your existing bank journal or create a new one with type "Bank"
  • Set the Bank Account number (BSB and account number) โ€” this helps Odoo match the feed to the right journal
  • Set the Currency to AUD
  • Save the journal

Step 2: Start the bank synchronisation

  • Go to Accounting โ†’ Configuration โ†’ Add a Bank Account (or click the "Online Synchronisation" button on your bank journal)
  • Odoo will show a search screen โ€” search for your bank name (e.g., "Commonwealth Bank", "ANZ", "Westpac")
  • Select your bank from the results. Odoo will show available providers โ€” select Basiq if it appears for your bank.
  • If Basiq is not listed for your bank, try Yodlee or SaltEdge as alternatives. Some banks are exclusive to one provider.
๐Ÿ’ก

If your bank appears under multiple providers, try Basiq first โ€” CDR connections are generally more stable than screen-scraping alternatives.

Step 3: Authorise the CDR consent

This is the key step where you grant Basiq permission to access your bank data:

  • Odoo will redirect you to Basiq's consent flow
  • You'll see what data Basiq is requesting access to (typically: account details and transaction history)
  • Click "Continue" to proceed to your bank's authorisation page
  • Log in to your bank using your internet banking credentials (not your card PIN or phone banking PIN)
  • Your bank will ask you to confirm the data sharing consent โ€” approve it
  • You'll be redirected back to Odoo. The connection is now established.
โš ๏ธ

You are logging in directly with your bank โ€” Basiq and Odoo never see your banking credentials. The CDR framework ensures all authentication happens on your bank's website. This is a secure, government-regulated process.

Step 4: Link the bank account to your journal

  • After authorisation, Odoo will show a list of your bank accounts (cheque, savings, credit card, etc.)
  • Select the account you want to link to Odoo
  • Map it to the correct bank journal you created in Step 1
  • If you have multiple accounts (e.g., operating account and savings), you can link each to a separate journal
  • Click "Synchronise" to start the initial import

Step 5: Initial transaction import

  • The first sync imports historical transactions โ€” typically up to 90 days of history (depends on your bank and the provider)
  • Transactions appear in Accounting โ†’ Bank โ†’ your journal as unreconciled bank statement lines
  • Review the imported transactions to ensure dates, amounts, and descriptions look correct
  • If you're migrating from another system, you may need to mark some older transactions as reconciled manually to avoid duplicate reconciliation

Step 6: Configure automatic synchronisation

  • Go to Accounting โ†’ Configuration โ†’ Online Synchronisation
  • You'll see your connected bank account with its sync status
  • Set the synchronisation frequency โ€” daily is recommended for most businesses
  • Odoo automatically fetches new transactions on the schedule you set
  • You can also manually trigger a sync at any time by clicking "Synchronise Now" on the bank journal

Reconciling bank transactions

Once transactions are imported, you reconcile them against your Odoo records:

  • Go to Accounting โ†’ Bank โ†’ your journal and click "Reconcile"
  • Odoo automatically suggests matches โ€” an incoming payment of $1,100 will be matched against an open invoice for $1,100
  • For matches, click "Validate" to confirm
  • For unmatched transactions (e.g., bank fees, direct debits), create a new journal entry directly from the reconciliation view
  • Use reconciliation models for recurring transactions โ€” e.g., create a model for monthly bank fees that auto-fills the expense account and GST treatment
  • Aim to reconcile daily or weekly to keep your books current
๐Ÿ’ก

Set up reconciliation models for repeat transactions like bank fees, Stripe payouts, rent payments, and subscription charges. This turns a 30-minute reconciliation session into a 5-minute one.

Multi-currency accounts

  • If you use a multi-currency account (e.g., Wise, Revolut, or a USD account with your bank), bank feeds may have limitations
  • Basiq via CDR primarily supports AUD accounts. Multi-currency accounts may not show all sub-accounts or may show converted AUD amounts only.
  • For multi-currency, you may need to use a different provider or import transactions via CSV/OFX as a workaround
  • Check Odoo's bank sync provider list for your specific bank and account type before committing to a setup

Troubleshooting

  • Bank not found in search โ€” Not all banks support CDR yet. Try searching for the bank under Yodlee or SaltEdge as alternatives. Smaller banks and credit unions are still rolling out CDR support.
  • Consent flow fails or times out โ€” Ensure you've enabled CDR/open banking in your internet banking settings. Some banks require you to opt in before third-party data sharing works.
  • Transactions stop syncing โ€” CDR consent may have expired (12-month limit). Go to Accounting โ†’ Online Synchronisation and re-authorise the connection.
  • Duplicate transactions โ€” Can occur if you switch providers or re-link an account. Delete duplicate statement lines before reconciling. Odoo has duplicate detection, but check manually after a provider change.
  • Missing transactions โ€” Some transaction types (e.g., pending transactions, direct debits in progress) may not appear until they're fully processed by the bank. Wait 1โ€“2 business days.
  • "Connection error" or "Provider unavailable" โ€” Basiq or your bank may be experiencing downtime. Check Basiq's status page and try again later. Temporary outages don't affect already-imported data.

Basiq vs Yodlee vs SaltEdge

Odoo offers three bank feed providers for Australian banks. Here's how they compare:

  • Basiq (CDR) โ€” Official open banking APIs. Most reliable, most secure, but requires CDR-enabled banks. Best for CBA, ANZ, Westpac, NAB, and other major banks with CDR support.
  • Yodlee โ€” Established global provider. Uses a mix of API and screen-scraping. Broader bank coverage but connections can break when banks update their websites. Good fallback if Basiq doesn't support your bank.
  • SaltEdge โ€” European-origin provider with Australian coverage. Similar to Yodlee in approach. Some banks are exclusively available through SaltEdge.
  • Recommendation โ€” Use Basiq for your primary accounts if supported. Fall back to Yodlee or SaltEdge for accounts Basiq doesn't cover. You can use different providers for different accounts.

Need bank feeds set up in Odoo?

We connect Australian bank feeds in Odoo every week. Let us handle the Basiq setup so your transactions flow in automatically.

Get in touch โ†’