Your bank rejected the file. Find the exact line — in seconds.
Pain001 Validator checks ISO 20022 pain.001 credit transfer files against the official XSD schema and the EPC SEPA business rules, and explains every problem with its location and a repair suggestion.
Validate a file
Free plan: 5 validations/month · up to 2 MB per file · batch of 1. Files are processed in memory and deleted immediately. See plans
What we check
Official XSD schema
Every file is validated against the official ISO 20022 schema for its exact version — pain.001.001.03 through .13 — with element paths and line numbers for each violation.
Control totals & counts
GrpHdr and PmtInf NbOfTxs and CtrlSum are recomputed from the transactions with exact decimal arithmetic. A one-cent CtrlSum difference is one of the most common rejection reasons — we catch it.
IBAN & BIC checks
IBANs are tested with the ISO 13616 mod-97 check digits and country-specific lengths; BICs are checked against the ISO 9362 format.
EPC SEPA rules
For SEPA payments: EUR-only amounts, ChrgBr must be SLEV, SEPA Latin character set, duplicate EndToEndId detection, RF reference check digits, and past execution dates flagged.
Rejected-file doctor
Each finding says what is wrong, where it is, and how to fix it in plain English — not a raw schema error dump. Pro plans can download a corrected file for count and total mismatches.
Version migration help
Still sending .03 files? Starter and Pro reports list the concrete .03 → .09 differences in your file — BIC becomes BICFI, dates get wrapped, unstructured addresses are flagged.
What a report looks like
| Severity | Rule | Finding |
|---|---|---|
| Error | CTRL-GRP | Group header CtrlSum is 20630.00 but all transaction amounts add up to 20630.75./Document/CstmrCdtTrfInitn/GrpHdr/CtrlSum · line 8Fix: set the group header CtrlSum to 20630.75. |
| Error | IBAN-MOD97 | IBAN fails the ISO 13616 mod-97 check digit test. One or more digits are wrong; banks reject this account number. Fix: re-check the IBAN against the account statement. |
| Warning | DATE-PAST | Requested execution date is in the past. Most banks reject or re-date past-dated batches. |