pain.001 erstellen: SEPA-XML-Datei für Banküberweisungen

Von Ramon Curto6 Min. Lesezeit

Aufbau einer pain.001-Datei

Die XML-Datei beginnt mit dem Document-Tag, gefolgt von einem CstmrCdtTrfInitn-Block. Dieser teilt sich in zwei Sektionen: GrpHdr (Group Header — Datei-Metadaten wie Erstellungs­datum, Anzahl Trans­aktionen, Summe) und ein oder mehrere PmtInf-Blöcke (Payment Information — gemeinsame Daten einer Zahlungs­gruppe wie Ausführungs­datum, Auftraggeber-Konto). In jedem PmtInf sind n CdtTrfTxInf-Blöcke (Credit Transfer Transaction Information — die einzelnen Empfänger).

Typische Felder pro Empfänger sind PmtId/EndToEndId, Amt/InstdAmt, Cdtr/Nm und CdtrAcct/Id/IBAN. Ob RmtInf/Ustrd, BIC, Purp oder Längenlimits erforderlich sind, hängt von Version, Scheme, Bank und Zahlungsart ab; prüfen Sie die technische Vorgabe.

Minimal-Beispiel einer pain.001-Datei

Das folgende XML zeigt beispielhaft eine einzelne Überweisung mit einer konkreten Nachrichtenversion. Verwenden Sie für Ihre Bank das von ihr vorgegebene Schema; in der Praxis erweitern Sie den CdtTrfTxInf-Block n-fach für mehrere Empfänger:

```xml <?xml version="1.0" encoding="UTF-8"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09"> <CstmrCdtTrfInitn> <GrpHdr> <MsgId>BATCH-2026-04-28-0001</MsgId> <CreDtTm>2026-04-28T10:00:00</CreDtTm> <NbOfTxs>1</NbOfTxs> <CtrlSum>123.45</CtrlSum> <InitgPty><Nm>Mein Unternehmen GmbH</Nm></InitgPty> </GrpHdr> <PmtInf> <PmtInfId>PAY-001</PmtInfId> <PmtMtd>TRF</PmtMtd> <NbOfTxs>1</NbOfTxs> <CtrlSum>123.45</CtrlSum> <PmtTpInf><SvcLvl><Cd>SEPA</Cd></SvcLvl></PmtTpInf> <ReqdExctnDt><Dt>2026-04-29</Dt></ReqdExctnDt> <Dbtr><Nm>Mein Unternehmen GmbH</Nm></Dbtr> <DbtrAcct><Id><IBAN>DE89370400440532013000</IBAN></Id></DbtrAcct> <DbtrAgt><FinInstnId><BICFI>COBADEFFXXX</BICFI></FinInstnId></DbtrAgt> <ChrgBr>SLEV</ChrgBr> <CdtTrfTxInf> <PmtId><EndToEndId>RE-2026-04-28-001</EndToEndId></PmtId> <Amt><InstdAmt Ccy="EUR">123.45</InstdAmt></Amt> <Cdtr><Nm>Lieferant GmbH</Nm></Cdtr> <CdtrAcct><Id><IBAN>DE12500105170648489890</IBAN></Id></CdtrAcct> <RmtInf><Ustrd>Rechnung 2026-001</Ustrd></RmtInf> </CdtTrfTxInf> </PmtInf> </CstmrCdtTrfInitn> </Document> ```

Häufige Fehler beim Erstellen

Banken weisen pain.001-Dateien mit präzisen Fehler­meldungen ab; die häufigsten Ursachen:

  • CtrlSum stimmt nicht mit der Summe aller InstdAmt überein (Summen­fehler) — auf 2 Dezimal­stellen genau.
  • NbOfTxs zählt nicht alle CdtTrfTxInf-Blöcke korrekt.
  • EndToEndId nicht eindeutig innerhalb der Datei (Duplikate).
  • IBAN ohne Leerzeichen, aber mit Punkt-Tausender­trennzeichen im Betrag (richtig: Punkt als Dezimal­trennzeichen).
  • Sonderzeichen im Empfänger­namen oder Verwendungs­zweck (Umlaute sind erlaubt, aber bestimmte Zeichen wie & < > müssen XML-escaped werden: &amp; &lt; &gt;).
  • CreDtTm ohne Zeitzone-Suffix (manche Banken verlangen "Z" für UTC oder "+02:00").
RegionVersion/AnnahmeStichtag oder Vorgabe
SEPA (EPC)Bank- und Scheme-Dokumentation prüfenVersions- und Übergangsfristen beachten
SWIFT (cross-border)Strecken- und CBPR+-Dokumentation prüfenNachrichten- und Bankabhängig
Schweiz (SIX)SIX- und Bankdokumentation prüfenKanalabhängig
LiechtensteinBank- und Scheme-Dokumentation prüfenKanalabhängig
Versions- und Annahmehinweise pain.001 nach Region

Einreichung über EBICS oder FinTS

Sobald die pain.001-Datei steht, übermitteln Sie sie über den von Ihrer Bank unterstützten Kanal. EBICS-, FinTS/HBCI- und Web-Übermittlung unterscheiden sich nach Bankprofil, Berechtigung, Software und Auftragsart; prüfen Sie die aktuelle Bankdokumentation.

Nach erfolg­reicher Übernahme erhalten Sie eine Eingangs­bestätigung (im Bestcase als pain.002.001.10 — payment status report). Dieser teilt mit, ob die gesamte Datei akzeptiert wurde, oder welche einzelnen Trans­aktionen aus welchem Grund abgewiesen wurden.

Zusammenfassung

  • pain.001-Version, Schema und Annahmebedingungen richten sich nach Bank, Scheme und Kanal.
  • Typische pain.001-Felder: EndToEndId, InstdAmt, Cdtr/Nm und IBAN; weitere Felder richten sich nach Version, Scheme und Bank.
  • Übermittlung typisch via EBICS, FinTS oder Bankportal; Dateigröße und Stapelgrenzen sind bankabhängig.

Häufig gestellte Fragen

Welche pain.001-Version ist 2026 verbindlich?
Eine allgemein verbindliche Versionszusage für jede Bank gibt es hier nicht. Prüfen Sie die aktuelle technische Anlage Ihrer Bank und das eingesetzte Scheme, bevor Sie eine Datei erzeugen.
Wie viele Empfänger kann eine pain.001-Datei enthalten?
Eine allgemeine Empfängergrenze lässt sich daraus nicht ableiten. Dateigröße, Transaktionszahl und Aufteilung richten sich nach dem vereinbarten Format, Kanal und Banklimit.
Muss die Datei signiert sein?
Anmeldung, Dateiübertragung und Zahlungsfreigabe sind getrennte Schritte. Welche zusätzliche Freigabe oder Signatur erforderlich ist, bestimmen Bank, Kanal und Auftragsart; eine Anmeldung allein bestätigt keine Ausführung.
Kann ich pain.001-Dateien manuell prüfen?
Ja — mit einem XML-Validator und dem von der Bank oder dem Scheme vorgegebenen XSD-Schema. Als Editor eignen sich etwa VS Code mit XML-Plugin oder ein anderes XML-Werkzeug.

Quellen

Im Glossar

Weiterlesen