pain.001.001.09 — valid, hybrid address
Un virement pain.001.001.09 valide, avec BICFI et l’adresse postale hybride autorisée par EPC153-22 v2.1 : TwnNm et Ctry, plus au maximum deux AdrLine de 70 caractères ou moins.
pain.001.001.09 — Valide
Un virement pain.001.001.09 valide, avec BICFI et l’adresse postale hybride autorisée par EPC153-22 v2.1 : TwnNm et Ctry, plus au maximum deux AdrLine de 70 caractères ou moins.
Ce que montre ce fichier
Un virement pain.001.001.09 valide, avec BICFI et l’adresse postale hybride autorisée par EPC153-22 v2.1 : TwnNm et Ctry, plus au maximum deux AdrLine de 70 caractères ou moins.
| Transactions | 2 |
|---|---|
| Total | 2 750,50 € |
| Schéma | SEPA |
| Date contenue dans le fichier | 2026-02-28 |
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 — SEPA Credit Transfer, pain.001.001.09.
Expected validation result: VALID — 2 transfers, 2 750.50 EUR.
Addresses are in the HYBRID form allowed by EPC153-22 v2.1: TwnNm + Ctry plus at
most two AdrLine of 70 characters or less.
All parties and account numbers are fictitious.
Reference page: https://validatefin.com/en/resources/samples/sepa-pain001-v09-valid
License: CC-BY-4.0
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>MSG-TEST-009-20260223</MsgId>
<CreDtTm>2026-02-23T14:30:00</CreDtTm>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>2750.50</CtrlSum>
<InitgPty>
<Nm>Societe Dupont et Fils</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMT-009-20260223-A</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>2750.50</CtrlSum>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
<LclInstrm>
<Cd>INST</Cd>
</LclInstrm>
</PmtTpInf>
<ReqdExctnDt>
<Dt>2026-02-28</Dt>
</ReqdExctnDt>
<Dbtr>
<Nm>Societe Dupont et Fils</Nm>
<PstlAdr>
<TwnNm>Paris</TwnNm>
<Ctry>FR</Ctry>
<AdrLine>12 rue des Artisans</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>FR7610107001011234567890129</IBAN>
</Id>
<Ccy>EUR</Ccy>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BICFI>CCBPFRPP</BICFI>
</FinInstnId>
</DbtrAgt>
<CdtTrfTxInf>
<PmtId>
<InstrId>INSTR-001</InstrId>
<EndToEndId>E2E-009-001-MARTIN</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="EUR">2500.00</InstdAmt>
</Amt>
<ChrgBr>SLEV</ChrgBr>
<CdtrAgt>
<FinInstnId>
<BICFI>DEUTDEDB</BICFI>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Martin GmbH</Nm>
<PstlAdr>
<TwnNm>Berlin</TwnNm>
<Ctry>DE</Ctry>
<AdrLine>Hauptstrasse 42</AdrLine>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>DE89370400440532013000</IBAN>
</Id>
</CdtrAcct>
<Purp>
<Cd>SUPP</Cd>
</Purp>
<RmtInf>
<Ustrd>Facture MG-2026-0055 - Livraison equipements</Ustrd>
</RmtInf>
</CdtTrfTxInf>
<CdtTrfTxInf>
<PmtId>
<InstrId>INSTR-002</InstrId>
<EndToEndId>E2E-009-002-LOPEZ</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="EUR">250.50</InstdAmt>
</Amt>
<ChrgBr>SLEV</ChrgBr>
<CdtrAgt>
<FinInstnId>
<BICFI>BBVAESMM</BICFI>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Lopez Consulting SL</Nm>
<PstlAdr>
<TwnNm>Madrid</TwnNm>
<Ctry>ES</Ctry>
<AdrLine>Calle Mayor 7</AdrLine>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>ES9121000418450200051332</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Honoraires conseil Q4-2025 - Ref LC-2025-089</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
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.
Virement SEPA (pain.001)
- pain.001.001.03 — valid credit transfer
- 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
- pain.001.001.03 — unstructured address, executed before 2026-11-15 (warning only)