Logo

SEPA XML Generator

Build a pain.001 credit transfer or pain.008 direct debit file from a list of payments. IBANs and BICs are validated as you type — everything runs locally, nothing is uploaded.

Before you upload to a bank: generated files are schema-shaped and validated for structure, but banks enforce additional rulebook checks (allowed characters, mandate sequence types, cut-off times). Always test a small batch first — many banks reject files silently when business rules fail.

Frequently asked questions

What is the difference between pain.001 and pain.008?

pain.001 (SCT) pushes money — you instruct your bank to credit other accounts. pain.008 (SDD) pulls money — you collect from debtors who signed a mandate, which is why each transaction needs a mandate ID and signature date, and you need a creditor scheme ID.

Which pain.001 version do banks accept?

pain.001.001.03 remains the most widely accepted SEPA version. Some banks also offer .001.09 (the ISO 20022:2019 version used for CGI/global rollouts). Check your bank's upload documentation — the schema version is in the xmlns declaration.

Do I need the BIC for each payment?

Not for SEPA payments — since 2016 (SCT) and 2014 (SDD), BIC is optional inside the SEPA zone and banks derive it from the IBAN. The generator accepts it per row if you have it, but you can leave the column empty.

Is my payment data uploaded anywhere?

No — CSV parsing, IBAN/BIC validation, and XML generation all run in your browser. Nothing is sent to a server, logged, or stored, which matters when the file contains real customer names and account numbers.

Privacy & Cookie Preferences

We use cookies to enhance your experience, analyze site performance, and support our marketing efforts. Your privacy matters, and you can withdraw consent at any time.