camt.053.001.08 — three accounts in one file
Uma única mensagem camt.053, três blocos <Stmt>: conta à ordem, conta poupança e conta em USD. O ficheiro é válido face ao esquema; o validador diz explicitamente que analisa apenas o primeiro extrato. É esse o ponto: um leitor que pega em Stmt[0] e para perde duas contas em silêncio, e é este ficheiro multiconta que o denuncia.
camt.053.001.08 — Válido
Uma única mensagem camt.053, três blocos <Stmt>: conta à ordem, conta poupança e conta em USD. O ficheiro é válido face ao esquema; o validador diz explicitamente que analisa apenas o primeiro extrato. É esse o ponto: um leitor que pega em Stmt[0] e para perde duas contas em silêncio, e é este ficheiro multiconta que o denuncia.
O que este ficheiro mostra
Uma única mensagem camt.053, três blocos <Stmt>: conta à ordem, conta poupança e conta em USD. O ficheiro é válido face ao esquema; o validador diz explicitamente que analisa apenas o primeiro extrato. É esse o ponto: um leitor que pega em Stmt[0] e para perde duas contas em silêncio, e é este ficheiro multiconta que o denuncia.
| Transações | 2 |
|---|---|
| Data no ficheiro | 2026-05-31 |
Os defeitos que contém
- MultiStmtAvertissement : le fichier contient 3 éléments 'Stmt' ; seul le premier est analysé (2 non analysé(s)).
Citado literalmente do validador, sem paráfrase.
Todas as partes, IBAN e montantes abaixo são fictícios. Os IBAN são estruturalmente válidos — passam no mod-97 — mas não correspondem a nenhuma conta real.
Conteúdo do ficheiro
<?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.
Como sabemos que estes resultados se mantêm
Cada ficheiro desta biblioteca passa pelo próprio validador do site em cada build. O resultado esperado indicado acima é verificado por um teste automatizado: se um ficheiro deixasse de corresponder ao que esta página afirma, o build falharia. Duas fixtures herdadas foram reparadas assim antes da publicação: três IBAN falhavam o mod-97 e vários nomes usavam caracteres fora do conjunto SEPA básico.
Extrato bancário (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