Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. Bank Reconciliation Pro v 19.0
  4. Sales Conditions FAQ

Bank Reconciliation Pro

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 146
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 6707
Technical Name eh_account_reconcile_pro
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · Accounting Suite
ODOO 19 COMMUNITY BANK RECONCILIATION

Bank Reconciliation Pro

A modern, scored bank reconciliation workspace for Odoo 19 Community, with an append-only audit trail.

Free · LGPL-3FREE LGPL-3OWL WORKSPACEv19.0.1.2.5
Scored suggestions
Drag to match
Rule boosts
FX write-off
Exception PDF

Why this module

Bank Reconciliation Pro

01 / SCORING

Five signals, shown

Candidates are ranked by amount, date proximity, partner, reference token overlap, and 90-day history, with a per-signal confidence breakdown surfaced in the workspace. The operator sees why a match was suggested before confirming it.

02 / EVIDENCE

An audit trail that cannot be rewritten

Every match records the user, time, confidence, rules fired, and whether it was an accepted suggestion or a manual override. The rows refuse write and unlink at the model level, so the decision trail stays intact.

03 / OWNERSHIP

Yours to keep

LGPL-3 source on disk. No activation key, no phone-home, no recurring licence. Read it, extend the engine through inheritance, override individual heuristics for your bank memo conventions.

Day in the life

A bookkeeper clears a month of bank lines.

A bank journal loads up to 200 unreconciled lines into the workspace. For each line the engine scores up to ten candidate journal items by amount, date, partner, reference overlap, and 90-day history, and shows the confidence breakdown. Most lines have a clear top candidate, the bookkeeper confirms with one click or drags the candidate onto the line. A few payments arrive as one deposit, so several candidates are ticked and matched to that single line in one action. A foreign-currency receipt lands a few cents short, the residual write-off routes to the exchange gain account by sign, under its small-variance cap, inside a savepoint. Every decision, accepted or manual, is written to an append-only audit row. At close, the exception PDF shows the reconciled percentage and oldest-unmatched age per journal.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

ALREADY RECONCILED

The engine refuses to re-match a statement line or candidate journal item that is already reconciled, so the audit log never claims a match that the database would silently no-op.

FX RESIDUAL

FX residual write-off auto-routes to gain or loss by residual sign and enforces an optional small-variance cap, so bank-charge variance never lands in a generic suspense account. If the exchange accounts are unconfigured, it refuses rather than guessing.

POSTED MOVE WRITE-OFF

Writing off against a posted move is handled safely: set to draft, add the counter line, re-post, then re-reconcile, all inside a savepoint, with a hard fail if there is no reconcilable suspense line or the residual is already zero.

CONCURRENCY

Session match, skip, and write-off counters increment with an atomic SQL UPDATE (col = col + 1) behind a field allowlist, so concurrent reconciliation cannot lose increments through a read-modify-write race.

MULTI-COMPANY

The history signal respects record rules and is scoped to the active companies, so a multi-company user is never scored on reconciliation activity from a sibling company they only have read access on.

ODOO 19 ORDERING

Statement-line date is a non-stored related field that cannot be used in SQL ORDER BY on Odoo 19, so the workspace orders by id descending with a fallback for older versions.

RULE VALIDATION

Rule definitions are checked at write time: an invalid Python regex or an amount_max below amount_min is rejected before the rule can ever fire.

What is inside

Built to do the job, end to end.

  • Two-pane reconciliation workspace. An OWL workspace with unreconciled statement lines on the left and scored candidate journal items on the right. A separate kanban lists past reconciliation sessions. The fetch caps at 200 lines per journal, and the top 10 scored suggestions per line, to stay responsive on large statements.
  • Five-signal suggestion engine. An inheritable AbstractModel scores candidates by amount match, date proximity, partner, reference token overlap, and 90-day history, then returns the ranked candidates with a per-signal breakdown. Weights and individual heuristics can be overridden through inheritance.
  • User-defined reconciliation rules. Rules with payment-reference or narration regex, amount band, direction, and partner scope add a confidence boost so reliable patterns rank higher. Each definition is validated at write time and the firing rule code is stamped on the audit row.
  • Append-only audit log. One row per match capturing confidence, rules fired, user, decision, and source (manual, suggestion, bulk, or drag and drop). Write and unlink are blocked at the model level unless an internal context flag is set.
  • FX residual write-off. Routes the residual to the company exchange gain or loss account by sign, under an optional small-variance cap, and posts inside a database savepoint that rolls back cleanly on failure.
  • Reconciliation exception PDF. Per journal over a date range: reconciled percentage, unmatched count and amount, oldest-unmatched age, and write-off and skip counts, with summed totals.

Honest about the edges

What this does not do, so nothing surprises you.

  • Matches are not applied automatically. The engine ranks candidates and the operator confirms each match with a click or a drag, there is no confidence-threshold auto-apply.
  • There is no statement line search box, no amount-range filter, and no saved-view persistence in the workspace. The view loads up to 200 unreconciled lines per journal at a fixed cap, with no pagination panel.
  • Matching is 1-to-N (one statement line to several journal items). Matching several statement lines to a single journal item (N-to-1) is not supported.
  • The savepoint protects write-offs, including FX residual write-offs. The plain accept-match path reconciles without a savepoint wrapper.
  • Rules add a scoring boost and stamp the firing rule code on the audit row. There is no account.reconcile.model integration and no per-rule fired-on-which-lines tracking, the per-rule fire-count helper is present but not wired into the live firing flow.
  • The audit row does not capture a free-text override reason. An override is recorded as a manual-source decision with user, time, and confidence.
Search

Odoo 19 Community bank reconciliation, bank reconciliation widget Odoo Community, Odoo reconciliation suggestion engine, auto match bank statement lines Odoo, user-defined reconciliation rules Odoo, reconciliation audit log Odoo, bank statement reconciliation workspace, FX rounding write-off reconciliation, reconciliation exception report Odoo

Languages

Available in 19 languages

The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.

ArabicChinese (Simplified)Chinese (Traditional)DutchFrenchGermanHindiIndonesianItalianJapaneseKoreanPolishPortuguese (Brazil)RussianSpanishSwedishThaiTurkishVietnamese
ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by Odoo Customisation Services • LinkedIn

v19.0.1.2.5 · LGPL-3 · Odoo 19 Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with