BankLint

pain.001 sample files

Synthetic ISO 20022 pain.001.001.09 credit transfer files for testing: one accepted SEPA file, and files that each break exactly one rule. All names, IBANs and amounts are fabricated. Download a file, or check it on BankLint in one click to see the finding and the fix.

The rule each file demonstrates is linked from the rule reference. For an annotated walk-through of a valid file, see the pain.001 XML example.

A regression testing set

Three files of the same payment run, for trying a Flow with a bank-accepted baseline: make the first file the baseline, then check the other two.

  • Bank-accepted file · pain001-accepted.xml
    A clean SEPA file with four payments. Use it as the baseline of a Flow.
  • File after a configuration change · pain001-changed-config.xml
    The debtor address switched from structured fields to address lines: compared with the baseline, the change needs review.
  • Safe change · pain001-safe-change.xml
    Different payees and amounts, same configuration: compared with the baseline, nothing to review.

How it works: payment-file regression testing.

Files that fail the XML or ISO 20022 schema check

Each file breaks the pain.001 schema (XSD) or XML itself in one way, the kind of error a bank rejects before reading any payment.

Files that break a SEPA Credit Transfer rule

Valid against the ISO 20022 schema, but each file breaks one SEPA rule of the EPC implementation guidelines: the bank is likely to reject it.

FileWhat it showsResult
sepa-addr-country-only.xmlStructured or hybrid address needs Town Name and CountryFAIL
sepa-addr-non-eea-no-debtor-country.xmlDebtor country required for a non-EEA SEPA paymentFAIL
sepa-addr-second-pmtinf-hybrid-no-country.xmlStructured or hybrid address needs Town Name and CountryFAIL
sepa-addr-structured-no-town.xmlStructured or hybrid address needs Town Name and CountryFAIL
sepa-addr-three-lines.xmlAt most two Address Line occurrencesFAIL
sepa-amt-over-max.xmlAmount outside the SEPA rangeFAIL
sepa-amt-three-decimals.xmlAmount has more than two decimals
Control sum has more than two decimals
FAIL
sepa-amt-zero.xmlAmount outside the SEPA rangeFAIL
sepa-ccy-not-eur.xmlCurrency must be EURFAIL
sepa-cdtracct-not-iban.xmlCreditor account must be an IBANFAIL
sepa-cdtragt-not-bic.xmlCreditor agent may only carry a BICFAIL
sepa-chrgbr-shar.xmlCharge bearer must be SLEVFAIL
sepa-ctrlsum-mismatch.xmlGroup header control sum does not match the amounts
Payment information control sum does not match the amounts
FAIL
sepa-ctrlsum-missing.xmlGroup header control sum is mandatory
Payment information control sum is mandatory
FAIL
sepa-ctrlsum-three-decimals.xmlControl sum has more than two decimals
Group header control sum does not match the amounts
Payment information control sum does not match the amounts
FAIL
sepa-dbtracct-not-iban.xmlDebtor account must be an IBANFAIL
sepa-dbtragt-other-id.xmlDebtor agent must be BICFI or NOTPROVIDEDFAIL
sepa-iban-creditor-check-digits.xmlCreditor IBAN check digits are wrongFAIL
sepa-iban-creditor-non-sepa.xmlCreditor IBAN is not from a SEPA countryFAIL
sepa-iban-debtor-check-digits.xmlDebtor IBAN check digits are wrongFAIL
sepa-iban-debtor-non-sepa.xmlDebtor IBAN is not from a SEPA countryFAIL
sepa-id-e2e-leading-slash.xmlTransaction reference violates SEPA character rulesFAIL
sepa-id-msgid-slashes.xmlReference or identifier violates SEPA character rulesFAIL
sepa-id-second-pmtinf-slashes.xmlReference or identifier violates SEPA character rulesFAIL
sepa-name-creditor-71.xmlCreditor-side name longer than 70 charactersFAIL
sepa-name-creditor-missing.xmlCreditor name is missingFAIL
sepa-name-creditor-too-long.xmlCreditor-side name longer than 70 charactersFAIL
sepa-name-debtor-missing.xmlDebtor name is missingFAIL
sepa-name-debtor-too-long.xmlDebtor name longer than 70 charactersFAIL
sepa-name-initg-too-long.xmlInitiating party name longer than 70 charactersFAIL
sepa-nboftxs-mismatch.xmlGroup header number of transactions does not match
Payment information number of transactions does not match
FAIL
sepa-nboftxs-pmtinf-missing.xmlPayment information number of transactions is mandatoryFAIL
sepa-pmtmtd-not-trf.xmlPayment method must be TRFFAIL
sepa-pti-missing.xmlPayment type information must be present
Service level is recommended
FAIL
sepa-rmtinf-both.xmlEither structured or unstructured remittance, not bothFAIL
sepa-rmtinf-cdtrref-no-type.xmlCreditor reference needs both type and referenceFAIL
sepa-rmtinf-reference-type.xmlCreditor reference type must be SCORFAIL
sepa-rmtinf-strd-over-140.xmlStructured remittance longer than 140 charactersFAIL
sepa-rmtinf-ustrd-twice.xmlOnly one remittance information occurrence allowedFAIL
sepa-svclvl-not-sepa.xmlService level code must be SEPAFAIL
sepa-svclvl-twice.xmlOnly one service level occurrence allowedFAIL

Files that need review or carry information

Files with warnings (REVIEW) that depend on your agreement with the bank, and accepted files with notes for information (PASS).