pain.001
ISO 20022 pain.001 Validator & Erklärer
Validieren und analysieren Sie pain.001-Zahlungsdateien vor der Bankeinreichung.
Unterstützt
- ISO 20022 pain.001.001.03
- ISO 20022 pain.001.001.09 — Sepa, Swiss CH.03, Swiss UBS
- ISO 20022 pain.001.001.11 — Sepa
Validierungsumfang
Banken
Ziehen Sie Ihre XML-Datei hierher
oder zum Durchsuchen klicken
Nur XML · max. 1 MB · 20 Transaktionen
Geführte Demo-Beispiele
Verwenden Sie diese nur, um die Diagnoseansicht vorab zu testen. Ihre eigene XML-Datei bleibt der Hauptablauf.
Downloads bevorzugt? gültige XML oder ungültige XML
Files are processed in memory only — nothing is stored or transmitted to third parties.
Dokumentstruktur
90 Felder · 87 Regeln · 10 Tabellen//*[local-name()='Document']grpHdr.msgIdNachrichten-IDgrpHdr.creDtTmErstellungsdatum/-zeitgrpHdr.authstn.cdAutorisierungscodegrpHdr.authstn.prtryAutorisierung (propriet?r)grpHdr.nbOfTxsAnzahl der TransaktionengrpHdr.ctrlSumKontrollsummegrpHdr.initgPty.nmName der einreichenden ParteigrpHdr.initgPty.ctryOfResSitzland der einreichenden ParteigrpHdr.initgPty.pstlAdr.ctryLand der Postadresse der einreichenden ParteigrpHdr.initgPty.pstlAdr.adrLineAdresszeile der einreichenden ParteigrpHdr.fwdgAgt.bicfiBIC des weiterleitenden Agenten//*[local-name()='PmtInf']pmtInf.pmtInfIdZahlungsinformations-IDpmtInf.pmtMtdZahlungsmethodepmtInf.btchBookgSammelbuchungpmtInf.nbOfTxsAnzahl Transaktionen (pro PmtInf)pmtInf.ctrlSumKontrollsumme (pro PmtInf)pmtInf.pmtTpInf.instrPrtyInstruktionspriorit?tpmtInf.pmtTpInf.svcLvlService-LevelpmtInf.pmtTpInf.lclInstrmLokales InstrumentpmtInf.pmtTpInf.ctgyPurpKategorie des ZweckspmtInf.reqdExctnDt.dtGew?nschtes Ausf?hrungsdatumpmtInf.reqdExctnDt.dtTmGew?nschtes Ausf?hrungsdatum/-zeitpmtInf.poolgAdjstmntDtPooling-AnpassungsdatumpmtInf.chrgBrGeb?hrentr?gerpmtInf.dbtr.nmName des SchuldnerspmtInf.dbtr.ctryOfResSitzland des SchuldnerspmtInf.dbtr.pstlAdr.ctryLand der Postadresse des SchuldnerspmtInf.dbtr.pstlAdr.adrLineAdresszeile des SchuldnerspmtInf.dbtrAcct.ibanSchuldner-IBANpmtInf.dbtrAgt.bicfiBIC der SchuldnerbankpmtInf.dbtrAgt.leiLEI der SchuldnerbankpmtInf.dbtrAgtAcct.ibanIBAN des Kontos der SchuldnerbankpmtInf.ultmtDbtr.nmName des ultimativen SchuldnerspmtInf.chrgsAcct.ibanIBAN des Geb?hrenkontospmtInf.chrgsAcctAgt.bicfiBIC der Bank des Geb?hrenkontos//*[local-name()='CdtTrfTxInf']cdtTrfTxInf.endToEndIdEnd-to-End-IDcdtTrfTxInf.instrIdInstruktions-IDcdtTrfTxInf.uetrUETRcdtTrfTxInf.pmtTpInf.instrPrtyInstruktionspriorit?t (Transaktion)cdtTrfTxInf.pmtTpInf.svcLvlService-Level (Transaktion)cdtTrfTxInf.pmtTpInf.lclInstrmLokales Instrument (Transaktion)cdtTrfTxInf.pmtTpInf.ctgyPurpKategorie des Zwecks (Transaktion)cdtTrfTxInf.instdAmtAngewiesener BetragcdtTrfTxInf.instdAmt.ccyW?hrungcdtTrfTxInf.eqvtAmt.amtGegenwertbetragcdtTrfTxInf.eqvtAmt.ccyOfTrfTransferw?hrung des GegenwertbetragscdtTrfTxInf.xchgRateInf.unitCcyEinheitsw?hrung des WechselkursescdtTrfTxInf.xchgRateInf.xchgRateWechselkurscdtTrfTxInf.xchgRateInf.rateTpWechselkurstypcdtTrfTxInf.xchgRateInf.ctrctIdWechselkursvertrags-IDcdtTrfTxInf.chrgBrGeb?hrentr?ger (Transaktion)cdtTrfTxInf.ultmtDbtr.nmName des ultimativen Schuldners (Transaktion)cdtTrfTxInf.intrmyAgt1.bicfiBIC des zwischengeschalteten Agenten 1cdtTrfTxInf.intrmyAgt1.leiLEI des zwischengeschalteten Agenten 1cdtTrfTxInf.intrmyAgt1Acct.ibanIBAN des Kontos des zwischengeschalteten Agenten 1cdtTrfTxInf.intrmyAgt2.bicfiBIC des zwischengeschalteten Agenten 2cdtTrfTxInf.intrmyAgt2.leiIntermediary Agent 2 LEIcdtTrfTxInf.intrmyAgt2Acct.ibanIBAN des Kontos des zwischengeschalteten Agenten 2cdtTrfTxInf.intrmyAgt3.bicfiBIC des zwischengeschalteten Agenten 3cdtTrfTxInf.intrmyAgt3.leiIntermediary Agent 3 LEIcdtTrfTxInf.intrmyAgt3Acct.ibanIBAN des Kontos des zwischengeschalteten Agenten 3cdtTrfTxInf.cdtrAgt.bicfiBIC der Gl?ubigerbankcdtTrfTxInf.cdtrAgt.leiLEI der Gl?ubigerbankcdtTrfTxInf.cdtrAgtAcct.ibanIBAN des Kontos der Gl?ubigerbankcdtTrfTxInf.cdtr.nmName des Gl?ubigerscdtTrfTxInf.cdtr.ctryOfResSitzland des Gl?ubigerscdtTrfTxInf.cdtr.pstlAdr.ctryLand der Postadresse des Gl?ubigerscdtTrfTxInf.cdtr.pstlAdr.adrLineAdresszeile des Gl?ubigerscdtTrfTxInf.cdtrAcct.ibanGl?ubiger-IBANcdtTrfTxInf.ultmtCdtr.nmName des ultimativen Gl?ubigerscdtTrfTxInf.purp.cdZweckcodecdtTrfTxInf.purp.prtryZweck (propriet?r)cdtTrfTxInf.instrForCdtrAgt.instrInfInstruktion f?r die Gl?ubigerbankcdtTrfTxInf.instrForDbtrAgtInstruktion f?r die SchuldnerbankcdtTrfTxInf.rmtInf.ustrdVerwendungszweck (unstrukturiert)//*[local-name()='Strd']cdtTrfTxInf.rmtInf.strd.cdtrRefInf.refGl?ubigerreferenzcdtTrfTxInf.rmtInf.strd.cdtrRefInf.tp.cdCode des Gl?ubigerreferenztypscdtTrfTxInf.rmtInf.strd.cdtrRefInf.tp.prtryGl?ubigerreferenztyp (propriet?r)cdtTrfTxInf.rmtInf.strd.cdtrRefInf.tp.issrAussteller der Gl?ubigerreferenzcdtTrfTxInf.rmtInf.strd.rfrdDocAmt.duePyblAmtF?lliger zahlbarer BetragcdtTrfTxInf.rmtInf.strd.rfrdDocAmt.dscntApldAmtAngewendeter SkontobetragcdtTrfTxInf.rmtInf.strd.rfrdDocAmt.cdtNoteAmtGutschriftbetragcdtTrfTxInf.rmtInf.strd.rfrdDocAmt.rmtdAmt?berwiesener BetragcdtTrfTxInf.rmtInf.strd.addtlRmtInfZus?tzliche Verwendungszweckinformation//*[local-name()='RfrdDocInf']cdtTrfTxInf.rmtInf.strd.rfrdDocInf.tp.cdDokumenttypcodecdtTrfTxInf.rmtInf.strd.rfrdDocInf.tp.prtryDokumenttyp (propriet?r)cdtTrfTxInf.rmtInf.strd.rfrdDocInf.tp.issrAussteller des DokumenttypscdtTrfTxInf.rmtInf.strd.rfrdDocInf.nbDokumentnummercdtTrfTxInf.rmtInf.strd.rfrdDocInf.rltdDtDokumentbezogenes DatumcdtTrfTxInf.rmtInf.strd.rfrdDocInf.lineDtls.id.nbID-Nummer der PositionsdetailsFelder
90 definiert| Kennung | Bezeichnung | Typ | Pflichtfeld |
|---|---|---|---|
grpHdr.msgId | Nachrichten-ID | ID | ✓ |
grpHdr.creDtTm | Erstellungsdatum/-zeit | ISO_DATETIME | ✓ |
grpHdr.authstn.cd | Autorisierungscode | CODE | — |
grpHdr.authstn.prtry | Autorisierung (propriet?r) | TEXT | — |
grpHdr.nbOfTxs | Anzahl der Transaktionen | NB_OF_TXS | ✓ |
grpHdr.ctrlSum | Kontrollsumme | AMOUNT_TOTAL | — |
grpHdr.initgPty.nm | Name der einreichenden Partei | TEXT | — |
grpHdr.initgPty.ctryOfRes | Sitzland der einreichenden Partei | COUNTRY_CODE | — |
grpHdr.initgPty.pstlAdr.ctry | Land der Postadresse der einreichenden Partei | COUNTRY_CODE | — |
grpHdr.initgPty.pstlAdr.adrLine | Adresszeile der einreichenden Partei | TEXT | — |
grpHdr.fwdgAgt.bicfi | BIC des weiterleitenden Agenten | BIC | — |
pmtInf.pmtInfId | Zahlungsinformations-ID | ID | ✓ |
pmtInf.pmtMtd | Zahlungsmethode | CODE | ✓ |
pmtInf.btchBookg | Sammelbuchung | BOOLEAN | — |
pmtInf.nbOfTxs | Anzahl Transaktionen (pro PmtInf) | NB_OF_TXS | — |
pmtInf.ctrlSum | Kontrollsumme (pro PmtInf) | AMOUNT_TOTAL | — |
pmtInf.pmtTpInf.instrPrty | Instruktionspriorit?t | CODE | — |
pmtInf.pmtTpInf.svcLvl | Service-Level | CODE | — |
pmtInf.pmtTpInf.lclInstrm | Lokales Instrument | CODE | — |
pmtInf.pmtTpInf.ctgyPurp | Kategorie des Zwecks | CODE | — |
pmtInf.reqdExctnDt.dt | Gew?nschtes Ausf?hrungsdatum | ISO_DATE | — |
pmtInf.reqdExctnDt.dtTm | Gew?nschtes Ausf?hrungsdatum/-zeit | ISO_DATETIME | — |
pmtInf.poolgAdjstmntDt | Pooling-Anpassungsdatum | ISO_DATE | — |
pmtInf.chrgBr | Geb?hrentr?ger | CODE | — |
pmtInf.dbtr.nm | Name des Schuldners | TEXT | — |
pmtInf.dbtr.ctryOfRes | Sitzland des Schuldners | COUNTRY_CODE | — |
pmtInf.dbtr.pstlAdr.ctry | Land der Postadresse des Schuldners | COUNTRY_CODE | — |
pmtInf.dbtr.pstlAdr.adrLine | Adresszeile des Schuldners | TEXT | — |
pmtInf.dbtrAcct.iban | Schuldner-IBAN | IBAN | — |
pmtInf.dbtrAgt.bicfi | BIC der Schuldnerbank | BIC | — |
pmtInf.dbtrAgt.lei | LEI der Schuldnerbank | LEI | — |
pmtInf.dbtrAgtAcct.iban | IBAN des Kontos der Schuldnerbank | IBAN | — |
pmtInf.ultmtDbtr.nm | Name des ultimativen Schuldners | TEXT | — |
pmtInf.chrgsAcct.iban | IBAN des Geb?hrenkontos | IBAN | — |
pmtInf.chrgsAcctAgt.bicfi | BIC der Bank des Geb?hrenkontos | BIC | — |
cdtTrfTxInf.endToEndId | End-to-End-ID | ID | ✓ |
cdtTrfTxInf.instrId | Instruktions-ID | ID | — |
cdtTrfTxInf.uetr | UETR | UETR | — |
cdtTrfTxInf.pmtTpInf.instrPrty | Instruktionspriorit?t (Transaktion) | CODE | — |
cdtTrfTxInf.pmtTpInf.svcLvl | Service-Level (Transaktion) | CODE | — |
cdtTrfTxInf.pmtTpInf.lclInstrm | Lokales Instrument (Transaktion) | CODE | — |
cdtTrfTxInf.pmtTpInf.ctgyPurp | Kategorie des Zwecks (Transaktion) | CODE | — |
cdtTrfTxInf.instdAmt | Angewiesener Betrag | AMOUNT | — |
cdtTrfTxInf.instdAmt.ccy | W?hrung | CCY | — |
cdtTrfTxInf.eqvtAmt.amt | Gegenwertbetrag | AMOUNT | — |
cdtTrfTxInf.eqvtAmt.ccyOfTrf | Transferw?hrung des Gegenwertbetrags | CCY | — |
cdtTrfTxInf.xchgRateInf.unitCcy | Einheitsw?hrung des Wechselkurses | CCY | — |
cdtTrfTxInf.xchgRateInf.xchgRate | Wechselkurs | RATE | — |
cdtTrfTxInf.xchgRateInf.rateTp | Wechselkurstyp | CODE | — |
cdtTrfTxInf.xchgRateInf.ctrctId | Wechselkursvertrags-ID | ID | — |
cdtTrfTxInf.chrgBr | Geb?hrentr?ger (Transaktion) | CODE | — |
cdtTrfTxInf.ultmtDbtr.nm | Name des ultimativen Schuldners (Transaktion) | TEXT | — |
cdtTrfTxInf.intrmyAgt1.bicfi | BIC des zwischengeschalteten Agenten 1 | BIC | — |
cdtTrfTxInf.intrmyAgt1.lei | LEI des zwischengeschalteten Agenten 1 | LEI | — |
cdtTrfTxInf.intrmyAgt1Acct.iban | IBAN des Kontos des zwischengeschalteten Agenten 1 | IBAN | — |
cdtTrfTxInf.intrmyAgt2.bicfi | BIC des zwischengeschalteten Agenten 2 | BIC | — |
cdtTrfTxInf.intrmyAgt2.lei | Intermediary Agent 2 LEI | LEI | — |
cdtTrfTxInf.intrmyAgt2Acct.iban | IBAN des Kontos des zwischengeschalteten Agenten 2 | IBAN | — |
cdtTrfTxInf.intrmyAgt3.bicfi | BIC des zwischengeschalteten Agenten 3 | BIC | — |
cdtTrfTxInf.intrmyAgt3.lei | Intermediary Agent 3 LEI | LEI | — |
cdtTrfTxInf.intrmyAgt3Acct.iban | IBAN des Kontos des zwischengeschalteten Agenten 3 | IBAN | — |
cdtTrfTxInf.cdtrAgt.bicfi | BIC der Gl?ubigerbank | BIC | — |
cdtTrfTxInf.cdtrAgt.lei | LEI der Gl?ubigerbank | LEI | — |
cdtTrfTxInf.cdtrAgtAcct.iban | IBAN des Kontos der Gl?ubigerbank | IBAN | — |
cdtTrfTxInf.cdtr.nm | Name des Gl?ubigers | TEXT | — |
cdtTrfTxInf.cdtr.ctryOfRes | Sitzland des Gl?ubigers | COUNTRY_CODE | — |
cdtTrfTxInf.cdtr.pstlAdr.ctry | Land der Postadresse des Gl?ubigers | COUNTRY_CODE | — |
cdtTrfTxInf.cdtr.pstlAdr.adrLine | Adresszeile des Gl?ubigers | TEXT | — |
cdtTrfTxInf.cdtrAcct.iban | Gl?ubiger-IBAN | IBAN | — |
cdtTrfTxInf.ultmtCdtr.nm | Name des ultimativen Gl?ubigers | TEXT | — |
cdtTrfTxInf.purp.cd | Zweckcode | CODE | — |
cdtTrfTxInf.purp.prtry | Zweck (propriet?r) | TEXT | — |
cdtTrfTxInf.instrForCdtrAgt.instrInf | Instruktion f?r die Gl?ubigerbank | TEXT | — |
cdtTrfTxInf.instrForDbtrAgt | Instruktion f?r die Schuldnerbank | TEXT | — |
cdtTrfTxInf.rmtInf.ustrd | Verwendungszweck (unstrukturiert) | TEXT | — |
cdtTrfTxInf.rmtInf.strd.cdtrRefInf.ref | Gl?ubigerreferenz | ID | — |
cdtTrfTxInf.rmtInf.strd.cdtrRefInf.tp.cd | Code des Gl?ubigerreferenztyps | CODE | — |
cdtTrfTxInf.rmtInf.strd.cdtrRefInf.tp.prtry | Gl?ubigerreferenztyp (propriet?r) | TEXT | — |
cdtTrfTxInf.rmtInf.strd.cdtrRefInf.tp.issr | Aussteller der Gl?ubigerreferenz | TEXT | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocAmt.duePyblAmt | F?lliger zahlbarer Betrag | AMOUNT | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocAmt.dscntApldAmt | Angewendeter Skontobetrag | AMOUNT | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocAmt.cdtNoteAmt | Gutschriftbetrag | AMOUNT | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocAmt.rmtdAmt | ?berwiesener Betrag | AMOUNT | — |
cdtTrfTxInf.rmtInf.strd.addtlRmtInf | Zus?tzliche Verwendungszweckinformation | TEXT | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocInf.tp.cd | Dokumenttypcode | CODE | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocInf.tp.prtry | Dokumenttyp (propriet?r) | TEXT | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocInf.tp.issr | Aussteller des Dokumenttyps | TEXT | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocInf.nb | Dokumentnummer | ID | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocInf.rltdDt | Dokumentbezogenes Datum | ISO_DATE | — |
cdtTrfTxInf.rmtInf.strd.rfrdDocInf.lineDtls.id.nb | ID-Nummer der Positionsdetails | ID | — |
Validierungsregeln
87 RegelnPAIN00109-GEN-001ERRORGrpHdr/NbOfTxs muss der Gesamtzahl der CdtTrfTxInf-Transaktionen in der Datei entsprechen.
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-002ERRORGrpHdr/CtrlSum muss, falls vorhanden, der Summe aller InstdAmt-Beträge der Transaktionen entsprechen.
Kontrollsumme ist vorhanden
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-003ERRORPmtInf/NbOfTxs muss, falls vorhanden, der Anzahl der CdtTrfTxInf-Transaktionen in diesem PmtInf-Block entsprechen.
Anzahl Transaktionen (pro PmtInf) ist vorhanden
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-004ERRORPmtInf/CtrlSum muss, falls vorhanden, der Summe der InstdAmt-Beträge im entsprechenden PmtInf-Block entsprechen.
Kontrollsumme (pro PmtInf) ist vorhanden
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-005ERRORInstdAmt muss strikt positiv sein (> 0). Das XSD erlaubt 0, dies ist jedoch geschäftlich ungültig.
Angewiesener Betrag > 0
PAIN00109-GEN-006ERRORPmtInf/Dbtr ist in jedem PmtInf-Block obligatorisch (vom XSD verlangt).
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-007ERROREndToEndId ist für jede CdtTrfTxInf-Transaktion obligatorisch (vom XSD verlangt).
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-008ERRORPmtInf/PmtInfId ist in jedem PmtInf-Block obligatorisch.
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-009ERRORPmtInf/PmtMtd ist in jedem PmtInf-Block obligatorisch.
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-010ERRORDie IBAN (Schuldner oder Gläubiger) muss, falls vorhanden, die MOD97-Prüfsummenvalidierung bestehen.
Benutzerdefinierte Regel: pain00109-check
PAIN00109-GEN-011ERRORPmtInf/ReqdExctnDt ist in jedem PmtInf-Block obligatorisch: Geben Sie entweder Dt (Datum) oder DtTm (Datum/Uhrzeit) an.
Benutzerdefinierte Regel: pain00109-check
PAIN00109-QUAL-001WARNINGEndToEndId-Werte sollten innerhalb der Datei eindeutig sein. Duplikate können bankseitig Abstimmungsprobleme verursachen.
cdtTrfTxInf.endToEndId ist innerhalb von cdtTrfTxInf.endToEndId eindeutig
PAIN00109-MVP-001ERRORNur die Zahlungsmethode TRF (Überweisung) wird von diesem Validator unterstützt. CHK (Scheck) und TRA werden nicht unterstützt.
Zahlungsmethode ∈ {TRF}
PAIN00109-MVP-002ERRORInstdAmt ist obligatorisch. EqvtAmt (Äquivalenzbetrag) wird von diesem Validator nicht unterstützt.
Angewiesener Betrag ist erforderlich
PAIN00109-MVP-003ERRORDer Name des Gläubigers (Cdtr/Nm) ist obligatorisch.
Name des Gl?ubigers ist erforderlich
PAIN00109-MVP-004ERRORDie IBAN des Gläubigerkontos (CdtrAcct/Id/IBAN) ist obligatorisch. Nicht-IBAN-Konten (Othr) werden von diesem Validator nicht unterstützt.
Gl?ubiger-IBAN ist erforderlich
PAIN00109-MVP-005ERROREqvtAmt (Äquivalenzbetrag mit Währungsumrechnung) wird nicht unterstützt. Verwenden Sie stattdessen InstdAmt mit der gewünschten Währung.
{"op":"rejected","field":"cdtTrfTxInf.eqvtAmt.ccyOfTrf"}
PAIN00109-AGT-001ERRORIntermediary agents must be declared sequentially: IntrmyAgt2 requires IntrmyAgt1 to be present; IntrmyAgt3 requires IntrmyAgt2 to be present.
Benutzerdefinierte Regel: pain00109-check
PAIN00109-AGT-002ERROREach declared IntrmyAgt[n]/FinInstnId must contain at least one recognized identifier: BICFI, LEI, ClrSysMmbId/MmbId, or Othr/Id.
Benutzerdefinierte Regel: pain00109-check
PAIN00109-REM-001ERRORCdtrRefInf/Tp/CdOrPrtry/Cd muss ein gültiger Gläubigerreferenztypcode sein (DocumentType3Code: RADM, RPIN, FXDR, DISP, PUOR oder SCOR).
Code des Gl?ubigerreferenztyps ∈ Codes für Gläubigerreferenztypen (DocumentType3Code): {RADM, RPIN, FXDR, DISP, PUOR, SCOR}
PAIN00109-REM-002ERRORRfrdDocInf/Tp/CdOrPrtry/Cd muss ein gültiger Dokumenttypcode sein (DocumentType6Code).
Dokumenttypcode ∈ Dokumenttypcodes (DocumentType6Code): {MSIN, CNFA, DNFA, CINV, CREN, DEBN ... (16 Werte)}
PAIN00109-REM-003ERRORBeträge referenzierter Dokumente (DuePyblAmt, DscntApldAmt, CdtNoteAmt, RmtdAmt) müssen, wenn vorhanden, strikt positiv sein (> 0).
Benutzerdefinierte Regel: pain00109-check
PAIN00109-REM-004ERRORCdOrPrtry muss entweder Cd oder Prtry enthalten, jedoch nicht beide gleichzeitig.
Benutzerdefinierte Regel: pain00109-check
PAIN00109-REM-005ERRORAddtlRmtInf may appear at most 3 times within a single Strd block (ISO 20022 max occurrences).
Benutzerdefinierte Regel: pain00109-check
SE-B-001ERRORSEPA Credit TransferSEPA: Service Level must be 'SEPA' (Rulebook AT-40).
Benutzerdefinierte Regel: pain00109-sepa-check
SE-GEN-CHAR-001WARNINGSEPA Credit TransferSEPA: Text fields must use the SEPA Latin character set.
Benutzerdefinierte Regel: pain00109-sepa-check
SE-GEN-REF-001ERRORSEPA Credit TransferSEPA: Reference fields must not start/end with '/' or contain '//' (EPC230-15).
Benutzerdefinierte Regel: pain00109-sepa-check
SE-GEN-AMT-001WARNINGSEPA Credit TransferSEPA: Amounts must not have more than 2 decimal digits.
Benutzerdefinierte Regel: pain00109-sepa-check
SE-A-001WARNINGSEPA Credit TransferSEPA: Initiating Party name must not exceed 70 characters (AT-02).
Benutzerdefinierte Regel: pain00109-sepa-check
SE-B-002WARNINGSEPA Credit TransferSEPA: Local Instrument is not part of the SEPA core service.
Benutzerdefinierte Regel: pain00109-sepa-check
SE-B-003ERRORSEPA Credit TransferSEPA: Charge Bearer must be 'SLEV' (Rulebook AT-07).
Benutzerdefinierte Regel: pain00109-sepa-check
EPC-CT-05ERRORSEPA Credit TransferSEPA: InstrId must be unique within each PmtInf block.
Benutzerdefinierte Regel: pain00109-sepa-check
EPC-CT-08WARNINGSEPA Credit TransferSEPA: Batch booking on a multi-transaction block may not be supported by all banks.
Benutzerdefinierte Regel: pain00109-sepa-check
SE-C-002ERRORSEPA Credit TransferSEPA: Instructed Amount currency must be EUR (Rulebook AT-09).
Benutzerdefinierte Regel: pain00109-sepa-check
SE-C-003WARNINGSEPA Credit TransferSEPA: Creditor Agent BIC must be a valid BIC8 or BIC11 (ISO 9362).
Benutzerdefinierte Regel: pain00109-sepa-check
SE-C-004ERRORSEPA Credit TransferSEPA: Creditor name is mandatory and must not exceed 70 characters (AT-21).
Benutzerdefinierte Regel: pain00109-sepa-check
SE-C-005WARNINGSEPA Credit TransferSEPA: Creditor postal address line will be rejected from 22 November 2026 (EPC153-22).
Benutzerdefinierte Regel: pain00109-sepa-check
EPC-CT-10ERRORSEPA Credit TransferSEPA: Unstructured remittance information (Ustrd) must not exceed 140 characters.
Benutzerdefinierte Regel: pain00109-sepa-check
CH-GEN-XML-002ERRORSwiss Payments CH.03SPS erlaubt keine leeren oder nur aus Leerzeichen bestehenden Blattelemente.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-GEN-XML-003ERRORSwiss Payments CH.03SPS erlaubt keine leeren Gruppenelemente.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-GEN-CHAR-001ERRORSwiss Payments CH.03SPS erlaubt in Textwerten nur druckbare Zeichen aus Basic Latin, Latin-1 Supplement, Latin Extended-A, Ș/ș/Ț/ț und €.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-GEN-REF-001ERRORSwiss Payments CH.03SPS-Referenzfelder müssen den eingeschränkten Referenzzeichensatz und die Slash-Regeln verwenden.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-GEN-AMT-001WARNINGSwiss Payments CH.03Die SPS-Betragsdarstellung sollte Padding vermeiden und muss einen Punkt als Dezimaltrennzeichen verwenden.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-GEN-AMT-003ERRORSwiss Payments CH.03Die Anzahl der Dezimalstellen von SPS-Beträgen muss zur Währung passen.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-A-007INFOSwiss Payments CH.03SPS empfiehlt Softwareinformationen in GrpHdr/InitgPty/CtctDtls/Othr (NAME, PRVD, VRSN, SPSV).
Benutzerdefinierte Regel: pain00109-ch03-check
CH-B-003INFOSwiss Payments CH.03CHK (Scheck) ist eine gültige SPS-CH.03-Zahlungsmethode, liegt aber außerhalb des Umfangs dieses Validators. Derzeit ist nur TRF implementiert.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-B-007WARNINGSwiss Payments CH.03SPS erwartet ReqdExctnDt/Dt; DateTime kann von Profilen nicht unterstützt werden.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-S-001ERRORSwiss Payments CH.03SPS-SEPA-Zahlungen erfordern die Währung EUR und den Charge Bearer SLEV.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-X-001WARNINGSwiss Payments CH.03Grenzüberschreitende Zahlung erkannt; bankspezifische Anforderungen können gelten.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-INST-001ERRORSwiss Payments CH.03SPS-Sofortzahlungen (INST/ITP) sind nur in CHF möglich.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-QR-001ERRORSwiss Payments CH.03Die SPS-QR-Referenz muss aus 27 Ziffern bestehen und erfordert ein QR-IBAN-Gläubigerkonto.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-RF-001ERRORSwiss Payments CH.03Die SPS-ISO-Gläubigerreferenz SCOR muss eine gültige ISO-11649-RF-Referenz sein.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-ADDR-001ERRORSwiss Payments CH.03Strukturierte SPS-Postadressen erfordern TwnNm und Ctry; AdrTp ist nicht erlaubt.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-ADDR-002WARNINGSwiss Payments CH.03SPS erlaubt nicht, AdrLine mit strukturierten Adressfeldern in derselben Postadresse zu mischen.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-ADDR-003WARNINGSwiss Payments CH.03AdrLine in Postadressen von Schuldner/Gläubiger wird ab November 2026 von Schweizer Banken abgelehnt (SPS 2026).
Benutzerdefinierte Regel: pain00109-ch03-check
CH-ID-001ERRORSwiss Payments CH.03SPS (DU05): InstrId muss innerhalb jedes PmtInf-Blocks (B-Ebene) eindeutig sein. Duplikate führen zur Ablehnung der B-Ebene.
Benutzerdefinierte Regel: pain00109-ch03-check
CH-ID-002ERRORSwiss Payments CH.03SPS (DU02): PmtInfId must be unique across all PmtInf blocks within the message. A duplicate causes full message rejection. Source: SIX Swiss Payment Standards — Business Rules 2025, rule DU02.
Benutzerdefinierte Regel: pain00109-ch03-check
UBS-A-001ERRORUBS SwitzerlandUBS/CS: GrpHdr/Authstn, GrpHdr/InitgPty/PstlAdr und GrpHdr/InitgPty/CtryOfRes sind nicht erlaubt.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-A-002WARNINGUBS SwitzerlandUBS/CS: CtctDtls akzeptiert nur Othr; Nm, PhneNb, MobNb, FaxNb, EmailAdr und ähnliche Unterelemente sind nicht erlaubt. Maximal 4 Othr-Instanzen (NAME, PRVD, VRSN, SPSV) werden empfohlen.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-001ERRORUBS SwitzerlandUBS/CS: BtchBookg muss einer der Werte 0, 1, true, false sein (groß-/kleinschreibungssensitives xs:boolean).
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-002ERRORUBS SwitzerlandUBS/CS: ein PmtInf pro transferierter Währung — mehrere Währungen in einer einzelnen B-Ebene sind nicht erlaubt.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-003ERRORUBS SwitzerlandUBS/CS: ReqdExctnDt/Dt ist obligatorisch; DtTm ist nicht erlaubt; gültiger Datumsbereich: −40/+60 Kalendertage ab Einreichung.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-004ERRORUBS SwitzerlandUBS/CS: Die Schuldner-IBAN darf keine QR-IBAN sein; DbtrAcct/Nm, Othr/SchmeNm und Othr/Issr sind nicht erlaubt.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-005ERRORUBS SwitzerlandUBS/CS: Dasselbe PmtTpInf-Unterelement darf nicht sowohl auf B- als auch auf C-Ebene mit widersprüchlichen Werten erscheinen (CH07).
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-006ERRORUBS SwitzerlandUBS/CS: Dbtr/PstlAdr/AdrTp, Dbtr/CtryOfRes und Dbtr/CtctDtls sind nicht erlaubt.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-007ERRORUBS SwitzerlandUBS/CS: DbtrAgt ClrSysMmbId/ClrSysId/Cd muss CHBCC sein; FinInstnId/Nm, FinInstnId/Othr, BrnchId und DbtrAgtAcct sind nicht erlaubt.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-008WARNINGUBS SwitzerlandUBS/CS: FwdgAgt erfordert normalerweise eine spezielle bilaterale Vereinbarung; die Bank behält sich eine Ablehnung vor.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-009WARNINGUBS SwitzerlandUBS/CS: InstrForDbtrAgt auf einer einzelnen Ebene kann zu Nicht-STP-Verarbeitung führen; auf B- und C-Ebene gleichzeitig ist es nicht erlaubt.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-010ERRORUBS SwitzerlandUBS/CS: UltmtDbtr und ChrgBr dürfen nicht gleichzeitig auf B- und C-Ebene erscheinen (CH07).
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-N-001ERRORUBS SwitzerlandUBS/CS: SplmtryData ist auf Transaktions- oder Dokumentebene nicht erlaubt.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-001ERRORUBS SwitzerlandUBS/CS: Bei inländischen CH/LI-Zahlungen ist AddtlRmtInf auf ein Vorkommen pro Strd-Element begrenzt.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-011ERRORUBS SwitzerlandUBS/CS: PmtTpInf/LclInstrm is not allowed for domestic CH/LI payments or INST payments and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-013ERRORUBS SwitzerlandUBS/CS: AdrLine in UltmtDbtr is not allowed. Rejected immediately for type X; rejected for all types since November 2025.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-007ERRORUBS SwitzerlandUBS/CS: AdrLine in Cdtr postal address is not allowed and will be rejected. Unstructured addresses rejected since November 2025.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-010ERRORUBS SwitzerlandUBS/CS: AdrLine in UltmtCdtr is not allowed for any payment type and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-003ERRORUBS SwitzerlandUBS/CS: IntrmyAgt2, IntrmyAgt2Acct, IntrmyAgt3 and IntrmyAgt3Acct are not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-004ERRORUBS SwitzerlandUBS/CS: CdtrAgt ClrSysId/Cd value CHSIC is not allowed. Source: Credit Suisse MIG v3.2, row 133.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-012ERRORUBS SwitzerlandUBS/CS: PoolgAdjstmntDt is not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-014ERRORUBS SwitzerlandUBS/CS: UltmtDbtr/CtryOfRes and UltmtDbtr/CtctDtls are not allowed at B-level or C-level.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-002ERRORUBS SwitzerlandUBS/CS: IntrmyAgt1 should only be used for cross-border (type X) payments. BrnchId and IntrmyAgt1Acct sub-elements (Tp, Ccy, Nm, Prxy) are not allowed.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-005ERRORUBS SwitzerlandUBS/CS: CdtrAgt/FinInstnId/Othr and CdtrAgt/BrnchId are not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-006ERRORUBS SwitzerlandUBS/CS: CdtrAgtAcct/Tp, Ccy, Nm and Prxy are not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-008ERRORUBS SwitzerlandUBS/CS: Cdtr/CtryOfRes and Cdtr/CtctDtls are not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-009ERRORUBS SwitzerlandUBS/CS: CdtrAcct/Tp, Ccy and Nm are not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-011ERRORUBS SwitzerlandUBS/CS: UltmtCdtr/CtryOfRes and UltmtCdtr/CtctDtls are not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-B-015ERRORUBS SwitzerlandUBS/CS: ChrgsAcct/Tp, ChrgsAcct/Nm and ChrgsAcctAgt are not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
UBS-C-012ERRORUBS SwitzerlandUBS/CS: Tax node is not allowed and will be rejected.
Benutzerdefinierte Regel: pain00109-ubs-check
Referenztabellen
10 ListenISO 4217 — aktive Währungscodes
iso4217-currenciesZahlungsmethoden (PaymentMethod3Code)
pmt-methodsGebührenträgertypen (ChargeBearerType1Code)
charge-bearerAdresstypen (AddressType2Code)
address-typeInstruktionspriorität (Priority2Code)
priority-codeWechselkurstyp (ExchangeRateType1Code)
exchange-rate-typeAutorisierungstyp (Authorisation1Code)
authorisation-codeTyp der regulatorischen Meldung (RegulatoryReportingType1Code)
rgltry-rptg-indCodes für Gläubigerreferenztypen (DocumentType3Code)
creditor-reference-type-codeDokumenttypcodes (DocumentType6Code)
document-type-codeSupports official ISO 20022 XSD schemas: pain.001.001.03.xsd (urn:iso:std:iso:20022:tech:xsd:pain.001.001.03), pain.001.001.09.xsd (urn:iso:std:iso:20022:tech:xsd:pain.001.001.09), and the Swiss Payment Standards CH.03 overlay pain.001.001.09.ch.03.xsd. Compatible with Swiss QR-bill, SEPA Credit Transfer (SCT), and SIX Payment Standards. Validates IBAN checksum (MOD97), BIC format, CtrlSum, NbOfTxs, EqvtAmt restrictions, and structured remittance information. Explains ISO 20022 payment file rejection causes: bank rejection, payment rejected, pain001 error, XML validation error, SEPA CT pain.001 invalid, Swiss payment file error.
pain.001-Zahlungsdateien vor der Bankübermittlung validieren und erläutern — Offizielle XSD-Validierung, profilspezifische Prüfungen und lesbare Diagnosen für pain.001.001.03, pain.001.001.09 und Swiss CH.03.
Offizielles ISO-20022-XSD
Swiss-CH.03-Unterstützung
Lesbare Diagnosen
Kein Konto erforderlich
Mehr als nur XML-Validierung
XSD erkennt die Struktur. Ifriqa erklärt die Ablehnungsgründe.
XSD-Validierung ist notwendig, aber Banken lehnen pain.001-Dateien auch aus Profil-, Konsistenz- und Geschäftsregelgründen ab. Die Plattform kombiniert Schema-Prüfungen, ISO-20022-Diagnosen, Profil-Overlays und lesbare Berichte.
| Ebene | Was erkannt wird |
|---|---|
| Offizielles XSD | XML-Struktur, Pflichtelemente, Schema-Einschränkungen |
| ISO-20022-Regeln | IBAN, BIC, CtrlSum, NbOfTxs, Betrags-Konsistenz |
| Profilregeln | Swiss CH.03 und künftige bankspezifische Einschränkungen |
| Erklärungsschicht | Lesbare Diagnosen und maschinenlesbares JSON |
Unterstützte Profile
Schweiz-konforme Validierung
pain.001.001.09-Dateien gegen das Swiss-CH.03-Profil validieren, bevor sie an Schweizer Finanzinstitute gesendet werden.
Bankspezifische Profile werden schrittweise hinzugefügt.
Lesbare Diagnosen
| Fehler | Erklärung |
|---|---|
| Ungültige IBAN-Prüfsumme | Die MOD97-Prüfung ist fehlgeschlagen, bevor die Datei die Bank erreicht. |
| CtrlSum-Abweichung | Der angegebene Gesamtbetrag weicht von der tatsächlichen Transaktionssumme ab. |
| EqvtAmt nicht erlaubt | Das ausgewählte Profil erlaubt hier keinen Gegenwertbetrag. |
Entwickelt für
- ERP- und Buchhaltungssoftware-Anbieter
- Finanzteams, die SEPA/SCT-Dateien vorbereiten
- Schweizer Unternehmen, die pain.001.001.09 CH.03 verwenden
- Entwickler, die ISO-20022-Exporte integrieren
- Berater zur Analyse von Bankablehnungen
| Funktion | Kostenlos | Kostenpflichtig |
|---|---|---|
| Einzelne XML-Validierung | Ja | Ja |
| XSD + Basisdiagnosen | Ja | Ja |
| Vollständige Geschäftserklärung | Teilweise | Ja |
| JSON/API-Bericht | Vorschau | Ja |
| Stapel / ZIP | Nein | Ja |
| Bank-/profilspezifische Berichte | Begrenzt | Ja |
| Verlauf / gespeicherte Berichte | Nein | Ja |
| API-Zugriff | Nein | Ja |
Guides & Reference
Stapelvalidierung oder API-Zugang benötigt?
API-Zugang, ZIP/Stapelverarbeitung, gespeicherte Berichte und bankspezifische Profil-Diagnosen sind für den kostenpflichtigen Einsatz geplant.