ValidateFin

pain.001.001.03 — accent and ampersand outside the SEPA character set

Un pain.001 il cui beneficiario si chiama «Café Renard & Fils SARL»: una lettera accentata e una e commerciale, entrambe fuori dal set di caratteri latino di base approvato dall’EPC (a-z A-Z 0-9 e / - ? : ( ) . , ' + spazio). L’XML è ben formato e l’XSD ufficiale lo accetta senza obiezioni: Max70Text prende qualunque stringa. Il difetto vive interamente nel livello delle regole, ed è per questo che file simili arrivano in banca, che li rifiuta o li traslittera in silenzio.

pain.001.001.03 — Non valido

Un pain.001 il cui beneficiario si chiama «Café Renard & Fils SARL»: una lettera accentata e una e commerciale, entrambe fuori dal set di caratteri latino di base approvato dall’EPC (a-z A-Z 0-9 e / - ? : ( ) . , ' + spazio). L’XML è ben formato e l’XSD ufficiale lo accetta senza obiezioni: Max70Text prende qualunque stringa. Il difetto vive interamente nel livello delle regole, ed è per questo che file simili arrivano in banca, che li rifiuta o li traslittera in silenzio.

Bonifico SEPA (pain.001) pain.001.001.03 ISO 20022 / EPC basic Latin setRisultato atteso: Non valido — 1 errori

Cosa mostra questo file

Un pain.001 il cui beneficiario si chiama «Café Renard & Fils SARL»: una lettera accentata e una e commerciale, entrambe fuori dal set di caratteri latino di base approvato dall’EPC (a-z A-Z 0-9 e / - ? : ( ) . , ' + spazio). L’XML è ben formato e l’XSD ufficiale lo accetta senza obiezioni: Max70Text prende qualunque stringa. Il difetto vive interamente nel livello delle regole, ed è per questo che file simili arrivano in banca, che li rifiuta o li traslittera in silenzio.

Transazioni1
Totale250,00 €
SchemaSEPA
Data nel file2026-03-06

I difetti che contiene

  • CharsetNon-SEPA character(s) in creditor name for "Café Renard & Fils SARL": é &. Allowed: a-z A-Z 0-9 / - ? : ( ) . , ' + space.

Citato alla lettera dal validatore, non parafrasato.

Ultima verifica: Licenza: CC-BY-4.0

Tutte le parti, gli IBAN e gli importi qui sotto sono fittizi. Gli IBAN sono strutturalmente validi — superano il mod-97 — ma non corrispondono ad alcun conto reale.

Contenuto del file

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ValidateFin sample file — SEPA Credit Transfer, pain.001.001.03, BROKEN ON PURPOSE.
  Expected validation result: INVALID — the creditor name leaves the basic SEPA
  character set.

  The EPC-approved Latin character set is: a-z A-Z 0-9 and / - ? : ( ) . , ' + space.
  The creditor here is "Cafe Renard & Fils SARL" spelled with an accented "e" and an
  ampersand, both of which are outside it. The XML is perfectly well-formed and the
  official XSD accepts it (Max70Text takes any string) — this defect lives entirely in
  the EPC rulebook layer, which is exactly why files like this reach the bank and are
  rejected or silently transliterated there.

  All parties and account numbers are fictitious.
  Reference page: https://validatefin.com/en/resources/samples/sepa-pain001-invalid-charset
  License: CC-BY-4.0
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <CstmrCdtTrfInitn>
    <GrpHdr>
      <MsgId>CT-CHARSET-2026-0001</MsgId>
      <CreDtTm>2026-03-02T08:30:00</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>250.00</CtrlSum>
      <InitgPty>
        <Nm>ACME Corporation SA</Nm>
      </InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>PMT-CHARSET-20260302</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>250.00</CtrlSum>
      <PmtTpInf>
        <SvcLvl>
          <Cd>SEPA</Cd>
        </SvcLvl>
      </PmtTpInf>
      <ReqdExctnDt>2026-03-06</ReqdExctnDt>
      <Dbtr>
        <Nm>ACME Corporation SA</Nm>
      </Dbtr>
      <DbtrAcct>
        <Id>
          <IBAN>FR7630006000011234567890189</IBAN>
        </Id>
      </DbtrAcct>
      <DbtrAgt>
        <FinInstnId>
          <BIC>BNPAFRPP</BIC>
        </FinInstnId>
      </DbtrAgt>
      <CdtTrfTxInf>
        <PmtId>
          <EndToEndId>E2E-CHARSET-001</EndToEndId>
        </PmtId>
        <Amt>
          <InstdAmt Ccy="EUR">250.00</InstdAmt>
        </Amt>
        <CdtrAgt>
          <FinInstnId>
            <BIC>SOGEFRPP</BIC>
          </FinInstnId>
        </CdtrAgt>
        <Cdtr>
          <Nm>Café Renard &amp; Fils SARL</Nm>
        </Cdtr>
        <CdtrAcct>
          <Id>
            <IBAN>FR3314508600001234567890150</IBAN>
          </Id>
        </CdtrAcct>
        <RmtInf>
          <Ustrd>Facture CR-2026-0042 - restauration</Ustrd>
        </RmtInf>
      </CdtTrfTxInf>
    </PmtInf>
  </CstmrCdtTrfInitn>
</Document>

Come sappiamo che questi risultati reggono

Ogni file di questa libreria passa nel validatore del sito a ogni build. Il risultato atteso indicato sopra è verificato da un test automatico: se un file smettesse di corrispondere a quanto afferma questa pagina, la build fallirebbe. Due fixture ereditate sono state riparate così prima della pubblicazione: tre IBAN non superavano il mod-97 e diversi nomi usavano caratteri fuori dal set SEPA di base.

Bonifico SEPA (pain.001)