Automated Bank Reconciliation Rules in Odoo#
Manually matching bank statement lines to payments is tedious and error-prone. Odoo's reconciliation model (matching rules) can automatically propose or apply matches based on amount, partner, reference, and date - making month-end bank reconciliation faster and more accurate.
How Reconciliation Models Work#
Accounting → Configuration → Reconciliation Models → New:
A reconciliation model runs automatically during bank statement import. It scans each unreconciled statement line and:
- Checks if any model rule matches the line
- If yes: auto-applies the match (or proposes it for review)
- If no match found: line stays unreconciled for manual handling
Model Types#
| Type | Use Case |
|---|---|
| Write-off Entry | Auto-post a journal entry for specific line descriptions (e.g., bank fees) |
| Match Existing Entries | Link statement line to existing payment or invoice |
Creating a Match Rule - Existing Entries#
Accounting → Configuration → Reconciliation Models → New:
- Type: Match Existing Entries
- Matching Order: apply this rule before or after other rules
- Matching Criteria:
- Partner name matching: Yes
- Amount matching: Exact (or ±$5 tolerance)
- Reference matching: Yes (statement reference matches payment reference)
- Auto-validate: Yes (apply automatically without review) or No (propose for review)
Creating a Write-Off Rule - Bank Fees#
- Type: Write-off Entry
- Label Contains: "Service Fee" OR "Monthly Fee"
- Account: Bank Charges Expense (627000)
- Tax: none
- Auto-validate: Yes
When a statement line contains "Service Fee", Odoo automatically creates a bank fee expense entry and marks the line as reconciled.
Rule Priority#
Rules are applied in priority order - lower number = higher priority:
- Rule 1: Exact match by reference (highest confidence)
- Rule 2: Amount + partner match (high confidence)
- Rule 3: Bank fee write-off (no match needed)
The first matching rule wins.
Reviewing Auto-Reconciled Entries#
Even with auto-validate, errors can occur. Weekly review:
Accounting → Accounting → Bank → [Statement] → Auto-Reconciled:
- Filter for auto-reconciled entries from this week
- Spot-check 5-10% of entries for accuracy
If a rule is creating wrong matches, increase its specificity (add more matching criteria) or raise its priority number (lower priority = applied later after better rules have run).
Results#
A well-configured reconciliation model can auto-reconcile 70-85% of statement lines - leaving only unusual items for manual handling. The remaining 15-30% typically includes:
- New vendors not yet in Odoo
- Unusual one-time transactions
- Manual adjustments requiring human judgement

