ISO 20022 erklärt

Was ist pain.001? Die ISO-20022-Überweisung erklärt

Die ISO-20022-Nachricht, mit der ein Unternehmen seine Bank mit Überweisungen beauftragt: was sie ist, wie sie aufgebaut ist, welche Version Sie verwenden, und ein vollständiges Beispiel, das gegen das offizielle Schema validiert.

pain.001 ist die ISO-20022-Nachricht, mit der ein Unternehmen seine Bank mit einer oder mehreren Überweisungen beauftragt. Der vollständige Name lautet Customer Credit Transfer Initiation (Kundenüberweisungsauftrag): „pain“ steht für die Nachrichtenfamilie der Zahlungsauslösung, .001 ist die Nachrichtennummer und das Suffix, etwa pain.001.001.09, die Version. Es handelt sich um XML, das gegen ein offizielles Schema (XSD) validiert wird; es ersetzt bankspezifische CSV-Formate und die SWIFT-Textnachricht MT101.

pain.001 in einer Minute#

  • Wer sie sendet: ein Unternehmen (der Auftraggeber oder ein in seinem Namen handelnder Dienstleister) sendet sie an die eigene Bank (das Institut des Auftraggebers).
  • Was sie enthält: einen oder mehrere Sammelaufträge mit Überweisungen, jeweils mit einem Auftraggeberkonto, einem gewünschten Ausführungsdatum und beliebig vielen Zahlungen an Begünstigte.
  • Was zurückkommt: die Bank antwortet mit pain.002, dem Customer Payment Status Report, der die Datei oder einzelne Transaktionen mit ISO-Ablehnungscodes annimmt oder ablehnt.
  • Was danach passiert: nach der Annahme wandelt die Bank jeden Auftrag in Interbanken-Nachrichten wie pacs.008 um, die das Unternehmen nie zu sehen bekommt.
  • Wo sie eingesetzt wird: für SEPA-Überweisungen nach den EPC-Regelwerken, für grenzüberschreitende Zahlungen über Swift unter CBPR+ (pain.001.001.09) und in vielen nationalen Verfahren. Der Beispielkorpus von Pain001 umfasst 42 Szenarien in 17 Märkten.

Wie eine pain.001-Nachricht aufgebaut ist#

Alle Versionen teilen dasselbe dreistufige Grundgerüst innerhalb eines <CstmrCdtTrfInitn>-Elements.

Ebene Element Inhalt
1 <GrpHdr> Gruppenkopf Nachrichten-ID, Erstellungszeitpunkt, Anzahl der Transaktionen (NbOfTxs), Kontrollsumme (CtrlSum), auslösende Partei
2 <PmtInf> Zahlungsinformationen Ein Sammelauftrag: Zahlungsart, gewünschtes Ausführungsdatum, Auftraggeber, Konto und Institut des Auftraggebers, Entgeltregelung
3 <CdtTrfTxInf> Überweisungstransaktion Eine Zahlung: Ende-zu-Ende-Referenz, Betrag und Währung, Begünstigter, Konto und Institut des Begünstigten, Verwendungszweck

Eine Datei kann mehrere <PmtInf>-Sammelaufträge enthalten und jeder Sammelauftrag viele <CdtTrfTxInf>-Zahlungen. NbOfTxs und CtrlSum stehen sowohl auf Datei- als auch auf Sammelauftragsebene und müssen zu den gezählten Zahlungen passen; eine Abweichung ist einer der häufigsten Gründe, warum eine Bank eine Datei ablehnt.

Ein vollständiges pain.001-Beispiel#

Dies ist eine einzelne SEPA-Überweisung in pain.001.001.09, unverändert aus dem Beispielkorpus von Pain001 übernommen. Sie validiert gegen das offizielle ISO-20022-XSD. Parteien, IBANs und BICs sind fiktiv.

<?xml version='1.0' encoding='UTF-8'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09">
  <CstmrCdtTrfInitn>
    <GrpHdr>
      <MsgId>OML-SCT-20260921</MsgId>
      <CreDtTm>2026-09-21T12:00:00</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>2200.00</CtrlSum>
      <InitgPty>
        <Nm>Officine Meccaniche Lombarde SpA</Nm>
        <PstlAdr>
          <PstCd>20123</PstCd>
          <TwnNm>Milano</TwnNm>
          <Ctry>IT</Ctry>
          <AdrLine>Via Torino 15</AdrLine>
        </PstlAdr>
      </InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>SCT-20260921-IT-01</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <BtchBookg>false</BtchBookg>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>2200.00</CtrlSum>
      <PmtTpInf>
        <SvcLvl>
          <Cd>SEPA</Cd>
        </SvcLvl>
      </PmtTpInf>
      <ReqdExctnDt>
        <Dt>2026-09-22</Dt>
      </ReqdExctnDt>
      <Dbtr>
        <Nm>Officine Meccaniche Lombarde SpA</Nm>
        <PstlAdr>
          <PstCd>20123</PstCd>
          <TwnNm>Milano</TwnNm>
          <Ctry>IT</Ctry>
          <AdrLine>Via Torino 15</AdrLine>
        </PstlAdr>
      </Dbtr>
      <DbtrAcct>
        <Id>
          <IBAN>IT48T78971134594OGDKY5VXE41</IBAN>
        </Id>
      </DbtrAcct>
      <DbtrAgt>
        <FinInstnId>
          <BICFI>TLAOIT60</BICFI>
        </FinInstnId>
      </DbtrAgt>
      <ChrgBr>SLEV</ChrgBr>
      <CdtTrfTxInf>
        <PmtId>
          <EndToEndId>OML-2026-0921-01</EndToEndId>
        </PmtId>
        <Amt>
          <InstdAmt Ccy="EUR">2200.00</InstdAmt>
        </Amt>
        <CdtrAgt>
          <FinInstnId>
            <BICFI>MHXHITI0</BICFI>
          </FinInstnId>
        </CdtrAgt>
        <Cdtr>
          <Nm>Fonderia Bresciana Srl</Nm>
          <PstlAdr>
            <PstCd>25121</PstCd>
            <TwnNm>Brescia</TwnNm>
            <Ctry>IT</Ctry>
          </PstlAdr>
        </Cdtr>
        <CdtrAcct>
          <Id>
            <IBAN>IT23J14887404856NF3794IGWXN</IBAN>
          </Id>
        </CdtrAcct>
        <RmtInf>
          <Ustrd>Fattura 117/2026</Ustrd>
        </RmtInf>
      </CdtTrfTxInf>
    </PmtInf>
  </CstmrCdtTrfInitn>
