pain.001.001.03 — accent and ampersand outside the SEPA character set
Um pain.001 cujo beneficiário se chama «Café Renard & Fils SARL» — uma letra acentuada e um E comercial, ambos fora do conjunto de caracteres latino básico aprovado pelo EPC (a-z A-Z 0-9 e / - ? : ( ) . , ' + espaço). O XML está bem formado e o XSD oficial aceita-o sem reservas: Max70Text aceita qualquer cadeia. Este defeito vive inteiramente na camada de regras, e é por isso que estes ficheiros chegam ao banco, que os rejeita ou translitera em silêncio.
pain.001.001.03 — Inválido
Um pain.001 cujo beneficiário se chama «Café Renard & Fils SARL» — uma letra acentuada e um E comercial, ambos fora do conjunto de caracteres latino básico aprovado pelo EPC (a-z A-Z 0-9 e / - ? : ( ) . , ' + espaço). O XML está bem formado e o XSD oficial aceita-o sem reservas: Max70Text aceita qualquer cadeia. Este defeito vive inteiramente na camada de regras, e é por isso que estes ficheiros chegam ao banco, que os rejeita ou translitera em silêncio.
O que este ficheiro mostra
Um pain.001 cujo beneficiário se chama «Café Renard & Fils SARL» — uma letra acentuada e um E comercial, ambos fora do conjunto de caracteres latino básico aprovado pelo EPC (a-z A-Z 0-9 e / - ? : ( ) . , ' + espaço). O XML está bem formado e o XSD oficial aceita-o sem reservas: Max70Text aceita qualquer cadeia. Este defeito vive inteiramente na camada de regras, e é por isso que estes ficheiros chegam ao banco, que os rejeita ou translitera em silêncio.
| Transações | 1 |
|---|---|
| Total | € 250,00 |
| Esquema | SEPA |
| Data no ficheiro | 2026-03-06 |
Os defeitos que contém
- CharsetNon-SEPA character(s) in creditor name for "Café Renard & Fils SARL": é &. Allowed: a-z A-Z 0-9 / - ? : ( ) . , ' + space.
Citado literalmente do validador, sem paráfrase.
Todas as partes, IBAN e montantes abaixo são fictícios. Os IBAN são estruturalmente válidos — passam no mod-97 — mas não correspondem a nenhuma conta real.
Conteúdo do ficheiro
<?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 & Fils SARL</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>FR3314508600001234567890150</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Facture CR-2026-0042 - restauration</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
Como sabemos que estes resultados se mantêm
Cada ficheiro desta biblioteca passa pelo próprio validador do site em cada build. O resultado esperado indicado acima é verificado por um teste automatizado: se um ficheiro deixasse de corresponder ao que esta página afirma, o build falharia. Duas fixtures herdadas foram reparadas assim antes da publicação: três IBAN falhavam o mod-97 e vários nomes usavam caracteres fora do conjunto SEPA básico.
Transferência SEPA (pain.001)
- pain.001.001.03 — valid credit transfer
- pain.001.001.09 — valid, hybrid address
- pain.001.001.03 — CtrlSum mismatch
- pain.001.001.03 — invalid IBAN
- pain.001.001.03 — NbOfTxs mismatch
- pain.001.001.03 — unstructured address after 2026-11-15
- pain.001.001.11 — valid, fully structured address, executed after 2026-11-15
- pain.001.001.09 — valid, two payment batches with different execution dates
- pain.001.001.03 — nine-character BIC
- pain.001.001.03 — 250 transfers, high-volume payroll run
- pain.001.001.03 — unstructured address, executed before 2026-11-15 (warning only)