camt.053.001.08 — three accounts in one file
Un seul message camt.053, trois blocs <Stmt> : un compte courant, un compte d’épargne et un compte en USD. Le fichier est conforme au schéma ; le validateur annonce explicitement qu’il n’analyse que le premier relevé. C’est tout l’intérêt : un lecteur qui prend Stmt[0] et s’arrête perd deux comptes en silence, et c’est ce fichier multi-comptes qui le démasque.
camt.053.001.08 — Valide
Un seul message camt.053, trois blocs <Stmt> : un compte courant, un compte d’épargne et un compte en USD. Le fichier est conforme au schéma ; le validateur annonce explicitement qu’il n’analyse que le premier relevé. C’est tout l’intérêt : un lecteur qui prend Stmt[0] et s’arrête perd deux comptes en silence, et c’est ce fichier multi-comptes qui le démasque.
Ce que montre ce fichier
Un seul message camt.053, trois blocs <Stmt> : un compte courant, un compte d’épargne et un compte en USD. Le fichier est conforme au schéma ; le validateur annonce explicitement qu’il n’analyse que le premier relevé. C’est tout l’intérêt : un lecteur qui prend Stmt[0] et s’arrête perd deux comptes en silence, et c’est ce fichier multi-comptes qui le démasque.
| Transactions | 2 |
|---|---|
| Date contenue dans le fichier | 2026-05-31 |
Les défauts qu’il porte
- MultiStmtAvertissement : le fichier contient 3 éléments 'Stmt' ; seul le premier est analysé (2 non analysé(s)).
Cité mot pour mot depuis le validateur, sans reformulation.
Toutes les parties, IBAN et montants ci-dessous sont fictifs. Les IBAN sont structurellement valides — ils passent le mod-97 — mais ne correspondent à aucun compte réel.
Contenu du fichier
<?xml version="1.0" encoding="UTF-8"?>
<!--
ValidateFin sample file — bank statement, camt.053.001.08, THREE accounts in one message.
A single camt.053 message may carry several <Stmt> blocks, one per account. Expected
validation result: the file is well formed and schema-valid, and the validator reports
that only the FIRST statement is analysed — which is exactly the trap: a parser that
reads Stmt[0] and stops silently loses two accounts.
All parties and account numbers are fictitious.
Reference page: https://validatefin.com/en/resources/samples/camt053-multi-account
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-MULTI-20260531</MsgId>
<CreDtTm>2026-05-31T22:00:00</CreDtTm>
</GrpHdr>
<!-- ─── Compte 1 : compte courant EUR ─────────────────────────────────── -->
<Stmt>
<Id>STMT-ACCT1-2026-05</Id>
<LglSeqNb>5</LglSeqNb>
<CreDtTm>2026-05-31T22:00:00</CreDtTm>
<FrToDt>
<FrDtTm>2026-05-01T00:00:00</FrDtTm>
<ToDtTm>2026-05-31T23:59:59</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>NL91ABNA0417164300</IBAN>
</Id>
<Ccy>EUR</Ccy>
<Nm>Rekening-courant</Nm>
<Ownr>
<Nm>Van Dijk Logistiek BV</Nm>
</Ownr>
<Svcr>
<FinInstnId>
<BICFI>ABNANL2A</BICFI>
</FinInstnId>
</Svcr>
</Acct>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>OPBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">10000.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2026-05-01</Dt>
</Dt>
</Bal>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>CLBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">11749.50</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2026-05-31</Dt>
</Dt>
</Bal>
<Ntry>
<NtryRef>ACCT1-0001</NtryRef>
<Amt Ccy="EUR">2500.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts>
<Cd>BOOK</Cd>
</Sts>
<BookgDt>
<Dt>2026-05-08</Dt>
</BookgDt>
<ValDt>
<Dt>2026-05-08</Dt>
</ValDt>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>RCDT</Cd>
<SubFmlyCd>ESCT</SubFmlyCd>
</Fmly>
</Domn>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<EndToEndId>INV-2026-0501</EndToEndId>
</Refs>
<RltdPties>
<Dbtr>
<Pty>
<Nm>Havenbedrijf Rotterdam NV</Nm>
</Pty>
</Dbtr>
</RltdPties>
<RmtInf>
<Ustrd>Factuur 2026-0501 transport</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
<AddtlNtryInf>SEPA OVERBOEKING ONTVANGEN</AddtlNtryInf>
</Ntry>
<Ntry>
<NtryRef>ACCT1-0002</NtryRef>
<Amt Ccy="EUR">750.50</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>
<Cd>BOOK</Cd>
</Sts>
<BookgDt>
<Dt>2026-05-20</Dt>
</BookgDt>
<ValDt>
<Dt>2026-05-20</Dt>
</ValDt>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>ICDT</Cd>
<SubFmlyCd>ESCT</SubFmlyCd>
</Fmly>
</Domn>
</BkTxCd>
<AddtlNtryInf>SEPA OVERBOEKING BRANDSTOF</AddtlNtryInf>
</Ntry>
</Stmt>
<!-- ─── Compte 2 : compte de reserve EUR ──────────────────────────────── -->
<Stmt>
<Id>STMT-ACCT2-2026-05</Id>
<LglSeqNb>5</LglSeqNb>
<CreDtTm>2026-05-31T22:00:00</CreDtTm>
<FrToDt>
<FrDtTm>2026-05-01T00:00:00</FrDtTm>
<ToDtTm>2026-05-31T23:59:59</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>NL39RABO0300065264</IBAN>
</Id>
<Ccy>EUR</Ccy>
<Nm>Spaarrekening</Nm>
<Ownr>
<Nm>Van Dijk Logistiek BV</Nm>
</Ownr>
<Svcr>
<FinInstnId>
<BICFI>RABONL2U</BICFI>
</FinInstnId>
</Svcr>
</Acct>
<Bal>160 / 309 lines shown — the complete file is in the download above.
Comment nous savons que ces résultats tiennent
Chaque fichier de cette bibliothèque passe dans le validateur du site à chaque build. Le résultat attendu annoncé ci-dessus est vérifié par un test automatisé : si un fichier cessait de correspondre à ce que cette page affirme, le build échouerait. Deux fixtures héritées ont été réparées ainsi avant publication : trois IBAN échouaient au mod-97 et plusieurs libellés utilisaient des caractères hors du jeu SEPA de base.
Relevé bancaire (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.10 — fully detailed entries
- camt.053.001.08 — closing balance does not reconcile
- 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