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.