Des fichiers de paiement que votre banque n'aura pas à rejeter#

Pain001 est une suite Python open source pour l'initiation de paiements ISO 20022. Elle convertit les données que vous avez déjà — CSV, Excel, SQLite, JSON, Parquet, ou messages SWIFT MT101 hérités — en XML pain.001 (virements) et pain.008 (prélèvements) validés par les schémas XSD officiels.

Chaque fichier passe trois niveaux de validation avant d'être écrit : schéma JSON par enregistrement (avec contrôle mod-97 des IBAN et structure des BIC), règles de scheme (SEPA SCT, SEPA Instantané, prélèvement Core et B2B, virements transfrontaliers CBPR+), puis validation XSD du document final. Les totaux de contrôle (NbOfTxs, CtrlSum) sont recalculés — jamais copiés de la source. Tout s'exécute localement : aucune donnée de paiement ne quitte votre infrastructure.

L'échéance du 14 novembre 2026#

Depuis la fin de la coexistence MT–MX le 22 novembre 2025, l'échéance suivante est le 14 novembre 2026 : les adresses postales entièrement non structurées seront rejetées dans les paiements CBPR+, et le relais interbancaire MT101 sera remplacé par pain.001 version 9. Pain001 gère dès aujourd'hui les adresses structurées et hybrides, et convertit vos MT101 en une commande.

Démarrer#

pip install pain001
pain001 -t pain.001.001.09 -d paiements.csv -o sortie/ --dry-run

La documentation détaillée est en anglais : guide d'installation, référence technique, essai dans le navigateur, et briefing 2026 sur ISO 20022. Le cœur est sous double licence Apache-2.0 / MIT — utilisation commerciale libre, à toute échelle.