Validate Free+ Pro Beta pain.001 XML
pain.001 validator
Use for Before sending a SEPA file to the bank
API
  1. 1Upload or paste a pain.001
  2. 2Read errors by element
  3. 3Fix and check again
SEPA payment QA · ISO 20022

pain.001 validator for SEPA credit transfers

Check a pain.001.001.09 file before it goes to your bank: the ISO 20022 schema, the EPC SEPA Credit Transfer rules, control totals, IBANs including national account check digits, and reference formats. Each finding names the element and line.

1Your pain.001 file

or paste the XML

Up to 1 MB. Checked in a temporary sandbox and not stored.

2Report

Upload or paste a pain.001.001.09 file, or try a sample. You will get:
  1. schema and EPC SEPA rule errors with the element and line,
  2. control-total, IBAN and reference checks,
  3. a clear pass or fail for the rules that were checked.
Need bank replies for this file? Generate pain.002 and camt.054.

Run this check in CI?

Use the Payment Preflight API to check pain.001 files and generate negative test files in your pipeline. Tell us what your ERP or treasury system sends and to which bank.

FAQ

Which pain.001 version and rules are checked?

pain.001.001.09 against the ISO 20022 schema and the EPC SEPA Credit Transfer customer-to-PSP implementation guidelines (2025 version), plus control totals, IBAN and reference checks.

Does a passing file mean my bank will accept it?

No. It means no errors were found for the rules listed. Banks can apply their own conditions, and some rules depend on facts that are not in the file.

Can I generate test files with errors?

Yes. The API generates synthetic pain.001 files for typical failures: IBAN checksum, currency, identifier format, missing town and wrong control sum.

Is my file stored?

No. It is checked in a temporary sandbox and not stored. Use synthetic data where you can.

IBANgen provides synthetic QA data. Simulated files and responses do not reflect how any real bank or operator processes payments.

Next in your workflow