camt.053.001.08 — reversal, pending entry, accents
Built for the camt.053 → MT940 converter: it carries the three things a camt.053 can say and an MT940 cannot. A REVERSAL (RvslInd) — the bank claws back the duplicate credit of entry 1, which is not a payment in the opposite direction and becomes an RC mark, not a plain debit. A PENDING entry (Sts=PDNG) — the money has not moved, so it must be left OUT of the MT940 or :60F: ± :61: = :62F: no longer holds; the CSV, which has a Status column, keeps it. And "Sté Générale" and "Müller & Co.", whose characters are outside the SWIFT set and are adapted, with the tool saying so. Booked: 10 000.00 + 2 500.00 − 2 500.00 − 1 200.00 = 8 800.00.
camt.053.001.08 — Valid
Built for the camt.053 → MT940 converter: it carries the three things a camt.053 can say and an MT940 cannot. A REVERSAL (RvslInd) — the bank claws back the duplicate credit of entry 1, which is not a payment in the opposite direction and becomes an RC mark, not a plain debit. A PENDING entry (Sts=PDNG) — the money has not moved, so it must be left OUT of the MT940 or :60F: ± :61: = :62F: no longer holds; the CSV, which has a Status column, keeps it. And "Sté Générale" and "Müller & Co.", whose characters are outside the SWIFT set and are adapted, with the tool saying so. Booked: 10 000.00 + 2 500.00 − 2 500.00 − 1 200.00 = 8 800.00.
What this file shows
Built for the camt.053 → MT940 converter: it carries the three things a camt.053 can say and an MT940 cannot. A REVERSAL (RvslInd) — the bank claws back the duplicate credit of entry 1, which is not a payment in the opposite direction and becomes an RC mark, not a plain debit. A PENDING entry (Sts=PDNG) — the money has not moved, so it must be left OUT of the MT940 or :60F: ± :61: = :62F: no longer holds; the CSV, which has a Status column, keeps it. And "Sté Générale" and "Müller & Co.", whose characters are outside the SWIFT set and are adapted, with the tool saying so. Booked: 10 000.00 + 2 500.00 − 2 500.00 − 1 200.00 = 8 800.00.
| Transactions | 4 |
|---|---|
| Date in the file | 2026-06-30 |
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.
Expected validation result: VALID — 4 entries, balances reconcile over the
BOOKED entries only.
This file exists for the camt.053 -> MT940 converter. It carries the three
things a camt.053 can say and an MT940 cannot, all in one statement:
* a REVERSAL (RvslInd = true on entry 2): the bank claws back the duplicate
credit of entry 1. It is NOT a payment in the opposite direction — MT940
has a dedicated mark for it (RC = reversal of credit, RD = reversal of
debit), and a converter that emitted an ordinary movement would turn one
cancelled transaction into two unrelated payments.
* a PENDING entry (Sts = PDNG on entry 4): the money has not moved. MT940
cannot say "not settled yet", so the entry must be LEFT OUT of the MT940 —
including it would break :60F: +/- :61: = :62F:. A CSV, which has a Status
column, keeps it.
* characters outside the SWIFT "x" set: "Sté Générale", "Müller & Co.".
MT940 cannot carry them; they are adapted, and the tool says so.
The arithmetic: OPBD 10 000.00 + 2 500.00 - 2 500.00 - 1 200.00 = CLBD 8 800.00.
The pending 800.00 is deliberately NOT in it — pending money is not booked money.
All parties and account numbers are fictitious.
Reference page: https://validatefin.com/en/resources/samples/camt053-reversal-pending
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-REV-20260630</MsgId>
<CreDtTm>2026-06-30T22:00:00</CreDtTm>
</GrpHdr>
<Stmt>
<Id>STMT-FR-2026-06</Id>
<LglSeqNb>6</LglSeqNb>
<CreDtTm>2026-06-30T22:00:00</CreDtTm>
<FrToDt>
<FrDtTm>2026-06-01T00:00:00</FrDtTm>
<ToDtTm>2026-06-30T23:59:59</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>FR7630006000011234567890189</IBAN>
</Id>
<Ccy>EUR</Ccy>
<Nm>Atelier Duval SARL</Nm>
<Ownr>
<Nm>Atelier Duval SARL</Nm>
</Ownr>
<Svcr>
<FinInstnId>
<BICFI>AGRIFRPP</BICFI>
</FinInstnId>
</Svcr>
</Acct>
<!-- Solde d'ouverture -->
<Bal>
<Tp>
<CdOrPrtry>
<Cd>OPBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">10000.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2026-06-01</Dt>
</Dt>
</Bal>
<!-- Solde de clôture : écritures COMPTABILISÉES uniquement -->
<Bal>
<Tp>
<CdOrPrtry>
<Cd>CLBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">8800.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2026-06-30</Dt>
</Dt>
</Bal>
<!-- Solde disponible : devient le :64: du MT940 -->
<Bal>
<Tp>
<CdOrPrtry>
<Cd>CLAV</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">8800.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2026-06-30</Dt>
</Dt>
</Bal>
<!-- 1. Virement client reçu — le nom porte des accents -->
<Ntry>
<NtryRef>FR-2026-06-001</NtryRef>
<Amt Ccy="EUR">2500.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts>
<Cd>BOOK</Cd>
</Sts>
<BookgDt>
<Dt>2026-06-08</Dt>
</BookgDt>
<ValDt>
<Dt>2026-06-08</Dt>
</ValDt>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>RCDT</Cd>
<SubFmlyCd>ESCT</SubFmlyCd>
</Fmly>
</Domn>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<AcctSvcrRef>BNKREF-20260608-77</AcctSvcrRef>
<EndToEndId>FACT-2026-0421</EndToEndId>
</Refs>
<RltdPties>
<Dbtr>
<Pty>
<Nm>Sté Générale Nord SA</Nm>
</Pty>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>FR1420041010050500013M02606</IBAN>
</Id>
</DbtrAcct>
</RltdPties>
<RmtInf>
<Ustrd>Facture 2026-0421 — solde</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
<AddtlNtryInf>VIREMENT RECU STE GENERALE NORD</AddtlNtryInf>
</Ntry>
<!-- 2. CONTRE-PASSEMENT du crédit ci-dessus (doublon) : RvslInd = true.
En MT940 : RC (reversal of credit), pas un débit ordinaire. -->
<Ntry>
<NtryRef>FR-2026-06-002</NtryRef>
<Amt Ccy="EUR">2500.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<RvslInd>true</RvslInd>
<Sts>
<Cd>BOOK</Cd>
</Sts>
<BookgDt>
<Dt>2026-06-09</Dt>
</BookgDt>
<ValDt>
<Dt>2026-06-08</Dt>160 / 284 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)
- 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.054.001.08 — valid debit/credit notification
- camt.053.001.08 — entry with no CdtDbtInd
- camt.053.001.08 — 220 entries, valid