camt.054.001.08 — valid debit/credit notification
Eine gültige camt.054-Soll-/Haben-Anzeige: eine eingehende SEPA-Gutschrift und eine ausgehende Lastschrift, jeweils mit vollständigen TxDtls und Ende-zu-Ende-Referenz. Die strukturelle Überraschung ist das, was FEHLT: Eine camt.054 hat überhaupt kein <Bal>-Element — das ISO-20022-Schema definiert keines. Eine Anzeige meldet Bewegungen, sie nennt nie einen Saldo; es gibt also nichts abzustimmen.
camt.054.001.08 — Gültig
Eine gültige camt.054-Soll-/Haben-Anzeige: eine eingehende SEPA-Gutschrift und eine ausgehende Lastschrift, jeweils mit vollständigen TxDtls und Ende-zu-Ende-Referenz. Die strukturelle Überraschung ist das, was FEHLT: Eine camt.054 hat überhaupt kein <Bal>-Element — das ISO-20022-Schema definiert keines. Eine Anzeige meldet Bewegungen, sie nennt nie einen Saldo; es gibt also nichts abzustimmen.
Was diese Datei zeigt
Eine gültige camt.054-Soll-/Haben-Anzeige: eine eingehende SEPA-Gutschrift und eine ausgehende Lastschrift, jeweils mit vollständigen TxDtls und Ende-zu-Ende-Referenz. Die strukturelle Überraschung ist das, was FEHLT: Eine camt.054 hat überhaupt kein <Bal>-Element — das ISO-20022-Schema definiert keines. Eine Anzeige meldet Bewegungen, sie nennt nie einen Saldo; es gibt also nichts abzustimmen.
| Transaktionen | 2 |
|---|---|
| Datum in der Datei | 2026-07-09 |
Alle Parteien, IBANs und Beträge unten sind fiktiv. Die IBANs sind strukturell gültig — sie bestehen die Mod-97-Prüfung — gehören aber zu keinem realen Konto.
Dateiinhalt
<?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.
Woher wir wissen, dass diese Ergebnisse stimmen
Jede Datei dieser Bibliothek läuft bei jedem Build durch den eigenen Validator der Website. Das oben genannte erwartete Ergebnis wird von einem automatisierten Test geprüft: Passt eine Datei nicht mehr zu dem, was diese Seite behauptet, schlägt der Build fehl. Zwei geerbte Fixtures wurden so vor der Veröffentlichung repariert — drei IBANs scheiterten an der Mod-97-Prüfung, und mehrere Namen nutzten Zeichen außerhalb des SEPA-Basiszeichensatzes.
Kontoauszug (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.08 — three accounts in one file
- camt.053.001.10 — fully detailed entries
- camt.053.001.08 — closing balance does not reconcile
- camt.052.001.08 — valid intraday report
- camt.053.001.08 — entry with no CdtDbtInd
- camt.053.001.08 — 220 entries, valid