Parser ISO 20022
Parser les messages financiers ISO 20022 XML
ISO 20022 est le standard de messagerie financiere de nouvelle generation utilisant XML, concu pour remplacer les messages SWIFT MT avec des donnees plus riches et mieux structurees.
Qu’est-ce qu’ISO 20022 ?
ISO 20022 est le standard international pour la messagerie financiere electronique, maintenu par l’Organisation internationale de normalisation. Contrairement au format proprietaire SWIFT MT qui utilise des champs textuels etiquetes, ISO 20022 emploie des messages bases sur XML (egalement appeles messages MX) avec un modele de donnees riche et hierarchique capable de representer des transactions financieres complexes avec une precision bien superieure.
Le standard a ete publie pour la premiere fois en 2004 et est depuis devenu le socle des principaux systemes de paiement dans le monde, notamment SEPA en Europe, Fedwire aux Etats-Unis (adoption d’ISO 20022 en 2025), et les systemes de paiement instantane dans plus de 70 pays. ISO 20022 n’est pas simplement un format de messagerie — c’est une methodologie pour construire des definitions de messages financiers a l’aide d’un dictionnaire de donnees commun.
La migration de SWIFT MT vers ISO 20022 represente la plus grande transformation de l’histoire de la messagerie financiere, affectant chaque banque, infrastructure de marche et tresorerie d’entreprise connectee au reseau SWIFT.
MT vs MX : comparaison cote a cote
Correspondance MT vers MX
Le tableau suivant montre comment les types de messages SWIFT MT les plus courants correspondent a leurs equivalents ISO 20022 (MX) :
| Message MT | Equivalent MX | Domaine metier | Description |
|---|---|---|---|
| MT103 | pacs.008 | Compensation des paiements | Virement client (d’IF a IF) |
| MT202 | pacs.009 | Compensation des paiements | Virement entre institutions financieres |
| MT940 | camt.053 | Gestion de tresorerie | Releve de compte en fin de journee |
| MT942 | camt.052 | Gestion de tresorerie | Rapport de compte en cours de journee |
| MT101 | pain.001 | Initiation de paiement | Demande de virement (client vers banque) |
| MT900/910 | camt.054 | Gestion de tresorerie | Notification de debit/credit |
| MT199 | admi.004 | Administration | Message en format libre / evenement systeme |
Comment fonctionnent les messages ISO 20022
Les messages ISO 20022 suivent une structure XML coherente avec trois couches principales :
- Le prefixe du domaine metier identifie le domaine :
pain(Payment Initiation),pacs(Payments Clearing and Settlement),camt(Cash Management),sese(Securities Settlement) - L’identifiant de message specifie le type de message exact (par ex.,
008pour le virement client au sein depacs) - Le numero de version suit l’evolution du schema (par ex.,
001.08est la version 8 de la variante 1)
Chaque message MX contient un Group Header (GrpHdr) avec des metadonnees telles que l’identifiant du message, l’horodatage de creation, le nombre de transactions et la methode de reglement. Les donnees au niveau de la transaction suivent dans des structures repetitives specifiques au type de message.
Le schema XML (XSD) de chaque type de message impose des regles de validation strictes — les types de donnees, les elements obligatoires, les valeurs autorisees et les dependances inter-champs sont tous definis dans le schema. Cela rend la validation automatisee bien plus fiable qu’avec les tags MT en format libre.
Calendrier de migration
La migration du reseau SWIFT de MT vers ISO 20022 suit ce calendrier :
- Mars 2023 : debut de la periode de coexistence — les formats MT et MX sont acceptes sur SWIFT
- Novembre 2025 : fin de la coexistence pour les paiements transfrontaliers et le reporting (pacs/camt)
- 2025+ : poursuite de la migration pour les titres (sese/semt) et les messages de financement du commerce
- Etat cible : adoption complete d’ISO 20022 pour toutes les categories de trafic SWIFT
Durant la coexistence, SWIFT assure la traduction au sein du reseau entre les formats MT et MX. Cependant, une troncature des donnees se produit lors de la conversion de messages MX riches vers des champs MT plus courts, c’est pourquoi les institutions sont encouragees a adopter ISO 20022 nativement.
Cas d’utilisation courants
- Paiements transfrontaliers : pacs.008 et pacs.009 gerent les virements clients et interbancaires avec des donnees entierement structurees
- Gestion de tresorerie : camt.052, camt.053 et camt.054 delivrent des rapports de compte et des releves avec des details de transaction enrichis
- Initiation de paiement : pain.001 et pain.002 prennent en charge les demandes de paiement client-banque et les rapports de statut
- Paiements instantanes : la plupart des schemas de paiement instantane (TIPS, FedNow, FAST) utilisent ISO 20022 nativement
- Reporting reglementaire : le modele de donnees plus riche supporte une conformite amelioree, le filtrage des sanctions et les controles anti-blanchiment
- Tresorerie d’entreprise : les donnees de remise structurees permettent un rapprochement automatique sans appariement manuel
Essayez ces exemples
Un message pacs.008.001.08 (virement client d'institution financiere a institution financiere) valide avec un Group Header contenant l'identifiant du message, l'horodatage de creation et les informations de reglement, ainsi qu'une transaction de virement avec les identifiants de paiement, le montant en EUR, le porteur de frais (partage), les details debiteur/crediteur et les BIC de leurs agents respectifs.
<Document xmlns='urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08'>
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>MSG20240315001</MsgId>
<CreDtTm>2024-03-15T10:30:00Z</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf><SttlmMtd>INDA</SttlmMtd></SttlmInf>
</GrpHdr>
<CdtTrfTxInf>
<PmtId><InstrId>INSTR001</InstrId><EndToEndId>E2E20240315</EndToEndId></PmtId>
<IntrBkSttlmAmt Ccy='EUR'>25000.00</IntrBkSttlmAmt>
<ChrgBr>SHAR</ChrgBr>
<Dbtr><Nm>John Doe</Nm></Dbtr>
<DbtrAgt><FinInstnId><BICFI>BANKFRPPXXX</BICFI></FinInstnId></DbtrAgt>
<CdtrAgt><FinInstnId><BICFI>BANKDEFFXXX</BICFI></FinInstnId></CdtrAgt>
<Cdtr><Nm>Jane Smith</Nm></Cdtr>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document> Ce pacs.008 ne contient pas l'element obligatoire SttlmInf dans le Group Header ni l'element BICFI a l'interieur de DbtrAgt/FinInstnId. Sans les informations de reglement et le BIC de l'agent debiteur, l'institution receptrice ne peut pas traiter le paiement.
<Document xmlns='urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08'>
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>MSG20240315002</MsgId>
<CreDtTm>2024-03-15T10:30:00Z</CreDtTm>
<NbOfTxs>1</NbOfTxs>
</GrpHdr>
<CdtTrfTxInf>
<PmtId><EndToEndId>E2E002</EndToEndId></PmtId>
<IntrBkSttlmAmt Ccy='EUR'>5000.00</IntrBkSttlmAmt>
<DbtrAgt><FinInstnId></FinInstnId></DbtrAgt>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>