CASE STUDY
pain001 — automating ISO 20022 payment files
Problem
The global MT → MX migration forces every bank and corporate treasury to produce structured pain.001 messages. Most teams hand-roll brittle XML or buy opaque proprietary translators. Both routes ship payment errors into clearing networks and leave no audit trail.
What I built
An open-source Python library that generates validated ISO 20022 pain.001 (Customer Credit Transfer Initiation) messages from CSV / SQLite / Parquet. Pre-flight XSD validation, IBAN / BIC checksums, PII masking, and full XSD schema conformance — all inside a Python workflow that drops into existing ERP and treasury pipelines.
| Signal | Evidence |
|---|---|
| ISO 20022 messages supported | pain.001 (Customer Credit Transfer Initiation) |
| Schema conformance | Official XSD validation pre-flight on every message |
| Validators shipped | IBAN check-digit + BIC + LEI checksum (ISO 7064 Modulo 97-10) |
| License | Apache-2.0 / MIT — free to use, fork, audit |
External validation
- Cited in EPAA Quantum-Safe Payments white paper (September 2025)
- Featured in articles published on sebastienrousseau.com since 2023-09
Standards
- ISO 20022 pain.001
- SWIFT CBPR+
- SEPA