Global CAMT Reconciliation Engine
Parse ISO 20022 CAMT.053 / CAMT.052 bank statements and auto-match every entry to your open invoices — by reference, amount and counterparty.
What it does
Upload the ISO 20022 statement file your bank already gives you — an end-of-day camt.053 BankToCustomerStatement or an intraday camt.052 BankToCustomerAccountReport — and the engine reads every booked entry and reconciles it back to the matching open invoice or vendor bill. No bank API, no transmission, no certificate: this is a pure, offline file parser and matching engine working on the file you export from your own e-banking portal.
Version-independent parser
Reads every published camt.053.001.xx and
camt.052.001.xx version by matching elements on their ISO 20022
local name, so a bank upgrading its message version never breaks your import.
Amount signs are taken strictly from CdtDbtInd (CRDT / DBIT) as
the standard requires.
Balance self-check
For each statement the engine verifies that the opening booked balance plus the booked entry movement equals the reported closing booked balance, and flags any statement that does not foot — catching truncated or corrupted files before you reconcile against them.
Reference heuristics
Validates ISO 11649 RF structured creditor references with the
mod-97 check digit and the classic mod-10 (7-3-1) national reference scheme,
then matches the reference payload to your invoice number. It also scans the
free-text remittance information for a quoted invoice number, normalising
separators so INV/2024/0007 matches INV 2024 0007.
Amount & counterparty
Confirms the entry amount against the invoice open residual, matches the counterparty IBAN to a partner bank account, and fuzzily matches the counterparty name (ignoring company-form stopwords such as GmbH, Ltd, SA). Each signal contributes to a transparent 0–100 confidence score.
Split payments & one transfer, many invoices
When a customer settles several invoices in a single transfer, the engine runs a bounded subset-sum search over your open residuals and proposes the exact combination of invoices that adds up to the bank amount — preferring the combination whose partner matches the counterparty. Each open item is consumed at most once across the whole statement, so a confident match claims its invoice before a weaker entry can take it.
Confidence-scored verdicts
| Verdict | Meaning |
|---|---|
| Matched | One clear winning invoice above the auto-match threshold, with a comfortable margin over the runner-up. |
| Split | The entry pays a combination of open invoices whose residuals sum to the bank amount. |
| Ambiguous | Several strong candidates — the engine shows them ranked with the reasoning for a one-click human decision. |
| Unmatched | No candidate reached the threshold; the entry is left for manual handling. |
From statement to posted payment
- Auto-routes each statement to the matching bank journal by its IBAN / account number.
- Stores every reference, the remittance text and the counterparty on each entry, fully searchable.
- One operator click confirms an ambiguous match by choosing the right candidate.
- Registers customer / supplier payments for confirmed and auto-matched entries using the standard Odoo payment register — including per-invoice registration for split transfers.
- Full chatter audit trail on every imported file.
Built on the community base
Depends only on the Odoo account module — no Enterprise
add-on required. Works with customer invoices, customer credit notes, vendor
bills and vendor refunds. Compatible with Odoo 18 and Odoo 19.
Scope & boundary: this app is a pure file parser and reconciliation engine. It never connects to a bank, never transmits anything, and is not a certified payment-service device. It reconciles the ISO 20022 statement file you export yourself.
Screenshots
Camt Files
Entries
Statements
Update date: 2026-07-02