ValidateFin

camt.053.001.08 — reversal, pending entry, accents

Construit pour le convertisseur camt.053 → MT940 : il porte les trois choses qu’un camt.053 sait dire et qu’un MT940 ne sait pas. Un CONTRE-PASSEMENT (RvslInd) — la banque reprend le crédit en double de l’écriture 1, ce qui n’est pas un paiement de sens inverse et devient une marque RC, pas un simple débit. Une écriture EN ATTENTE (Sts=PDNG) — l’argent n’a pas bougé, elle doit donc être EXCLUE du MT940, sans quoi :60F: ± :61: = :62F: ne tient plus ; le CSV, lui, a une colonne Statut et la garde. Et « Sté Générale » et « Müller & Co. », dont les caractères sont hors du jeu SWIFT : ils sont adaptés, et l’outil le dit. Comptabilisé : 10 000,00 + 2 500,00 − 2 500,00 − 1 200,00 = 8 800,00.

camt.053.001.08 — Valide

Construit pour le convertisseur camt.053 → MT940 : il porte les trois choses qu’un camt.053 sait dire et qu’un MT940 ne sait pas. Un CONTRE-PASSEMENT (RvslInd) — la banque reprend le crédit en double de l’écriture 1, ce qui n’est pas un paiement de sens inverse et devient une marque RC, pas un simple débit. Une écriture EN ATTENTE (Sts=PDNG) — l’argent n’a pas bougé, elle doit donc être EXCLUE du MT940, sans quoi :60F: ± :61: = :62F: ne tient plus ; le CSV, lui, a une colonne Statut et la garde. Et « Sté Générale » et « Müller & Co. », dont les caractères sont hors du jeu SWIFT : ils sont adaptés, et l’outil le dit. Comptabilisé : 10 000,00 + 2 500,00 − 2 500,00 − 1 200,00 = 8 800,00.

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

Ce que montre ce fichier

Construit pour le convertisseur camt.053 → MT940 : il porte les trois choses qu’un camt.053 sait dire et qu’un MT940 ne sait pas. Un CONTRE-PASSEMENT (RvslInd) — la banque reprend le crédit en double de l’écriture 1, ce qui n’est pas un paiement de sens inverse et devient une marque RC, pas un simple débit. Une écriture EN ATTENTE (Sts=PDNG) — l’argent n’a pas bougé, elle doit donc être EXCLUE du MT940, sans quoi :60F: ± :61: = :62F: ne tient plus ; le CSV, lui, a une colonne Statut et la garde. Et « Sté Générale » et « Müller & Co. », dont les caractères sont hors du jeu SWIFT : ils sont adaptés, et l’outil le dit. Comptabilisé : 10 000,00 + 2 500,00 − 2 500,00 − 1 200,00 = 8 800,00.

Transactions4
Date contenue dans le fichier2026-06-30
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 — 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.

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)