BankLint

pain.001 validation rule reference

Every rule BankLint checks in an ISO 20022 pain.001 credit transfer file: 44 rules across XML, message detection, the ISO 20022 schema and the SEPA Credit Transfer scheme. The SEPA rules come from rule pack sepa.sct.pain001.v09 v1, based on EPC132-08 2025 Version 1.0 (effective 2025-10-05).

Blockers fail the run, warnings need review, info findings are recommendations. Try any rule with the synthetic example files on its page, or validate your own file.

XML well-formedness

BNK-XML-001File is not well-formed XMLBLOCKER

Message detection

BNK-MSG-002Message version differs from the configured versionBLOCKER

ISO 20022 schema (XSD)

BNK-ISO-001Element not expected at this positionBLOCKER
BNK-ISO-002Required element missingBLOCKER
BNK-ISO-003Value does not match the required formatBLOCKER
BNK-ISO-004Value too long / Value too short / Value length not allowedBLOCKER
BNK-ISO-005Value is not an allowed codeBLOCKER
BNK-ISO-006Value has the wrong data typeBLOCKER
BNK-ISO-007Too many decimal places / Too many digitsBLOCKER
BNK-ISO-008Value below the allowed minimum / Value above the allowed maximumBLOCKER
BNK-ISO-009Attribute not allowed / Required attribute missingBLOCKER
BNK-ISO-010Unknown root elementBLOCKER
BNK-ISO-099Schema violationBLOCKER

SEPA Credit Transfer scheme rules

Payment method

SEPA-SCT-PMTMTD-001Payment method must be TRFBLOCKER

Payment type information

SEPA-SCT-PTI-001Payment type information must be presentBLOCKER

Service level

SEPA-SCT-SVCLVL-001Service level code must be SEPABLOCKER
SEPA-SCT-SVCLVL-002Only one service level occurrence allowedBLOCKER
SEPA-SCT-SVCLVL-003Service level is recommendedINFO

Charge bearer

SEPA-SCT-CHRGBR-001Charge bearer must be SLEVBLOCKER
SEPA-SCT-CHRGBR-002Charge bearer recommended at payment information levelINFO

Currency

SEPA-SCT-CCY-001Currency must be EURBLOCKER

Amounts

SEPA-SCT-AMT-001Amount outside the SEPA rangeBLOCKER
SEPA-SCT-AMT-002Amount has more than two decimalsBLOCKER

Control sums

SEPA-SCT-CTRLSUM-001Group header control sum is mandatoryBLOCKER
SEPA-SCT-CTRLSUM-002Payment information control sum is mandatoryBLOCKER
SEPA-SCT-CTRLSUM-003Control sum has more than two decimalsBLOCKER
SEPA-SCT-CTRLSUM-004Group header control sum does not match the amountsWARNING
SEPA-SCT-CTRLSUM-005Payment information control sum does not match the amountsWARNING

Number of transactions

SEPA-SCT-NBOFTXS-001Payment information number of transactions is mandatoryBLOCKER
SEPA-SCT-NBOFTXS-002Group header number of transactions does not matchWARNING
SEPA-SCT-NBOFTXS-003Payment information number of transactions does not matchWARNING

Debtor account

SEPA-SCT-DBTRACCT-001Debtor account must be an IBANBLOCKER

Creditor account

SEPA-SCT-CDTRACCT-001Creditor account must be an IBANBLOCKER

Debtor agent

SEPA-SCT-DBTRAGT-001Debtor agent must be BICFI or NOTPROVIDEDBLOCKER

Creditor agent

SEPA-SCT-CDTRAGT-001Creditor agent may only carry a BICBLOCKER

Remittance information

SEPA-SCT-RMTINF-001Either structured or unstructured remittance, not bothBLOCKER
SEPA-SCT-RMTINF-002Only one remittance information occurrence allowedBLOCKER
SEPA-SCT-RMTINF-003Creditor reference type must be SCORBLOCKER

Names

SEPA-SCT-NAME-001Initiating party name longer than 70 charactersBLOCKER
SEPA-SCT-NAME-002Debtor name longer than 70 charactersBLOCKER
SEPA-SCT-NAME-003Creditor-side name longer than 70 charactersBLOCKER

Identifiers

SEPA-SCT-ID-001Reference or identifier violates SEPA character rulesBLOCKER
SEPA-SCT-ID-002Transaction reference violates SEPA character rulesBLOCKER

Character set

SEPA-SCT-CHARSET-001Text outside the SEPA Latin character setWARNING