ValidateFin

pain.001.001.03 — unstructured address, executed before 2026-11-15 (warning only)

Der Zwilling des blockierenden Beispiels mit unstrukturierter Adresse — geändert wurde nur eines: das Ausführungsdatum. Dieselben reinen AdrLine-Adressen, aber ReqdExctnDt ist der 30.09.2026, vor dem Stichtag von EPC153-22 v2.1: Derselbe Mangel erscheint als zwei Warnungen statt zweier Fehler — die Zahlung geht heute noch durch. Zugleich zeigt die Datei, was „strukturiert“ wirklich heißt: Die Zahleradresse hat weder TwnNm noch Ctry, die Empfängeradresse hat ein Ctry und immer noch kein TwnNm. Ctry allein genügt nicht; TwnNm ist das Unterscheidungsmerkmal.

pain.001.001.03 — Gültig

Der Zwilling des blockierenden Beispiels mit unstrukturierter Adresse — geändert wurde nur eines: das Ausführungsdatum. Dieselben reinen AdrLine-Adressen, aber ReqdExctnDt ist der 30.09.2026, vor dem Stichtag von EPC153-22 v2.1: Derselbe Mangel erscheint als zwei Warnungen statt zweier Fehler — die Zahlung geht heute noch durch. Zugleich zeigt die Datei, was „strukturiert“ wirklich heißt: Die Zahleradresse hat weder TwnNm noch Ctry, die Empfängeradresse hat ein Ctry und immer noch kein TwnNm. Ctry allein genügt nicht; TwnNm ist das Unterscheidungsmerkmal.

SEPA-Überweisung (pain.001) pain.001.001.03 ISO 20022 / EPC153-22 v2.1Erwartetes Ergebnis: Gültig — 2 Warnungen

Was diese Datei zeigt

Der Zwilling des blockierenden Beispiels mit unstrukturierter Adresse — geändert wurde nur eines: das Ausführungsdatum. Dieselben reinen AdrLine-Adressen, aber ReqdExctnDt ist der 30.09.2026, vor dem Stichtag von EPC153-22 v2.1: Derselbe Mangel erscheint als zwei Warnungen statt zweier Fehler — die Zahlung geht heute noch durch. Zugleich zeigt die Datei, was „strukturiert“ wirklich heißt: Die Zahleradresse hat weder TwnNm noch Ctry, die Empfängeradresse hat ein Ctry und immer noch kein TwnNm. Ctry allein genügt nicht; TwnNm ist das Unterscheidungsmerkmal.

Transaktionen1
Summe500,00 €
VerfahrenSEPA
Datum in der Datei2026-09-30
Zuletzt geprüft: Lizenz: CC-BY-4.0

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.
  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>

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)