TL;DR: SWIFT kommer att avveckla MT940 i november 2028. Kontoutdragsparser hanterar både MT940 och CAMT.053 med ett enda API, så din analyspipeline fungerar under och efter övergången.
Varför denna migration är viktig
SWIFT drar tillbaka äldre MT-meddelandeformat till förmån för den rikare ISO 20022-standarden. För treasury- och finansteam innebär detta att dina bankutdragsbearbetningspipelines måste utvecklas från MT940 till CAMT.053 innan de hårda tidsfristerna.
SWIFT migreringstidslinje
| Datum | Milstolpe | Inverkan |
|---|---|---|
| November 2025 | Samexistensen mellan MT och MX upphörde för gränsöverskridande betalningar | PACS-meddelanden är nu endast ISO 20022 |
| November 2026 | Strukturerade/hybridadresser obligatoriska; MT101 multi-instruktion avvisad; Ärendehantering Fas 1 | Adressformat måste följa; vissa MT-meddelanden kommer att avvisas |
| Sent 2026 | Opt-in börjar för att ta emot CAMT.052/.053/.054 | Finansiella institutioner kan börja ta emot inhemska ISO-utlåtanden |
| November 2027 | Alla FI:er måste ta emot CAMT.053 inbyggt | SWIFT slutar konvertera MT-format till ISO; dina system måste analysera CAMT direkt |
| November 2028 | MT940/MT942/MT950/MT900/MT910 helt pensionerad | Äldre uttalandeformat är inte längre tillgängliga; CAMT.052/.053/.054 är det enda alternativet |
Vad ändras för din kod
Före: Endast MT940
from bankstatementparser import Mt940Parser
parser = Mt940Parser("statement.mt940")
df = parser.parse()
Efter: Båda formaten med automatisk upptäckt
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
Dedetect_statement_format()funktionen identifierar om filen är MT940, CAMT.053, PAIN.001 eller något annat format som stöds. Decreate_parser()funktion returnerar rätt analysator. Din nedströmskod fungerar identiskt oavsett källformat.
CAMT.053 vs MT940: Nyckelskillnader
| Särdrag | MT940 | CAMT.053 |
|---|---|---|
| Datarikedom | Begränsade fält | 3-5 gånger mer data per transaktion |
| Karaktärsuppsättning | Begränsad (SWIFT-teckenuppsättning) | Fullständig Unicode |
| Strukturera | Platt text med taggar | XML med namnrymder |
| Balansrapportering | Endast öppning/stängning | Flera balanstyper |
| Referenser | Enstaka referensfält | Flera referenstyper |
| Valutahantering | Grundläggande | Full multi-valuta med växelkurser |
Hur kontoutdrag Parser hjälper
- Unified API: Analysera både MT940 och CAMT.053 med samma
parse()metod, som producerar identiska DataFrame-scheman. - Automatisk upptäckt: Inget behov av att veta formatet i förväg.
detect_statement_format()identifierar det automatiskt. - Namespace-agnostic: Hanterar alla CAMT.053-varianter (001.02, 001.04 eller bankspecifika wrappers) utan konfiguration.
- Streaming: Behandla stora CAMT-filer (50 MB+, 50K+ transaktioner) med begränsat minne.
- Migrationstest: Kör båda parsarna sida vid sida på samma datumintervall för att verifiera utdatakonsistensen innan du byter.
Komma igång
pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format
# Works with MT940 today, CAMT.053 tomorrow
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
Jämför med alternativ ❯ | Se användningsfall i verkliga världen ❯