pain.001 Validator

All validation rules

Every pain.001 business rule the validator checks — why banks reject each one, and how to fix it.

PAIN001-GEN-001

GrpHdr/NbOfTxs must be equal to the total number of CdtTrfTxInf transactions in the file.

PAIN001-GEN-002

GrpHdr/CtrlSum, if present, must be equal to the sum of all transaction InstdAmt amounts.

PAIN001-GEN-003

PmtInf/NbOfTxs, if present, must be equal to the number of CdtTrfTxInf transactions in this PmtInf block.

PAIN001-GEN-004

PmtInf/CtrlSum, if present, must be equal to the sum of InstdAmt amounts within the corresponding PmtInf block.

PAIN001-GEN-005

InstdAmt must be strictly positive (> 0). The XSD allows 0, but it is commercially invalid.

PAIN001-GEN-006

PmtInf/Dbtr is mandatory in each PmtInf block (XSD-required).

PAIN001-GEN-007

EndToEndId is mandatory for each CdtTrfTxInf transaction (XSD-required).

PAIN001-GEN-008

PmtInf/PmtInfId is mandatory in each PmtInf block.

PAIN001-GEN-009

PmtInf/PmtMtd is mandatory in each PmtInf block.

PAIN001-GEN-010

The IBAN (debtor or creditor), if present, must pass the MOD97 checksum validation.

PAIN001-GEN-011

PmtInf/ReqdExctnDt is mandatory in each PmtInf block.

PAIN001-MVP-001

Only the TRF (credit transfer) payment method is supported by this validator. CHK (cheque) and TRA are not supported.

PAIN001-MVP-002

InstdAmt is mandatory. EqvtAmt (equivalent amount) is not supported by this validator.

PAIN001-MVP-003

The creditor name (Cdtr/Nm) is mandatory.

PAIN001-MVP-004

The creditor account IBAN (CdtrAcct/Id/IBAN) is mandatory. Non-IBAN accounts (Othr) are not supported by this validator.

PAIN001-MVP-005

EqvtAmt (equivalent amount with currency conversion) is not supported. Use InstdAmt with the desired currency instead.

PAIN001-QUAL-001

EndToEndId values should be unique within the file. Duplicates may cause reconciliation issues on the bank side.

PAIN001-REM-001

CdtrRefInf/Tp/CdOrPrtry/Cd must be a valid creditor reference type code (DocumentType3Code: RADM, RPIN, FXDR, DISP, PUOR or SCOR).

PAIN001-REM-002

RfrdDocInf/Tp/CdOrPrtry/Cd must be a valid document type code (DocumentType5Code).

PAIN001-REM-003

Referred document amounts (DuePyblAmt, DscntApldAmt, CdtNoteAmt, RmtdAmt) must be strictly positive (> 0) when present.

PAIN001-REM-004

CdOrPrtry must contain either Cd or Prtry, but not both simultaneously.

PAIN00109-AGT-001

Intermediary agents must be declared sequentially: IntrmyAgt2 requires IntrmyAgt1 to be present; IntrmyAgt3 requires IntrmyAgt2 to be present.

PAIN00109-AGT-002

Each declared IntrmyAgt[n]/FinInstnId must contain at least one recognized identifier: BICFI, LEI, ClrSysMmbId/MmbId, or Othr/Id.

PAIN00109-GEN-001

GrpHdr/NbOfTxs must be equal to the total number of CdtTrfTxInf transactions in the file.

PAIN00109-GEN-002

GrpHdr/CtrlSum, if present, must be equal to the sum of all transaction InstdAmt amounts.

PAIN00109-GEN-003

PmtInf/NbOfTxs, if present, must be equal to the number of CdtTrfTxInf transactions in this PmtInf block.

PAIN00109-GEN-004

PmtInf/CtrlSum, if present, must be equal to the sum of InstdAmt amounts within the corresponding PmtInf block.

PAIN00109-GEN-005

InstdAmt must be strictly positive (> 0). The XSD allows 0, but it is commercially invalid.

PAIN00109-GEN-006

PmtInf/Dbtr is mandatory in each PmtInf block (XSD-required).

PAIN00109-GEN-007

EndToEndId is mandatory for each CdtTrfTxInf transaction (XSD-required).

PAIN00109-GEN-008

PmtInf/PmtInfId is mandatory in each PmtInf block.

PAIN00109-GEN-009

PmtInf/PmtMtd is mandatory in each PmtInf block.

PAIN00109-GEN-010

The IBAN (debtor or creditor), if present, must pass the MOD97 checksum validation.

PAIN00109-GEN-011

PmtInf/ReqdExctnDt is mandatory in each PmtInf block: provide either Dt (date) or DtTm (datetime).

PAIN00109-MVP-001

Only the TRF (credit transfer) payment method is supported by this validator. CHK (cheque) and TRA are not supported.

PAIN00109-MVP-002

InstdAmt is mandatory. EqvtAmt (equivalent amount) is not supported by this validator.

PAIN00109-MVP-003

The creditor name (Cdtr/Nm) is mandatory.

PAIN00109-MVP-004

The creditor account IBAN (CdtrAcct/Id/IBAN) is mandatory. Non-IBAN accounts (Othr) are not supported by this validator.

PAIN00109-MVP-005

