Guide de migration ISO 20022

Naviguez la transition SWIFT MT vers ISO 20022

Pourquoi cette migration est importante

SWIFT retire les formats de messages MT historiques au profit de la norme ISO 20022, plus riche. Pour les équipes de trésorerie et de finance, cela signifie que vos pipelines de traitement des relevés bancaires doivent évoluer de MT940 vers CAMT.053 avant les échéances fermes.

Calendrier de migration SWIFT

Date Jalon Impact
Novembre 2025 Fin de la coexistence MT-MX pour les paiements transfrontaliers Les messages PACS sont désormais exclusivement ISO 20022
Novembre 2026 Adresses structurées/hybrides obligatoires ; MT101 multi-instructions rejeté ; Phase 1 gestion des cas Les formats d'adresses doivent être conformes ; certains messages MT seront rejetés
Fin 2026 Début de l'opt-in pour la réception de CAMT.052/.053/.054 Les institutions financières peuvent commencer à recevoir les relevés ISO natifs
Novembre 2027 Toutes les IF doivent recevoir nativement CAMT.053 SWIFT cesse de convertir le format MT en ISO ; vos systèmes doivent analyser directement le CAMT
Novembre 2028 Retrait complet de MT940/MT942/MT950/MT900/MT910 Les formats de relevés historiques ne sont plus disponibles ; CAMT.052/.053/.054 sont la seule option

Ce qui change dans votre code

Avant : MT940 uniquement

from bankstatementparser import Mt940Parser

parser = Mt940Parser("statement.mt940")
df = parser.parse()

Après : les deux formats avec détection automatique

from bankstatementparser import create_parser, detect_statement_format

fmt = detect_statement_format("statement.xml")  # ou .mt940
parser = create_parser("statement.xml", fmt)
df = parser.parse()  # Meme schema DataFrame quel que soit le format

La fonction detect_statement_format() identifie si le fichier est MT940, CAMT.053, PAIN.001 ou tout autre format pris en charge. La fonction create_parser() renvoie le bon parseur. Votre code en aval fonctionne de manière identique quel que soit le format source.

CAMT.053 vs MT940 : différences clés

Caractéristique MT940 CAMT.053
Richesse des données Champs limités 3-5x plus de données par transaction
Jeu de caractères Limité (charset SWIFT) Unicode complet
Structure Texte plat avec balises XML avec espaces de noms
Reporting des soldes Ouverture/clôture uniquement Plusieurs types de soldes
Références Champ de référence unique Plusieurs types de références
Gestion des devises Basique Multi-devises complet avec taux de change

Comment Analyseur de relevés bancaires vous aide

Premiers pas

pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format

# Fonctionne avec MT940 aujourd'hui, CAMT.053 demain
for file in bank_statement_files:
    fmt = detect_statement_format(file)
    parser = create_parser(file, fmt)
    df = parser.parse()
    process(df)  # Votre code ne change pas

Lire la documentation complète