</Document>

Testen Sie Ihre eigenen Daten in der Browser-Demo: Sie erstellt aus einer CSV-Datei eine pain.001-Datei und validiert sie gegen das offizielle Schema, ohne dass die Daten Ihren Rechner verlassen.

pain.001-Versionen#

ISO veröffentlicht eine neue Version, wenn sich das Nachrichtenmodell ändert. Banken und Verfahren akzeptieren jeweils bestimmte Versionen; senden Sie die Version, die in der Kanaldokumentation Ihrer Bank genannt ist.

Version Hinweise
pain.001.001.03 Das bewährte Arbeitspferd für SEPA und CGI; identifiziert Banken mit <BIC>
.04, .05, .06, .07, .08 Wartungsversionen, die bestimmte Kanäle nutzen
pain.001.001.09 Die Version von 2019, die CBPR+ für Swift gewählt hat; identifiziert Banken mit <BICFI> und transportiert zusätzlich LEI und UETR
.10, .11, .12 Weiterentwicklungen nach 2019
pain.001.001.13 Von ISO am 19. März 2026 veröffentlicht; ergänzt eine optionale eindeutige Transaktionskennung (UnqTxIdr)

Die Kompatibilitätsmatrix zeigt, welche Versionen Pain001 erzeugt, validiert und ineinander überführt.

Nachricht Richtung Zweck
pain.001 Unternehmen an die eigene Bank Beauftragt Überweisungen (Geld geht hinaus)
pain.002 Bank an das Unternehmen Meldet den Status einer pain.001 oder pain.008: angenommen, teilweise angenommen oder abgelehnt, mit Ablehnungscodes
pain.008 Unternehmen an die eigene Bank Beauftragt Lastschriften (zieht Geld auf Grundlage eines Mandats ein)
pacs.008 Bank an Bank Die Interbanken-Überweisung, zu der ein pain.001-Auftrag wird
MT101 Unternehmen oder Bank, über Swift Die bisherige Textnachricht „Request for Transfer“, die pain.001 ersetzt. Swift hat die Abschaltung des Interbanken-Relays für MT101 im August 2026 verschoben (Swift); siehe Von MT101 zu pain.001

Das Glossar erklärt das übrige ISO-20022-Vokabular in verständlicher Sprache.

Warum Banken pain.001-Dateien ablehnen#

Eine Datei kann wohlgeformtes XML sein und trotzdem abgelehnt werden. Die Prüfungen bauen in Ebenen aufeinander auf:

  1. Schema: Die Datei muss gegen das offizielle XSD ihrer Version validieren.
  2. Datenqualität: IBANs bestehen die Prüfziffernprüfung, BICs sind korrekt aufgebaut, Datumsangaben und Beträge sind gültig, und NbOfTxs sowie CtrlSum passen zu den Zahlungen.
  3. Verfahrensregeln: SEPA, CBPR+ und nationale Verfahren fügen eigene Vorgaben hinzu, etwa den zulässigen Zeichensatz oder eine strukturierte Postanschrift.
  4. Profil und Kanal Ihrer Bank: Jede Bank veröffentlicht zusätzlich zum Verfahren eigene Nutzungsrichtlinien.

Pain001 prüft die ersten drei Ebenen, bevor die Datei die Bank erreicht, und sagt klar, dass die vierte Ebene von der Bank zu bestätigen ist.

So erstellen Sie eine pain.001-Datei#

  • Aus einer Tabelle: Von Excel zu pain.001 macht aus einer Zahlungsliste in Excel oder CSV eine validierte Datei.
  • Im Browser: Die Demo erzeugt und validiert eine Datei lokal, ohne Upload.
  • Per Code oder Kommandozeile: Installieren Sie die Open-Source-Bibliothek pain001 und führen Sie aus:
pain001 -t pain.001.001.09 -d payments.csv -o out/

Die technische Referenz beschreibt jede Option, und die FAQ beantworten die häufigsten Fragen von Treasury-, Operations- und Entwicklungsteams.

Quellen#