pain.001.001.03 — unstructured address after 2026-11-15
The reference case for the EPC structured-address rule: addresses carry AdrLine only, with no TwnNm. What makes it a blocking error is the execution date inside the file (ReqdExctnDt = 2026-11-20, after the 2026-11-15 cut-off) — move that date earlier and the very same file downgrades to a warning.
pain.001.001.03 — Invalid
The reference case for the EPC structured-address rule: addresses carry AdrLine only, with no TwnNm. What makes it a blocking error is the execution date inside the file (ReqdExctnDt = 2026-11-20, after the 2026-11-15 cut-off) — move that date earlier and the very same file downgrades to a warning.
What this file shows
The reference case for the EPC structured-address rule: addresses carry AdrLine only, with no TwnNm. What makes it a blocking error is the execution date inside the file (ReqdExctnDt = 2026-11-20, after the 2026-11-15 cut-off) — move that date earlier and the very same file downgrades to a warning.
| Transactions | 1 |
|---|---|
| Total | €500.00 |
| Scheme | SEPA |
| Date in the file | 2026-11-20 |
The defects it carries
- EPC153-22Unstructured postal address for debtor "ACME SA": <TwnNm> is missing. Payments executed on or after 2026-11-15 must carry a structured or hybrid address (EPC153-22 v2.1); your bank must reject this instruction.
- EPC153-22Unstructured postal address for creditor "Fournisseur SARL": <TwnNm> is missing and <Ctry> is missing. Payments executed on or after 2026-11-15 must carry a structured or hybrid address (EPC153-22 v2.1); your bank must reject this instruction.
Quoted verbatim from the validator, not paraphrased.
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 — SEPA Credit Transfer, pain.001.001.03.
Expected validation result: INVALID — unstructured address after the cut-off.
Deliberate defect: the addresses carry AdrLine only, with no TwnNm. From
2026-11-15 (EPC153-22 v2.1) an address that is present must be structured
(TwnNm + Ctry) or hybrid. The trigger is the execution date INSIDE the file:
ReqdExctnDt is 2026-11-20, so this is a blocking error. Move that date before
2026-11-15 and the very same file downgrades to a non-blocking warning.
All parties and account numbers are fictitious.
Reference page: https://validatefin.com/en/resources/samples/sepa-pain001-unstructured-address
License: CC-BY-4.0
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>MSG-ADDR-2026</MsgId>
<CreDtTm>2026-07-09T09:00:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>1250.00</CtrlSum>
<InitgPty><Nm>ACME SA</Nm></InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMT-ADDR-1</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>1250.00</CtrlSum>
<PmtTpInf><SvcLvl><Cd>SEPA</Cd></SvcLvl></PmtTpInf>
<ReqdExctnDt>2026-11-20</ReqdExctnDt>
<Dbtr>
<Nm>ACME SA</Nm>
<PstlAdr>
<Ctry>BE</Ctry>
<AdrLine>CITY HALL GROTE MARKT 1</AdrLine>
<AdrLine>1000 BRUSSELS</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct><Id><IBAN>FR1420041010050500013M02606</IBAN></Id></DbtrAcct>
<DbtrAgt><FinInstnId><BIC>PSSTFRPPPAR</BIC></FinInstnId></DbtrAgt>
<ChrgBr>SLEV</ChrgBr>
<CdtTrfTxInf>
<PmtId><EndToEndId>E2E-ADDR-1</EndToEndId></PmtId>
<Amt><InstdAmt Ccy="EUR">1250.00</InstdAmt></Amt>
<CdtrAgt><FinInstnId><BIC>GEBABEBB</BIC></FinInstnId></CdtrAgt>
<Cdtr>
<Nm>Fournisseur SARL</Nm>
<PstlAdr>
<AdrLine>RUE DE LA LOI 16</AdrLine>
<AdrLine>1040 BRUXELLES</AdrLine>
</PstlAdr>
</Cdtr>
<CdtrAcct><Id><IBAN>BE68539007547034</IBAN></Id></CdtrAcct>
<RmtInf><Ustrd>Facture 2026-001</Ustrd></RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
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.
SEPA Credit Transfer (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.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 — accent and ampersand outside the SEPA character set
- pain.001.001.03 — 250 transfers, high-volume payroll run
- pain.001.001.03 — unstructured address, executed before 2026-11-15 (warning only)