Sebastien Rousseau

CASE STUDY

pain001 — automating ISO 20022 payment files

Role: Author and maintainer

Period: 2023 – present

Status: Production, actively maintained

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.

Engineering rigour
SignalEvidence
ISO 20022 messages supportedpain.001 (Customer Credit Transfer Initiation)
Schema conformanceOfficial XSD validation pre-flight on every message
Validators shippedIBAN check-digit + BIC + LEI checksum (ISO 7064 Modulo 97-10)
LicenseApache-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