Warum diese Migration wichtig ist
SWIFT stellt die alten MT-Nachrichtenformate zugunsten des umfangreicheren ISO 20022-Standards ein. Für Treasury- und Finanzteams bedeutet dies, dass Ihre Verarbeitungspipelines für Kontoauszüge vor den verbindlichen Fristen von MT940 auf CAMT.053 umgestellt werden müssen.
SWIFT-Migrationszeitplan
| Datum | Meilenstein | Auswirkung |
|---|---|---|
| November 2025 | Ende der MT-zu-MX-Koexistenz für grenzüberschreitende Zahlungen | PACS-Nachrichten sind jetzt ausschließlich im ISO 20022-Format |
| November 2026 | Strukturierte/hybride Adressen verpflichtend; MT101-Mehrfachanweisungen werden abgelehnt; Case Management Phase 1 | Adressformate müssen konform sein; einige MT-Nachrichten werden abgelehnt |
| Ende 2026 | Opt-in-Phase für den Empfang von CAMT.052/.053/.054 beginnt | Finanzinstitute können native ISO-Kontoauszüge empfangen |
| November 2027 | Alle Finanzinstitute müssen CAMT.053 nativ empfangen | SWIFT stellt die Konvertierung vom MT-Format nach ISO ein; Ihre Systeme müssen CAMT direkt verarbeiten |
| November 2028 | MT940/MT942/MT950/MT900/MT910 vollständig abgeschaltet | Alte Kontoauszugsformate sind nicht mehr verfügbar; CAMT.052/.053/.054 sind die einzige Option |
Was sich für Ihren Code ändert
Vorher: Nur MT940
from bankstatementparser import Mt940Parser
parser = Mt940Parser("statement.mt940")
df = parser.parse()
Nachher: Beide Formate mit automatischer Erkennung
from bankstatementparser import create_parser, detect_statement_format
fmt = detect_statement_format("statement.xml") # oder .mt940
parser = create_parser("statement.xml", fmt)
df = parser.parse() # Identisches DataFrame-Schema unabhängig vom Format
Die Funktion detect_statement_format() erkennt, ob es sich bei der Datei um MT940, CAMT.053, PAIN.001 oder ein anderes unterstütztes Format handelt. Die Funktion create_parser() gibt den passenden Parser zurück. Ihr nachgelagerter Code funktioniert unabhängig vom Quellformat identisch.
CAMT.053 vs. MT940: Wesentliche Unterschiede
| Merkmal | MT940 | CAMT.053 |
|---|---|---|
| Datenumfang | Begrenzte Felder | 3-5x mehr Daten pro Transaktion |
| Zeichensatz | Eingeschränkt (SWIFT-Zeichensatz) | Vollständiges Unicode |
| Struktur | Flachtext mit Tags | XML mit Namespaces |
| Saldomeldung | Nur Eröffnungs-/Schlusssaldo | Mehrere Saldotypen |
| Referenzen | Einzelnes Referenzfeld | Mehrere Referenztypen |
| Währungsverarbeitung | Einfach | Vollständige Mehrwährungsunterstützung mit Wechselkursen |
So hilft Ihnen der Kontoauszug-Parser
- Einheitliche API: Verarbeiten Sie sowohl MT940 als auch CAMT.053 mit derselben
parse()-Methode und erhalten identische DataFrame-Schemas. - Automatische Erkennung: Sie müssen das Format nicht im Voraus kennen.
detect_statement_format()erkennt es automatisch. - Namespace-agnostisch: Verarbeitet jede CAMT.053-Variante (001.02, 001.04 oder bankspezifische Wrapper) ohne Konfiguration.
- Streaming: Verarbeiten Sie große CAMT-Dateien (50 MB+, 50.000+ Transaktionen) mit begrenztem Speicherverbrauch.
- Migrationstests: Führen Sie beide Parser parallel für denselben Zeitraum aus, um die Konsistenz der Ausgabe vor der Umstellung zu überprüfen.
Erste Schritte
pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format
# Funktioniert heute mit MT940, morgen mit CAMT.053
for file in bank_statement_files:
fmt = detect_statement_format(file)
parser = create_parser(file, fmt)
df = parser.parse()
process(df) # Ihr Code ändert sich nicht