pain.001.001.03 — unstructured address, executed before 2026-11-15 (warning only)
The twin of the blocking unstructured-address sample, with one thing changed: the execution date. Same AdrLine-only addresses, but ReqdExctnDt is 2026-09-30, before the EPC153-22 v2.1 cut-off, so the very same defect comes back as two warnings instead of two errors — the payment still goes through today. It also shows what "structured" really means: the debtor address has neither TwnNm nor Ctry, the creditor address has a Ctry and still no TwnNm. Ctry alone is not enough; TwnNm is the discriminator.
pain.001.001.03 — Valid
The twin of the blocking unstructured-address sample, with one thing changed: the execution date. Same AdrLine-only addresses, but ReqdExctnDt is 2026-09-30, before the EPC153-22 v2.1 cut-off, so the very same defect comes back as two warnings instead of two errors — the payment still goes through today. It also shows what "structured" really means: the debtor address has neither TwnNm nor Ctry, the creditor address has a Ctry and still no TwnNm. Ctry alone is not enough; TwnNm is the discriminator.
What this file shows
The twin of the blocking unstructured-address sample, with one thing changed: the execution date. Same AdrLine-only addresses, but ReqdExctnDt is 2026-09-30, before the EPC153-22 v2.1 cut-off, so the very same defect comes back as two warnings instead of two errors — the payment still goes through today. It also shows what "structured" really means: the debtor address has neither TwnNm nor Ctry, the creditor address has a Ctry and still no TwnNm. Ctry alone is not enough; TwnNm is the discriminator.
| Transactions | 1 |
|---|---|
| Total | €500.00 |
| Scheme | SEPA |
| Date in the file | 2026-09-30 |
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: VALID with 2 WARNINGS — 1 transfer, 500.00 EUR.
This is the twin of sepa-pain001-unstructured-address, with ONE character changed:
the execution date. Both files carry the same unstructured addresses; this one is
executed on 2026-09-30, BEFORE the EPC153-22 v2.1 cut-off of 2026-11-15, so the
same defect is only a warning — the payment still goes through today.
It also shows what "structured" actually means: the debtor address has neither
TwnNm nor Ctry, the creditor address has a Ctry but still no TwnNm. Ctry alone
is not enough — TwnNm is the discriminator.
The trigger is the date INSIDE the file (ReqdExctnDt), never today's date.
All parties and account numbers are fictitious.
Reference page: https://validatefin.com/en/resources/samples/sepa-pain001-unstructured-address-warning
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-UNSTRUCT-WARN-2026</MsgId>
<CreDtTm>2026-09-25T10:00:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>500.00</CtrlSum>
<InitgPty>
<Nm>ACME SA</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMT-UNSTRUCT-WARN-001</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>500.00</CtrlSum>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<ReqdExctnDt>2026-09-30</ReqdExctnDt>
<Dbtr>
<Nm>ACME SA</Nm>
<PstlAdr>
<AdrLine>15 rue de la Paix</AdrLine>
<AdrLine>75002 Paris</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>FR7630006000011234567890189</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>BNPAFRPP</BIC>
</FinInstnId>
</DbtrAgt>
<CdtTrfTxInf>
<PmtId>
<EndToEndId>E2E-UNSTRUCT-WARN-001</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="EUR">500.00</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<BIC>SOGEFRPP</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Fournisseur SARL</Nm>
<PstlAdr>
<Ctry>FR</Ctry>
<AdrLine>8 boulevard Victor Hugo</AdrLine>
<AdrLine>69003 Lyon</AdrLine>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>FR3314508600001234567890150</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Facture FS-2026-0930 - prestation septembre</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.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 — accent and ampersand outside the SEPA character set
- pain.001.001.03 — 250 transfers, high-volume payroll run