SEPA direct debit XML validator

Free check against the pain.008.001.02 schema

Upload a single XML file. Only direct debit messages (pain.008.001.02) are accepted; SCT transfers (pain.001) are not validated here.

Back to utilities

What is a pain.008.001.02 file?

pain.008.001.02 is the XML message defined by the European Payments Council (EPC) to initiate SEPA Direct Debits (SDD). It is part of the ISO 20022 standard and tells the bank who to charge, what amount, against which mandate and on what date.

Every SEPA-area bank in Europe accepts this format. Validating its structure before you upload it to your e-banking portal prevents schema-level rejections (tag order, numeric types, length constraints) that the bank would otherwise return unprocessed.

When should I validate the XML?

Every time you generate a pain.008 file from an ERP, an Excel template or any other tool. XSD validation catches roughly 80% of errors before upload, saving you support calls and rejections that can delay the collection by several days.

XSD vs additional bank rules

This tool checks the official XSD schema, which validates the XML structure. A file that passes here is not guaranteed to be accepted by your bank as-is, because every institution adds its own rules (custom reference field length, maximum amounts, Creditor ID format) that are not part of the EPC standard. Always read your bank's guidelines.

Common errors detected by this validator

The most frequent errors in pain.008 files are:

  • Wrong namespace (it must be urn:iso:std:iso:20022:tech:xsd:pain.008.001.02)
  • Elements out of order inside the GrpHdr or PmtInf blocks
  • IBANs with spaces, wrong format or missing country code
  • Amounts with a comma decimal separator instead of a dot, or with more than two decimals
  • Missing MndtRltdInf block with the mandate date and reference
  • Dates in a format other than ISO 8601 (YYYY-MM-DD)

Frequently asked questions about pain.008 validation

What exactly is pain.008.001.02?

It is the second version of the pain.008 message inside the ISO 20022 standard. It defines the XML format that European banks use to process SEPA Direct Debits (SDD). It is published by the EPC and accepted by every bank in the SEPA area.

If my file passes validation, will my bank definitely accept it?

This tool checks the official XSD schema. Your bank may add extra rules (length of the EndToEndId field, maximum amounts per batch, Creditor ID restrictions, presentation window) that are not part of the XSD. To guarantee acceptance, check the batch processing guide published by your bank.

Do you store the XML file I upload?

No. The file is processed in a temporary directory only during validation and removed immediately afterwards. It is not stored in a database, not shared with third parties and never used to train models.

Which XSD do you validate against?

The official pain.008.001.02 schema published by the EPC and aligned with ISO 20022. It is the same XSD that SEPA-area banks use to validate the batches they receive.

What is the maximum file size?

5 MB. If you need to validate larger files (batches with tens of thousands of debits), you can use the SEPA Generator JSON API, which validates and produces files with no practical size limit.

Does it also work for B2B mandates (pain.008.001.02 B2B)?

Yes. The XML structure is the same for CORE and B2B; the difference lives in the LclInstrm/Cd attribute inside PmtInf. XSD validation accepts both. Real differences are operational rules and timeframes set by the bank.

Other SEPA utilities

Related blog articles