EqvtAmt (equivalent amount with currency conversion) is not supported. Use InstdAmt with the desired currency instead.

PAIN00109-QUAL-001

EndToEndId values should be unique within the file. Duplicates may cause reconciliation issues on the bank side.

PAIN00109-REM-001

CdtrRefInf/Tp/CdOrPrtry/Cd must be a valid creditor reference type code (DocumentType3Code: RADM, RPIN, FXDR, DISP, PUOR or SCOR).

PAIN00109-REM-002

RfrdDocInf/Tp/CdOrPrtry/Cd must be a valid document type code (DocumentType6Code).

PAIN00109-REM-003

Referred document amounts (DuePyblAmt, DscntApldAmt, CdtNoteAmt, RmtdAmt) must be strictly positive (> 0) when present.

PAIN00109-REM-004

CdOrPrtry must contain either Cd or Prtry, but not both simultaneously.

PAIN00109-REM-005

AddtlRmtInf may appear at most 3 times within a single Strd block (ISO 20022 max occurrences).

PAIN00111-ADR-001

When using unstructured address lines (AdrLine) for Debtor or Creditor postal address, TwnNm (Town Name) and Ctry (Country) must also be present. ISO 20022 2019 structured address migration requires minimum geographic context alongside AdrLine.

PAIN00111-AGT-001

Intermediary agents must be declared sequentially: IntrmyAgt2 requires IntrmyAgt1 to be present; IntrmyAgt3 requires IntrmyAgt2 to be present.

PAIN00111-AGT-002

Each declared IntrmyAgt[n]/FinInstnId must contain at least one recognized identifier: BICFI, LEI, ClrSysMmbId/MmbId, or Othr/Id.

PAIN00111-FMT-001

UETR (Unique End-to-End Transaction Reference), if present, must be a valid UUID version 4 (format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx).

PAIN00111-FMT-002

LEI (Legal Entity Identifier), if present, must be exactly 20 alphanumeric characters: 18 alphanumeric characters followed by 2 numeric check digits.

PAIN00111-FMT-003

BICFI (Bank Identifier Code), if present, must comply with ISO 9362: 4 letters (institution) + 2 letters (country) + 2 alphanumeric (location) + optional 3 alphanumeric (branch) = 8 or 11 characters total.

PAIN00111-GEN-001

GrpHdr/NbOfTxs must be equal to the total number of CdtTrfTxInf transactions in the file.

PAIN00111-GEN-002

GrpHdr/CtrlSum, if present, must be equal to the sum of all transaction InstdAmt amounts.

PAIN00111-GEN-003

PmtInf/NbOfTxs, if present, must be equal to the number of CdtTrfTxInf transactions in this PmtInf block.

PAIN00111-GEN-004

PmtInf/CtrlSum, if present, must be equal to the sum of InstdAmt amounts within the corresponding PmtInf block.

PAIN00111-GEN-005

InstdAmt must be strictly positive (> 0). The XSD allows 0, but it is commercially invalid.

PAIN00111-GEN-006

PmtInf/Dbtr is mandatory in each PmtInf block (XSD-required).

PAIN00111-GEN-007

EndToEndId is mandatory for each CdtTrfTxInf transaction (XSD-required).

PAIN00111-GEN-008

PmtInf/PmtInfId is mandatory in each PmtInf block.

PAIN00111-GEN-009

PmtInf/PmtMtd is mandatory in each PmtInf block.

PAIN00111-GEN-010

The IBAN (debtor or creditor), if present, must pass the MOD97 checksum validation.

PAIN00111-GEN-011

PmtInf/ReqdExctnDt is mandatory in each PmtInf block: provide either Dt (date) or DtTm (datetime).

PAIN00111-MVP-001

Only the TRF (credit transfer) payment method is supported by this validator. CHK (cheque) and TRA are not supported.

PAIN00111-MVP-002

InstdAmt is mandatory. EqvtAmt (equivalent amount) is not supported by this validator.

PAIN00111-MVP-003

The creditor name (Cdtr/Nm) is mandatory.

PAIN00111-MVP-004

The creditor account IBAN (CdtrAcct/Id/IBAN) is mandatory. Non-IBAN accounts (Othr) are not supported by this validator.

PAIN00111-MVP-005

EqvtAmt (equivalent amount with currency conversion) is not supported. Use InstdAmt with the desired currency instead.

PAIN00111-QUAL-001

EndToEndId values should be unique within the file. Duplicates may cause reconciliation issues on the bank side.

PAIN00111-REM-001

CdtrRefInf/Tp/CdOrPrtry/Cd must be a valid creditor reference type code (DocumentType3Code: RADM, RPIN, FXDR, DISP, PUOR or SCOR).

PAIN00111-REM-002

RfrdDocInf/Tp/CdOrPrtry/Cd must be a valid document type code (DocumentType6Code).

PAIN00111-REM-003

Referred document amounts (DuePyblAmt, DscntApldAmt, CdtNoteAmt, RmtdAmt) must be strictly positive (> 0) when present.

PAIN00111-REM-004

CdOrPrtry must contain either Cd or Prtry, but not both simultaneously.

PAIN00111-REM-005

AddtlRmtInf may appear at most 3 times within a single Strd block (ISO 20022 max occurrences).

pain.001 Validation Rules — full reference | Ifriqa