ValidateFin

camt.054.001.08 — valid debit/credit notification

Un avviso di addebito/accredito camt.054 valido: un accredito SEPA in entrata e un addebito diretto in uscita, ciascuno con TxDtls completi e riferimento end-to-end. La sorpresa strutturale è ciò che NON c’è: un camt.054 non ha alcun elemento <Bal> — lo schema ISO 20022 non ne definisce. Un avviso annuncia movimenti, non dichiara mai un saldo: non c’è nulla da quadrare.

camt.054.001.08 — Valido

Un avviso di addebito/accredito camt.054 valido: un accredito SEPA in entrata e un addebito diretto in uscita, ciascuno con TxDtls completi e riferimento end-to-end. La sorpresa strutturale è ciò che NON c’è: un camt.054 non ha alcun elemento <Bal> — lo schema ISO 20022 non ne definisce. Un avviso annuncia movimenti, non dichiara mai un saldo: non c’è nulla da quadrare.

Estratto conto (camt.052 / 053 / 054) camt.054.001.08 ISO 20022Risultato atteso: Valido

Cosa mostra questo file

Un avviso di addebito/accredito camt.054 valido: un accredito SEPA in entrata e un addebito diretto in uscita, ciascuno con TxDtls completi e riferimento end-to-end. La sorpresa strutturale è ciò che NON c’è: un camt.054 non ha alcun elemento <Bal> — lo schema ISO 20022 non ne definisce. Un avviso annuncia movimenti, non dichiara mai un saldo: non c’è nulla da quadrare.

Transazioni2
Data nel file2026-07-09
Ultima verifica: Licenza: CC-BY-4.0

Tutte le parti, gli IBAN e gli importi qui sotto sono fittizi. Gli IBAN sono strutturalmente validi — superano il mod-97 — ma non corrispondono ad alcun conto reale.

