SEPA XML schema checker

Validate a SEPA XML file against its supported ISO schema before reviewing it for bank upload. Check credit transfers or direct debits locally in your browser. The report separates structural errors from selected payment consistency checks.

Processed on your device. No file upload.
Choose a file to get started

Drop it here, or use the file picker.

How to use this tool

  1. Choose one standalone XML file up to 2 MB, or load the fictional example.
  2. Run the check and review the detected message version, ISO XSD result and additional diagnostics.
  3. Download the JSON report and correct the source file in your payment software. Check your bank’s separate requirements before submission.

Check the built-in example

The credit-transfer example uses pain.001.001.09. It contains one payment group and two fictional transfers of 10.00 EUR and 20.00 EUR. The calculated total is 30.00 EUR, and three IBAN fields receive a checksum check. Its ISO schema and selected consistency checks pass. The demo transmits no payment and does not contact a bank.

A fictional SEPA credit-transfer example passes ISO schema checks with two transfers totaling 30 euros and three IBAN fields.
Actual defaults and results from “Try an example”.

Processing method

The checker reads the document namespace and selects a bundled, unmodified ISO XSD. Supported versions are pain.001.001.03 and pain.001.001.09 for credit transfers, plus pain.008.001.02 and pain.008.001.08 for direct debits. Schema copies come from the Slovenian Public Payments Administration archive linked below. After schema validation, the program compares declared transaction counts and control sums with the actual entries. Amounts use integer cents, avoiding floating-point rounding. It also checks EUR currency, positive cent amounts, payment method, IBAN presence and MOD97 checksums.

Reference: Public Payments Administration: ISO 20022 schema archive

What the result leaves out

ISO schema success does not establish compliance with an EPC rulebook or a particular bank profile. National IBAN formats, account existence, mandate validity and payment eligibility are not assessed. Files are limited to 2 MB and 10,000 transactions, with a 20-second worker timeout. Each diagnostic list contains at most 100 entries. UTF-8 and UTF-16 XML are supported. Containers, unsupported namespaces and documents with DTD or entity declarations are rejected. A structurally invalid document must be corrected before consistency checks can run.

Checking local processing

XML content stays on your device. The browser downloads the checker and bundled schemas from this site; it does not upload your payment file. External schema locations supplied inside XML are ignored. Use Cancel to stop an active check or Reset to clear the current view. A downloaded report remains on your device and may contain transaction references or validation excerpts.

Common questions

Does a passed result mean my bank will accept the file?

No. ISO structure and the listed checks cover only part of bank submission requirements.

Can I check direct-debit files?

Yes. Standalone pain.008.001.02 and pain.008.001.08 documents are supported. Mandates themselves are not verified.

Does the checker repair or submit payments?

No. It produces a report. Correct and submit the original file using your payment software.