ValidateFin

camt.053.001.08 — three accounts in one file

One camt.053 message, three <Stmt> blocks: a current account, a savings account and a USD account. The file is schema-valid; the validator explicitly says it analyses only the first statement. That is the point — a reader that takes Stmt[0] and stops silently loses two accounts, and this is how a multi-account camt.053 file catches it out.

camt.053.001.08 — Valid

One camt.053 message, three <Stmt> blocks: a current account, a savings account and a USD account. The file is schema-valid; the validator explicitly says it analyses only the first statement. That is the point — a reader that takes Stmt[0] and stops silently loses two accounts, and this is how a multi-account camt.053 file catches it out.

Bank statement (camt.052 / 053 / 054) camt.053.001.08 ISO 20022Expected result: Valid — 1 errors

What this file shows

One camt.053 message, three <Stmt> blocks: a current account, a savings account and a USD account. The file is schema-valid; the validator explicitly says it analyses only the first statement. That is the point — a reader that takes Stmt[0] and stops silently loses two accounts, and this is how a multi-account camt.053 file catches it out.

Transactions2
Date in the file2026-05-31

The defects it carries

  • MultiStmtAvertissement : le fichier contient 3 éléments 'Stmt' ; seul le premier est analysé (2 non analysé(s)).

Quoted verbatim from the validator, not paraphrased.

Last verified: License: CC-BY-4.0

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, 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.

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)