camt.053.001.08 — reversal, pending entry, accents
Hecho para el convertidor camt.053 → MT940: reúne las tres cosas que un camt.053 sabe decir y un MT940 no. Un CONTRAASIENTO (RvslInd) — el banco recupera el abono duplicado del apunte 1, que no es un pago en sentido contrario y se convierte en una marca RC, no en un simple adeudo. Un apunte PENDIENTE (Sts=PDNG) — el dinero no se ha movido, así que debe quedar FUERA del MT940 o :60F: ± :61: = :62F: deja de cuadrar; el CSV, que tiene columna Estado, lo conserva. Y «Sté Générale» y «Müller & Co.», con caracteres fuera del juego SWIFT: se adaptan, y la herramienta lo dice. Contabilizado: 10 000,00 + 2 500,00 − 2 500,00 − 1 200,00 = 8 800,00.
camt.053.001.08 — Válido
Hecho para el convertidor camt.053 → MT940: reúne las tres cosas que un camt.053 sabe decir y un MT940 no. Un CONTRAASIENTO (RvslInd) — el banco recupera el abono duplicado del apunte 1, que no es un pago en sentido contrario y se convierte en una marca RC, no en un simple adeudo. Un apunte PENDIENTE (Sts=PDNG) — el dinero no se ha movido, así que debe quedar FUERA del MT940 o :60F: ± :61: = :62F: deja de cuadrar; el CSV, que tiene columna Estado, lo conserva. Y «Sté Générale» y «Müller & Co.», con caracteres fuera del juego SWIFT: se adaptan, y la herramienta lo dice. Contabilizado: 10 000,00 + 2 500,00 − 2 500,00 − 1 200,00 = 8 800,00.
Lo que muestra este fichero
Hecho para el convertidor camt.053 → MT940: reúne las tres cosas que un camt.053 sabe decir y un MT940 no. Un CONTRAASIENTO (RvslInd) — el banco recupera el abono duplicado del apunte 1, que no es un pago en sentido contrario y se convierte en una marca RC, no en un simple adeudo. Un apunte PENDIENTE (Sts=PDNG) — el dinero no se ha movido, así que debe quedar FUERA del MT940 o :60F: ± :61: = :62F: deja de cuadrar; el CSV, que tiene columna Estado, lo conserva. Y «Sté Générale» y «Müller & Co.», con caracteres fuera del juego SWIFT: se adaptan, y la herramienta lo dice. Contabilizado: 10 000,00 + 2 500,00 − 2 500,00 − 1 200,00 = 8 800,00.
| Transacciones | 4 |
|---|---|
| Fecha en el fichero | 2026-06-30 |
Todas las partes, IBAN e importes siguientes son ficticios. Los IBAN son estructuralmente válidos —superan el mod-97— pero no corresponden a ninguna cuenta real.
Contenido del fichero
<?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.
Cómo sabemos que estos resultados se sostienen
Cada fichero de esta biblioteca pasa por el propio validador del sitio en cada build. El resultado esperado indicado arriba lo verifica un test automatizado: si un fichero dejara de coincidir con lo que afirma esta página, el build fallaría. Dos fixtures heredadas se repararon así antes de publicarse: tres IBAN no superaban el mod-97 y varios nombres usaban caracteres fuera del juego SEPA básico.
Extracto bancario (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