pain.001.001.03 — nine-character BIC
Eine pain.001, deren BIC der Empfängerbank neun Zeichen lang ist. ISO 9362 erlaubt 8 (Institut + Land + Ort) oder 11 (plus dreistellige Filialkennung) — niemals 9 oder 10. „BNPAFRPPX“ ist das typische Bild einer abgeschnittenen oder von Hand aufgefüllten Filialkennung, und es ist der eine Fehler dieser Datei, den beide Schichten sehen: Das offizielle XSD lehnt ihn wegen seines BIC-Musters ab, die Regelwerkschicht wegen seiner Länge.
pain.001.001.03 — Ungültig
Eine pain.001, deren BIC der Empfängerbank neun Zeichen lang ist. ISO 9362 erlaubt 8 (Institut + Land + Ort) oder 11 (plus dreistellige Filialkennung) — niemals 9 oder 10. „BNPAFRPPX“ ist das typische Bild einer abgeschnittenen oder von Hand aufgefüllten Filialkennung, und es ist der eine Fehler dieser Datei, den beide Schichten sehen: Das offizielle XSD lehnt ihn wegen seines BIC-Musters ab, die Regelwerkschicht wegen seiner Länge.
Was diese Datei zeigt
Eine pain.001, deren BIC der Empfängerbank neun Zeichen lang ist. ISO 9362 erlaubt 8 (Institut + Land + Ort) oder 11 (plus dreistellige Filialkennung) — niemals 9 oder 10. „BNPAFRPPX“ ist das typische Bild einer abgeschnittenen oder von Hand aufgefüllten Filialkennung, und es ist der eine Fehler dieser Datei, den beide Schichten sehen: Das offizielle XSD lehnt ihn wegen seines BIC-Musters ab, die Regelwerkschicht wegen seiner Länge.
| Transaktionen | 1 |
|---|---|
| Summe | 640,00 € |
| Verfahren | SEPA |
| Datum in der Datei | 2026-03-06 |
Die enthaltenen Fehler
- BICInvalid BIC for creditor Boulangerie Petit SARL: BNPAFRPPX
Wörtlich aus dem Validator zitiert, nicht umformuliert.
Alle Parteien, IBANs und Beträge unten sind fiktiv. Die IBANs sind strukturell gültig — sie bestehen die Mod-97-Prüfung — gehören aber zu keinem realen Konto.
Dateiinhalt
<?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 agent BIC is nine characters long.
A BIC is 8 characters (institution + country + location) or 11 (plus a 3-character
branch code). NEVER 9 or 10. "BNPAFRPPX" is what a truncated or hand-padded branch
code looks like: it survives a naive length>=8 test and is rejected by the bank.
Everything else in this file is correct — IBANs pass mod-97, the totals add up.
All parties and account numbers are fictitious.
Reference page: https://validatefin.com/en/resources/samples/sepa-pain001-invalid-bic
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-BADBIC-2026-0001</MsgId>
<CreDtTm>2026-03-02T08:00:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>640.00</CtrlSum>
<InitgPty>
<Nm>ACME Corporation SA</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMT-BADBIC-20260302</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>640.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-BADBIC-001</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="EUR">640.00</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<BIC>BNPAFRPPX</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Boulangerie Petit SARL</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>FR1420041010050500013M02606</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Facture BP-2026-0117 - fournitures</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
Woher wir wissen, dass diese Ergebnisse stimmen
Jede Datei dieser Bibliothek läuft bei jedem Build durch den eigenen Validator der Website. Das oben genannte erwartete Ergebnis wird von einem automatisierten Test geprüft: Passt eine Datei nicht mehr zu dem, was diese Seite behauptet, schlägt der Build fehl. Zwei geerbte Fixtures wurden so vor der Veröffentlichung repariert — drei IBANs scheiterten an der Mod-97-Prüfung, und mehrere Namen nutzten Zeichen außerhalb des SEPA-Basiszeichensatzes.
SEPA-Überweisung (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 — 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)