Bank reconciliation and supplier payments are where most of the cash controls of a company live. According to the Odoo 20 release notes, both change in this version. Some of the changes close gaps we have seen for years. Others move a control from the bank portal into Odoo, which means the control has to move with it.
Why must bank entries now originate from bank transactions?
The release notes state that all journal entries impacting bank accounts must originate from bank transactions, to prevent manual entries that break bank consistency. In practice, the classic reconciliation problem is a manual journal entry posted straight to the bank account: a bank charge, a transfer, a correction. The ledger moves, the statement does not, and the difference sits in the reconciliation until someone explains it. Under the new rule, the bank transaction comes first and the accounting follows it.
Finance teams that relied on manual bank entries for transfers between accounts, opening balances or corrections should map those cases before upgrading and decide how each will now be recorded. The release notes also mention refined statement validation feedback to help find and fix balance inconsistencies.
What does the reconciliation summary report give you?
A bank reconciliation summary report shows reconciled and unreconciled transactions as at the period end date. That is the document an auditor asks for at every close: what was reconciled, what remained open, and as of when. Make it part of the month-end file, signed by the preparer and a reviewer, and investigate unreconciled items by age rather than by size alone.
How do matching rules and write-off analytics change the routine?
Matching rules find an open invoice or bill that fits a transaction and reconcile it. That removes routine work, but it also means a rule can reconcile the wrong item if it is too broad. Review the rules when they are created, and sample automatically reconciled items each month. The release notes also allow an analytic distribution on a write-off created during reconciliation, so small differences such as bank charges can be assigned to a cost centre instead of falling into a general account. Agree which write-offs are acceptable, up to what limit, and who may post them.
How does paying bills from Odoo work?
According to the release notes, you can select one or more bills, pay, and confirm with the bank, individually or in batch, through payment initiation (PISP). Availability depends on your bank and country, so check with your bank in Egypt or Saudi Arabia before you plan for it. Where it is available, payment release moves from the bank portal into Odoo, and the bank portal’s own approval chain may no longer be the only gate.
What do the red and yellow duplicate warnings mean?
Duplicate detection on invoices and bills has two levels. Red means a highly likely duplicate, to be corrected. Yellow means a potential duplicate, to be investigated before posting. The release notes also describe protection against double payments. Duplicates are one of the most common payables errors we find, so this is useful, but a warning is only a control if someone acts on it and the action is recorded.
Which controls need to change?
- Approval before payment: a bill should be approved under your approval matrix before it can be selected for payment, and that approval should be visible on the bill.
- Who can initiate payments: limit payment initiation to a small, named group that does not also create vendors or enter bills.
- Bank-side confirmation: keep the bank’s own authorisation limits aligned with Odoo, so neither side becomes a rubber stamp.
- Duplicate review: no red warning is overridden without a documented reason, and yellow warnings are cleared by someone other than the person who entered the bill.
- Matching rules and write-offs: changes to rules and write-off limits are approved and logged.
When the payment button moves into the ERP, the approval matrix has to move with it.
What should you test before relying on it?
Run the summary report for a period you have already closed and compare it with your own reconciliation. Enter known duplicates and known legitimate repeat bills and check which warning each receives. If payment initiation is offered by your bank, test a batch end to end with real approvals and confirm that a user without payment rights cannot release it. As part of an internal audit, we review the access rights, the rule changes and a sample of payments against approved bills, because the new features are only as strong as the people allowed to use them.