Contenuto del file

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ValidateFin sample file — debit/credit notification, camt.054.001.08.
  Expected validation result: VALID.

  camt.054 is the message a bank sends to ANNOUNCE individual debits and credits.
  Its root is BkToCstmrDbtCdtNtfctn and its container is <Ntfctn>. The structural
  point of this file: a camt.054 has NO <Bal> element at all — the ISO 20022 schema
  does not define one. A notification announces movements, it does not state a
  balance, so there is nothing to reconcile against. Anyone porting camt.053 code
  to camt.054 discovers this the hard way.
  Here: one incoming SEPA credit (2 480.00 EUR) and one outgoing direct debit
  (95.40 EUR), both with full TxDtls and end-to-end references.

  All parties and account numbers are fictitious.
  Reference page: https://validatefin.com/en/resources/samples/camt054-credit-notification
  License: CC-BY-4.0
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.08"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <BkToCstmrDbtCdtNtfctn>
    <GrpHdr>
      <MsgId>CAMT054-20260709-0001</MsgId>
      <CreDtTm>2026-07-09T16:05:00</CreDtTm>
    </GrpHdr>
    <Ntfctn>
      <Id>NTFCTN-PT-20260709-0001</Id>
      <CreDtTm>2026-07-09T16:05:00</CreDtTm>
      <FrToDt>
        <FrDtTm>2026-07-09T00:00:00</FrDtTm>
        <ToDtTm>2026-07-09T16:05:00</ToDtTm>
      </FrToDt>
      <Acct>
        <Id>
          <IBAN>PT50000201231234567890154</IBAN>
        </Id>
        <Ccy>EUR</Ccy>
        <Nm>Conta a ordem</Nm>
        <Ownr>
          <Nm>Azulejos do Douro Lda</Nm>
        </Ownr>
        <Svcr>
          <FinInstnId>
            <BICFI>BCOMPTPL</BICFI>
          </FinInstnId>
        </Svcr>
      </Acct>
      <TxsSummry>
        <TtlNtries>
          <NbOfNtries>2</NbOfNtries>
        </TtlNtries>
        <TtlCdtNtries>
          <NbOfNtries>1</NbOfNtries>
          <Sum>2480.00</Sum>
        </TtlCdtNtries>
        <TtlDbtNtries>
          <NbOfNtries>1</NbOfNtries>
          <Sum>95.40</Sum>
        </TtlDbtNtries>
      </TxsSummry>
      <!-- Avis de CREDIT -->
      <Ntry>
        <NtryRef>PT-20260709-CRDT-01</NtryRef>
        <Amt Ccy="EUR">2480.00</Amt>
        <CdtDbtInd>CRDT</CdtDbtInd>
        <Sts>
          <Cd>BOOK</Cd>
        </Sts>
        <BookgDt>
          <DtTm>2026-07-09T15:58:00</DtTm>
        </BookgDt>
        <ValDt>
          <Dt>2026-07-09</Dt>
        </ValDt>
        <AcctSvcrRef>BCP20260709000442</AcctSvcrRef>
        <BkTxCd>
          <Domn>
            <Cd>PMNT</Cd>
            <Fmly>
              <Cd>RCDT</Cd>
              <SubFmlyCd>ESCT</SubFmlyCd>
            </Fmly>
          </Domn>
        </BkTxCd>
        <NtryDtls>
          <TxDtls>
            <Refs>
              <EndToEndId>FAT-2026-0316</EndToEndId>
              <TxId>TX-PT-20260709-01</TxId>
            </Refs>
            <RltdPties>
              <Dbtr>
                <Pty>
                  <Nm>Reabilitacoes Urbanas SA</Nm>
                </Pty>
              </Dbtr>
              <DbtrAcct>
                <Id>
                  <IBAN>PT50003300004567890123405</IBAN>
                </Id>
              </DbtrAcct>
            </RltdPties>
            <RltdAgts>
              <DbtrAgt>
                <FinInstnId>
                  <BICFI>BCOMPTPL</BICFI>
                </FinInstnId>
              </DbtrAgt>
            </RltdAgts>
            <RmtInf>
              <Ustrd>Fatura FAT-2026-0316 - azulejo hidraulico</Ustrd>
            </RmtInf>
          </TxDtls>
        </NtryDtls>
        <AddtlNtryInf>TRANSFERENCIA SEPA RECEBIDA</AddtlNtryInf>
      </Ntry>
      <!-- Avis de DEBIT -->
      <Ntry>
        <NtryRef>PT-20260709-DBIT-01</NtryRef>
        <Amt Ccy="EUR">95.40</Amt>
        <CdtDbtInd>DBIT</CdtDbtInd>
        <Sts>
          <Cd>BOOK</Cd>
        </Sts>
        <BookgDt>
          <DtTm>2026-07-09T06:30:00</DtTm>
        </BookgDt>
        <ValDt>
          <Dt>2026-07-09</Dt>
        </ValDt>
        <BkTxCd>
          <Domn>
            <Cd>PMNT</Cd>
            <Fmly>
              <Cd>IDDT</Cd>
              <SubFmlyCd>PMDD</SubFmlyCd>
            </Fmly>
          </Domn>
        </BkTxCd>
        <NtryDtls>
          <TxDtls>
            <Refs>
              <EndToEndId>TELECOM-2026-07</EndToEndId>
              <MndtId>PT-MNDT-2021-4412</MndtId>
            </Refs>
            <RltdPties>
              <Cdtr>
                <Pty>
                  <Nm>Telecom Norte SA</Nm>
                </Pty>
              </Cdtr>
            </RltdPties>
            <RmtInf>
              <Ustrd>Servico de comunicacoes julho 2026</Ustrd>
            </RmtInf>
          </TxDtls>
        </NtryDtls>
        <AddtlNtryInf>DEBITO DIRETO SEPA TELECOM NORTE</AddtlNtryInf>
      </Ntry>
    </Ntfctn>

160 / 163 lines shown — the complete file is in the download above.

Come sappiamo che questi risultati reggono

Ogni file di questa libreria passa nel validatore del sito a ogni build. Il risultato atteso indicato sopra è verificato da un test automatico: se un file smettesse di corrispondere a quanto afferma questa pagina, la build fallirebbe. Due fixture ereditate sono state riparate così prima della pubblicazione: tre IBAN non superavano il mod-97 e diversi nomi usavano caratteri fuori dal set SEPA di base.

Estratto conto (camt.052 / 053 / 054)