Validate pain.001 files before your bank does
Free checks for ISO 20022 pain.001 credit transfer files: XML, the ISO 20022 schema and SEPA Credit Transfer rules. Every finding says what is wrong, where, and how to fix it. No account needed.
Drop a pain.001 payment file or choose one.
Processed in memory and not stored. Maximum 5 MB. Use synthetic or test files while BankLint is in development.
No file at hand? Try a synthetic sample:
What BankLint checks
- XML: the file is well-formed and readable.
- Message: pain.001.001.09 or pain.001.001.03 is detected.
- ISO 20022 schema: mandatory elements, order, lengths, formats and codes from the official XSD.
- SEPA Credit Transfer: the EPC customer-to-PSP rules, such as SLEV charge bearer, EUR only, two decimals, IBAN and BIC usage, 70-character names and the SEPA character set.
FAIL means a blocker the bank is likely to reject. REVIEW means warnings that depend on your agreement with the bank, or a configuration change compared with your baseline. PASS means no blockers and no warnings.
See all 44 rules in the rule reference, and the standards they come from on Standards and sources.
Regression testing for payment files
A file can pass every rule and still differ from what your bank accepted last month. BankLint compares the configuration of each new file with a bank-accepted baseline, not the payments themselves, so other payees, amounts and counts do not raise noise.
Guides
- How to validate a pain.001 payment file
- SEPA Credit Transfer rules for pain.001.001.09
- Why banks reject pain.001 files
- Payment-file regression testing after SAP or TMS changes
- Charge bearer SLEV in SEPA credit transfers
- Control sum (CtrlSum) and number of transactions (NbOfTxs) in pain.001
- SEPA character set, names and identifiers
Questions
What is a pain.001 file?
pain.001 (CustomerCreditTransferInitiation) is the ISO 20022 XML message a company sends to its bank to initiate credit transfers, usually generated by an ERP or treasury system such as SAP.
What does BankLint check?
XML well-formedness, the message version, the official ISO 20022 schema (XSD) for pain.001.001.09 and pain.001.001.03, and the SEPA Credit Transfer rules of the EPC customer-to-PSP implementation guidelines (2025 version 1.0) for pain.001.001.09.
Is my payment file stored?
No. The file is processed in memory and not stored, and its name never leaves your browser. Use synthetic or test files while BankLint is in beta.
Is it free?
Yes. Validation on this page is free and needs no account. Signed-in Flows with a baseline are free during the beta.
How files, evidence and AI are handled: Security.