Skip to content

How to Set Up Bank Reconciliation in Odoo 19

DeployMonkey Team · March 24, 2026 9 min read

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

  1. Click Import Statements
  2. Upload a file in OFX, QIF, CAMT.053, CSV, or MT940 format
  3. Odoo parses the transactions and creates account.bank.statement.line records

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 NameTypeUse Case
Invoice MatchingMatch existing entriesMatch payments to invoices by reference or amount
Bank FeesWrite-off suggestionAuto-post small bank fee deductions
Cash RoundingWrite-off suggestionHandle penny rounding differences

Step 4: Reconcile Transactions

Open the bank reconciliation view from Accounting > Dashboard by clicking the bank journal. For each unreconciled transaction:

  1. Odoo suggests matching journal entries based on your reconciliation models
  2. Review the suggested match — verify the partner, amount, and reference
  3. Click Validate to reconcile the match
  4. For partial matches, Odoo creates partial reconciliation records
  5. 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