Bank Reconciliation in Odoo: A Practical Guide for Hong Kong SMEs
An APAA step-by-step guide to reconciling bank transactions in Odoo Accounting — matching payments, handling early-payment discounts, batch payments, bank fees, and unidentified transactions.

At APAA, when a Hong Kong SME tells us their books "never quite balance," the cause is almost always the same: bank reconciliation has fallen behind. Months of transactions sit unmatched, nobody is sure which invoices have actually been paid, and the reported cash figure no longer reflects what is really in the account.
Reconciliation is the routine that keeps your accounting honest — matching each line on your bank statement to a record in Odoo. It is not, on its own, a legal requirement in Hong Kong. But keeping accurate financial records is, and you cannot have accurate records without it. This guide walks through doing it properly in Odoo, including the awkward cases — discounts, batch payments, bank fees, and transactions nobody recognises.
Why It Earns Its Place in Your Routine
Beyond satisfying the record-keeping obligation, reconciling regularly pays off in practical ways for the SMEs we work with:
- You know exactly which customer payments have landed, so follow-ups are targeted.
- Your accounting records stay current rather than collapsing into a month-end scramble.
- Discrepancies surface while they are small and traceable, not months later when nobody remembers the transaction.
Opening the Reconciliation View
- Open the Accounting app.
- Click Reconcile on your bank journal.

The view is laid out in three areas:
- Left panel — your bank transactions. Black figures are money in; red figures are money out.
- Bottom panel — open items and payments available to match against.
- Top panel — the matching window, showing the selected transaction and Odoo's suggested matches.

By default Odoo shows only unmatched transactions. Remove the "Not Matched" filter to see what has already been reconciled — those carry a green check mark.

Creating Transactions and Statements
Adding a Transaction
Click New in the reconciliation view, fill in the details, and save.

Grouping Transactions into a Statement
To build a bank statement:
- Hover over the last transaction you want to include.
- Click the Statement button that appears.
- Odoo groups every transaction since the previous statement.
- Confirm the starting and ending balance.
- Optionally add a reference and attach a PDF of the bank statement.

You can reopen any statement later by clicking its ending balance in the reconciliation view, where you can edit, print, or delete it.

Reconciling the Transactions
Odoo highlights its suggested matches in blue, based on partner, reference, or amount. Here are the cases you will meet most often.

When an Early-Payment Discount Is in Play
If a payment does not match the invoice exactly because the customer took an early-payment discount, Odoo spots the difference and suggests posting it to the right discount account. Click Validate to confirm.

You can also click the invoice link to review the original document before validating.
Batch Payments
When a single bank transaction settles several invoices at once, open the Batch Payments tab, select the correct batch, and validate.

Bank Fees and Other Manual Operations
For a transaction with no matching open item — a bank charge, for instance:
- Select the transaction.
- Go to the Manual Operations tab.
- Choose the right account (e.g. the bank fees expense account).
- Validate to create a fresh journal entry and reconcile it.

Searching for a Specific Entry
Each transaction may arrive with a default partner filter applied. You can change that filter and search by:
- Partner name
- Journal entry reference
- Amount
This is what you reach for when a payment needs to match a particular bill rather than the entry Odoo suggested.

Transactions You Cannot Place Yet
For a transaction with no reference and no obvious match:
- Select it.
- Click To Check.
- Come back to investigate later.

Every "to check" item is gathered under the To Check link on your bank journal dashboard, so nothing gets quietly lost.

What We Tell Clients to Take Away
- Reconcile on a regular rhythm — weekly for most SMEs — so the work stays small and your books stay current.
- Let Odoo's automatic suggestions do the heavy lifting; only override when the match is genuinely wrong.
- Use batch payments, manual operations, and "to check" to handle the edge cases instead of forcing a bad match.
- Set up Reconciliation Models to auto-handle recurring entries like monthly bank fees — once configured, they reconcile themselves.
Once the basics are solid, Odoo's bank synchronisation can pull your transactions in automatically, and reconciliation models can clear the routine lines, leaving your team to handle only the genuine exceptions.
If you would like APAA to set up bank reconciliation, bank feeds, and reconciliation models for your Hong Kong business so month-end stops being a scramble, get in touch with our Odoo team.