Specifications

The message editions and scheme rules PainXML validates against.

Supported message editions

pain.001.001.03SEPA SCT

SEPA credit transfer — the most widely supported edition across European bank portals.

pain.001.001.09SEPA SCT / CBPR+UETRStructured address

Newer ISO 20022 edition with UETR and structured-address support for cross-border.

pain.008.001.02SEPA Direct Debit

SEPA direct debit with mandate information and sequence types (RCUR, OOFF, FRST, FNAL).

Validation layers

  1. 1 · Schema

    Checked against the official ISO 20022 XSD via WebAssembly (libxml2), with line-level errors.

  2. 2 · Scheme rulebook

    SEPA SCT and CBPR+ rules applied on top, producing named, severity-tagged findings.

SEPA SCT rules

SEPA-DBTR-IBANDebtor IBAN must be valid (ISO 13616 / mod-97).
SEPA-CDTR-IBANCreditor IBAN must be valid (ISO 13616 / mod-97).
SEPA-DBTR-BICDebtor BIC must be valid when present.
SEPA-CDTR-BICCreditor BIC must be valid when present.
SEPA-CURCurrency must be EUR.
SEPA-AMTAmount must be between 0.01 and 999,999,999.99.
SEPA-E2EIDEnd-to-end reference required, at most 35 characters.
SEPA-RMTRemittance information at most 140 characters.
SEPA-CHRBRCharge bearer must be SLEV, SHAR, DEBT or CRED.

CBPR+ (cross-border) rules

CBPR-IBANDebtor and creditor IBANs must be valid.
CBPR-BICBIC is required on every party.
CBPR-UETRA UETR (UUID) is required on every transaction.
CBPR-DBTR-ADDRDebtor structured address (country + town) required.
CBPR-CDTR-ADDRCreditor structured address (country + town) required.

Ready to validate a file?

Run the checks in your browser.

Open the studio