CODA Validator & Converter → camt.053
Open a Belgian CODA statement, check its totals and structured references, and export camt.053 — entirely in your browser, nothing uploaded.
What is a CODA file and how do you convert it to camt.053?
CODA ("Coded statement of account") is the Belgian bank-statement format published by Febelfin: fixed-width records of exactly 128 characters, one per line, identified by their first character (0 header, 1 old balance, 2 movement, 3 information, 8 new balance, 9 trailer). Every Belgian bank delivers it. To convert a CODA to ISO 20022 camt.053, drop the file on this page and click "Export camt.053": ValidateFin parses it locally, reconciles old balance ± movements against the new balance, verifies the record-9 control totals and the mod-97 check digits of every structured communication, and produces a valid camt.053.001.02 statement. Nothing is uploaded.
About the CODA validator & converter
CODA is the Belgian counterpart of SWIFT MT940, US BAI2 and ISO 20022 camt.053. The reference specification is Febelfin's "Coded statement of account (CODA)", version 2.8 (November 2025), and every field position this tool reads comes from its Annex I. Records are fixed-width and exactly 128 characters: a 0 header, then per account a 1 "old balance" record, a series of 2.1/2.2/2.3 movement records with their 3.x information records, an 8 "new balance" record, and finally a 9 trailer. Amounts are 15 digits with three implied decimals — not cents — and the direction is an explicit sign character (0 credit, 1 debit), never inferred from a code range as in BAI2. A single physical file may carry several logical statements, one per account.
What this validator checks goes beyond reading the file. First, the accounting identity: old balance ± the booked movements must equal the new balance. Only the movements whose detail number is 0000 are booked — the higher detail numbers are the breakdown of the movement above them (costs, VAT, or the individual transactions behind a globalised total), and summing them too would double-count, which is exactly how naive CODA parsers silently corrupt a reconciliation. Second, the record-9 trailer: its debit total, credit total and record count are compared with what the file actually contains. Third — and this is what no other free CODA tool does — the check digits of the structured references: the Belgian structured communication +++123/4567/89012+++ (12 digits, last two = the first ten modulo 97) and the ISO 11649 creditor reference RF (mod-97-10, the same rule as an IBAN). A wrong structured communication is the single most common reason a Belgian payment is never matched to its invoice, and the statement file is the last place it can still be caught.
What to know about CODA and camt.053
- CODA is published by Febelfin and delivered by every Belgian bank; the current reference is version 2.8 (November 2025).
- Records are fixed-width, 128 characters; amounts carry three implied decimals and an explicit debit/credit sign character.
- Only movements with detail number 0000 are booked — the rest are components of the movement above and must not be summed again.
- ISO 20022 camt.053 is the modern replacement most ERP and treasury systems now import, which is why CODA feeds get converted.
- A bank statement is sensitive data: converting locally in the browser avoids sending account numbers and counterparties to a third party.
Frequently asked questions
What is a CODA file?
CODA ("Coded statement of account") is the Belgian bank-statement format published by Febelfin. It is a plain-text file of fixed-width 128-character records: 0 header, 1 old balance, 2.1/2.2/2.3 movements, 3.x information, 8 new balance, 9 trailer. It usually carries a .cod or .coda extension and is the Belgian equivalent of SWIFT MT940 or ISO 20022 camt.053.
How do I convert a CODA to camt.053?
Drop the .cod file on this page, click "Read file", then "Export camt.053". You get a valid camt.053.001.02 statement with the real balances and the booked movements, generated entirely in your browser — the file is never uploaded.
How do I open or read a .cod file?
A .cod file is plain text, so any editor shows it — but each 128-character line is an unlabelled sequence of fixed positions, unreadable without the spec. This viewer decodes it into an account, an old and new balance, and a list of movements with their dates, transaction codes, counterparties and communications.
Does the tool check the Belgian structured communication?
Yes, and this is its differentiator. The 12-digit structured communication (+++123/4567/89012+++) carries mod-97 check digits — the last two digits are the first ten modulo 97, with a remainder of 0 written as 97. The ISO 11649 creditor reference (RF…) carries mod-97-10 check digits, the same rule as an IBAN. Both are verified, and a failing reference is reported.
Why does the movement count differ from the number of lines?
A movement whose detail number is not 0000 is a component of the movement above it — a cost, a VAT amount, or one of the individual transactions behind a globalised total. Febelfin's own trailer counts only the detail-0000 records, so those are the booked movements. Detail records are shown indented and badged, and are not summed into the balance.
What does the tool validate exactly?
Three things, all reported as warnings rather than blocking: the accounting identity (old balance ± booked movements = new balance), the record-9 trailer control totals (debit total, credit total, record count), and the mod-97 check digits of the structured communications and RF creditor references.
Is my bank statement uploaded anywhere?
No. The CODA file is read, validated and converted entirely in your browser using JavaScript. No statement data is ever sent to a server.