ValidateFin

camt.054.001.08 — valid debit/credit notification

Un avis de débit/crédit camt.054 valide : un crédit SEPA entrant et un prélèvement sortant, chacun avec ses TxDtls complets et sa référence de bout en bout. La surprise structurelle est ce qui n’y est PAS : un camt.054 n’a aucun élément <Bal> — le schéma ISO 20022 n’en définit pas. Un avis annonce des mouvements, il n’énonce jamais de solde : il n’y a rien à rapprocher.

camt.054.001.08 — Valide

Un avis de débit/crédit camt.054 valide : un crédit SEPA entrant et un prélèvement sortant, chacun avec ses TxDtls complets et sa référence de bout en bout. La surprise structurelle est ce qui n’y est PAS : un camt.054 n’a aucun élément <Bal> — le schéma ISO 20022 n’en définit pas. Un avis annonce des mouvements, il n’énonce jamais de solde : il n’y a rien à rapprocher.

Relevé bancaire (camt.052 / 053 / 054) camt.054.001.08 ISO 20022Résultat attendu: Valide

Ce que montre ce fichier

Un avis de débit/crédit camt.054 valide : un crédit SEPA entrant et un prélèvement sortant, chacun avec ses TxDtls complets et sa référence de bout en bout. La surprise structurelle est ce qui n’y est PAS : un camt.054 n’a aucun élément <Bal> — le schéma ISO 20022 n’en définit pas. Un avis annonce des mouvements, il n’énonce jamais de solde : il n’y a rien à rapprocher.

Transactions2
Date contenue dans le fichier2026-07-09
Dernière vérification: Licence: CC-BY-4.0

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

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)