Guide de migration ISO 20022

Naviguez dans la transition de SWIFT MT vers ISO 20022

En bref : SWIFT retirera le MT940 d'ici novembre 2028. Bank Statement Parser gère à la fois MT940 et CAMT.053 avec une seule API. Votre pipeline d'analyse fonctionne pendant la transition et après.

Pourquoi cette migration est importante

SWIFT retire les formats de messages MT anciens au profit du standard 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 en ISO 20022 uniquement
Novembre 2026 Adresses structurées/hybrides obligatoires ; MT101 multi-instructions rejeté ; Gestion des cas Phase 1 Les formats d'adresse doivent être conformes ; certains messages MT seront rejetés
Fin 2026 Début de l'opt-in pour recevoir CAMT.052/.053/.054 Les institutions financières peuvent commencer à recevoir des relevés ISO natifs
Novembre 2027 Toutes les IF doivent recevoir CAMT.053 nativement SWIFT cesse de convertir le format MT en ISO ; vos systèmes doivent analyser CAMT directement
Novembre 2028 Retrait complet de MT940/MT942/MT950/MT900/MT910 Les formats de relevés anciens 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")  # or .mt940
parser = create_parser("statement.xml", fmt)
df = parser.parse()  # Same DataFrame schema regardless of format

La fonction detect_statement_format() identifie si le fichier est en MT940, CAMT.053, PAIN.001 ou tout autre format pris en charge. La fonction create_parser() renvoie le bon analyseur. 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 des 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 Bank Statement Parser vous aide

Commencer

pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format

# Works with MT940 today, CAMT.053 tomorrow, PDF anytime
for file in bank_statement_files:
    fmt = detect_statement_format(file)
    parser = create_parser(file, fmt)
    df = parser.parse()
    process(df)  # Your code doesn't change

Pour les relevés PDF de banques qui ne proposent pas encore d'exports CAMT structurés :

from bankstatementparser.hybrid import smart_ingest

result = smart_ingest("statement.pdf")
assert result.verification.status == "VERIFIED"

Lire la documentation complète

Comparer avec les alternatives ❯ | Découvrez des cas d'utilisation concrets ❯