camt.053.001.08 — closing balance does not reconcile
The most common defect in production camt.053 files: opening 4 200.00 plus the booked entries gives 5 194.70, while the declared CLBD says 5 194.07 — two digits transposed. The file satisfies the official ISO 20022 XSD perfectly, because a schema has nothing to say about arithmetic. Only a balance reconciliation catches a closing balance mismatch.
camt.053.001.08 — Valid
The most common defect in production camt.053 files: opening 4 200.00 plus the booked entries gives 5 194.70, while the declared CLBD says 5 194.07 — two digits transposed. The file satisfies the official ISO 20022 XSD perfectly, because a schema has nothing to say about arithmetic. Only a balance reconciliation catches a closing balance mismatch.
What this file shows
The most common defect in production camt.053 files: opening 4 200.00 plus the booked entries gives 5 194.70, while the declared CLBD says 5 194.07 — two digits transposed. The file satisfies the official ISO 20022 XSD perfectly, because a schema has nothing to say about arithmetic. Only a balance reconciliation catches a closing balance mismatch.
| Transactions | 3 |
|---|---|
| Date in the file | 2026-03-31 |
The defects it carries
- CLBDAvertissement : le solde de clôture (5194.07) ne correspond pas à l'ouverture ± mouvements comptabilisés (5194.70).
Quoted verbatim from the validator, not paraphrased.
Every party, IBAN and amount below is fictitious. The IBANs are structurally valid — they pass the mod-97 check — but they belong to no real account.
File content
<?xml version="1.0" encoding="UTF-8"?>
<!--
ValidateFin sample file — bank statement, camt.053.001.08, BROKEN ON PURPOSE.
Expected validation result: the file is well formed and satisfies the official
ISO 20022 XSD, but it does NOT reconcile: OPBD 4200.00 + 1850.00 - 640.30 - 215.00
= 5194.70, while the declared CLBD says 5194.07 — two digits transposed.
This is the single most common defect in production camt.053 files, and no XSD
can catch it: the schema has nothing to say about arithmetic.
All parties and account numbers are fictitious.
Reference page: https://validatefin.com/en/resources/samples/camt053-balance-mismatch
License: CC-BY-4.0
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.08"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BkToCstmrStmt>
<GrpHdr>
<MsgId>CAMT053-MISMATCH-20260331</MsgId>
<CreDtTm>2026-03-31T20:00:00</CreDtTm>
</GrpHdr>
<Stmt>
<Id>STMT-ES-2026-03</Id>
<LglSeqNb>3</LglSeqNb>
<CreDtTm>2026-03-31T20:00:00</CreDtTm>
<FrToDt>
<FrDtTm>2026-03-01T00:00:00</FrDtTm>
<ToDtTm>2026-03-31T23:59:59</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>ES9121000418450200051332</IBAN>
</Id>
<Ccy>EUR</Ccy>
<Nm>Cuenta corriente</Nm>
<Ownr>
<Nm>Ceramicas del Levante SL</Nm>
</Ownr>
<Svcr>
<FinInstnId>
<BICFI>CAIXESBBXXX</BICFI>
</FinInstnId>
</Svcr>
</Acct>
<!-- Solde d'ouverture -->
<Bal>
<Tp>
<CdOrPrtry>
<Cd>OPBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">4200.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2026-03-01</Dt>
</Dt>
</Bal>
<!-- Solde de cloture ANNONCE : 5194.07. Le calcul donne 5194.70. -->
<Bal>
<Tp>
<CdOrPrtry>
<Cd>CLBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">5194.07</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2026-03-31</Dt>
</Dt>
</Bal>
<Ntry>
<NtryRef>ES-2026-03-0001</NtryRef>
<Amt Ccy="EUR">1850.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts>
<Cd>BOOK</Cd>
</Sts>
<BookgDt>
<Dt>2026-03-06</Dt>
</BookgDt>
<ValDt>
<Dt>2026-03-06</Dt>
</ValDt>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>RCDT</Cd>
<SubFmlyCd>ESCT</SubFmlyCd>
</Fmly>
</Domn>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<EndToEndId>FRA-2026-0093</EndToEndId>
</Refs>
<RltdPties>
<Dbtr>
<Pty>
<Nm>Construcciones Mediterraneo SA</Nm>
</Pty>
</Dbtr>
</RltdPties>
<RmtInf>
<Ustrd>Factura 2026-0093</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
<AddtlNtryInf>TRANSFERENCIA RECIBIDA</AddtlNtryInf>
</Ntry>
<Ntry>
<NtryRef>ES-2026-03-0002</NtryRef>
<Amt Ccy="EUR">640.30</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>
<Cd>BOOK</Cd>
</Sts>
<BookgDt>
<Dt>2026-03-18</Dt>
</BookgDt>
<ValDt>
<Dt>2026-03-18</Dt>
</ValDt>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>IDDT</Cd>
<SubFmlyCd>PMDD</SubFmlyCd>
</Fmly>
</Domn>
</BkTxCd>
<AddtlNtryInf>ADEUDO SEPA SUMINISTRO ELECTRICO</AddtlNtryInf>
</Ntry>
<Ntry>
<NtryRef>ES-2026-03-0003</NtryRef>
<Amt Ccy="EUR">215.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>
<Cd>BOOK</Cd>
</Sts>
<BookgDt>
<Dt>2026-03-30</Dt>
</BookgDt>
<ValDt>
<Dt>2026-03-30</Dt>
</ValDt>
<BkTxCd>
<Domn>
<Cd>ACMT</Cd>
<Fmly>
<Cd>MDOP</Cd>
<SubFmlyCd>CHRG</SubFmlyCd>
</Fmly>
</Domn>
</BkTxCd>
<AddtlNtryInf>COMISIONES Y GASTOS DE MANTENIMIENTO</AddtlNtryInf>
</Ntry>
</Stmt>
</BkToCstmrStmt>160 / 162 lines shown — the complete file is in the download above.
How we know these results hold
Every file in this library is run through the site's own validator on each build. The expected result stated above is asserted by an automated test — if a file stopped matching what this page claims, the build would fail. Two inherited fixtures were repaired this way before publication: three IBANs failed the mod-97 check and several names used characters outside the basic SEPA character set.
Bank statement (camt.052 / 053 / 054)
- camt.053.001.02 — valid statement
- camt.053.001.08 — valid statement
- camt.053 — unsupported namespace
- camt.053.001.06 — missing Stmt element
- camt.053.001.11 — valid statement
- camt.053.001.08 — three accounts in one file
- camt.053.001.10 — fully detailed entries
- camt.052.001.08 — valid intraday report
- camt.054.001.08 — valid debit/credit notification
- camt.053.001.08 — entry with no CdtDbtInd
- camt.053.001.08 — 220 entries, valid