Payment Initiation

pain.001 — the payment request you send to your bank

Generate sample pain.001 XML from templates or a form, then validate the result. Checks required fields, IBAN format, control sum, and duplicate EndToEndIds.

valid

pain.001 — Valid single transaction

Structurally complete, passes SEPA XML Analyzer. All required fields present.

valid

pain.001 — Valid batch (3 transactions)

Three transactions with correct NbOfTxs and CtrlSum. Ready to test batch processing.

error

pain.001 — Duplicate EndToEndId

Two transactions share the same EndToEndId. Triggers duplicate detection in the SEPA XML Analyzer.

error

pain.001 — CtrlSum mismatch

Declared CtrlSum does not match the sum of transaction amounts. Causes rejection at most banks.

error

pain.001 — Invalid creditor IBAN

Transaction 2 has an IBAN with a bad checksum. Tests IBAN validation in the analyzer.

All processing happens in your browser. No data is sent to any server.

What is validated

  • Required fields MsgId, NbOfTxs, CtrlSum, debtor IBAN/BIC, creditor IBAN, EndToEndId per transaction.
  • IBAN format Mod-97 checksum and country-specific length rules for both debtor and creditor accounts.
  • Control sum Declared CtrlSum must equal the sum of all instructed amounts. Mismatch causes bank rejection.
  • Duplicate EndToEndIds Each transaction must have a unique EndToEndId within the file.
  • Namespace Detects pain.001.001.xx from the xmlns attribute.