Overview
Bank reconciliation in Odoo 19 matches your bank statement transactions against journal entries in the system. Odoo provides automatic matching rules, manual reconciliation tools, and bank feed integrations to streamline the process. The reconciliation engine uses account.reconcile.model records for automated matching.
Prerequisites
- Odoo 19 with Accounting module installed
- Bank journal configured with your bank account details
- Accounting Manager access
Step 1: Configure Your Bank Journal
Navigate to Accounting > Configuration > Journals. Open your Bank journal and verify:
- Type — Bank
- Bank Account — Your bank account number (IBAN or local format)
- Bank — The financial institution
- Currency — The bank account currency
- Suspense Account — Interim account for unmatched transactions
Step 2: Import Bank Statements
Go to Accounting > Dashboard and click on your bank journal. Then import statements:
Manual Import
- Click Import Statements
- Upload a file in OFX, QIF, CAMT.053, CSV, or MT940 format
- Odoo parses the transactions and creates
account.bank.statement.linerecords
Automatic Bank Feeds
For automated imports, configure a bank connection:
- Use online banking synchronization (available via specific localizations and connectors)
- Scheduled imports fetch new transactions automatically
Step 3: Configure Reconciliation Models
Navigate to Accounting > Configuration > Reconciliation Models. These models define automatic matching rules:
Invoice/Bill Matching
- Type — Rule to match invoices/bills
- Match Method — Auto-match based on reference, label, amount, or partner
- Auto-validate — Automatically reconcile when a confident match is found
Write-Off Rules
- Type — Rule to suggest a counterpart entry
- Set the account, journal, label, and amount for common write-offs (bank fees, payment differences, etc.)
Common Reconciliation Models
| Model Name | Type | Use Case |
|---|---|---|
| Invoice Matching | Match existing entries | Match payments to invoices by reference or amount |
| Bank Fees | Write-off suggestion | Auto-post small bank fee deductions |
| Cash Rounding | Write-off suggestion | Handle penny rounding differences |
Step 4: Reconcile Transactions
Open the bank reconciliation view from Accounting > Dashboard by clicking the bank journal. For each unreconciled transaction:
- Odoo suggests matching journal entries based on your reconciliation models
- Review the suggested match — verify the partner, amount, and reference
- Click Validate to reconcile the match
- For partial matches, Odoo creates partial reconciliation records
- For unmatched transactions, manually select the counterpart entry or create a new one
Step 5: Handle Common Scenarios
Partial Payments
When a customer pays less than the invoice amount, match the payment to the invoice as a partial reconciliation. The remaining balance stays open on the invoice.
Combined Payments
When a customer pays multiple invoices in one transaction, select all matching invoices during reconciliation. Odoo links the single payment to multiple invoices.
Bank Fees
Configure a reconciliation model for bank fees that automatically creates a write-off entry to the bank fees expense account.
Step 6: Review Reconciliation Status
After reconciliation:
- Check the bank journal balance matches your actual bank balance
- Review unreconciled items for discrepancies
- Use Accounting > Reporting > Bank Reconciliation Report for a formal reconciliation statement
Best Practices
- Reconcile bank transactions daily or weekly to catch errors early
- Set up reconciliation models for recurring transactions (fees, subscriptions) to save time
- Use the auto-validate option cautiously — verify matching accuracy for the first month before enabling
- Always resolve the suspense account — transactions should not remain in suspense long-term