TL;DR: SWIFT vyřadí MT940 do listopadu 2028. Bank Statement Parser zpracovává jak MT940, tak CAMT.053 pomocí jediného API, takže váš pipeline funguje během přechodu i po něm.
Proč na této migraci záleží
SWIFT přestává používat starší formáty zpráv MT ve prospěch bohatšího standardu ISO 20022. Pro treasury a finanční týmy to znamená, že vaše pipeline zpracování bankovních výpisů se musí vyvinout z MT940 na CAMT.053 před pevnými termíny.
Časová osa migrace SWIFT
| Datum | Milník | Dopad |
|---|---|---|
| Listopad 2025 | Koexistence MT-to-MX skončila pro přeshraniční platby | Zprávy PACS jsou nyní pouze ISO 20022 |
| Listopad 2026 | Strukturované/hybridní adresy povinné; MT101 multi-instrukce odmítnuta; Case Management fáze 1 | Formáty adres musí vyhovovat; některé MT zprávy budou odmítnuty |
| Konec 2026 | Začíná opt-in pro příjem CAMT.052/.053/.054 | Finanční instituce mohou začít přijímat nativní ISO výpisy |
| Listopad 2027 | Všechny FI musí přijímat CAMT.053 nativně | SWIFT přestane převádět MT formát na ISO; vaše systémy musí parsovat CAMT přímo |
| Listopad 2028 | MT940/MT942/MT950/MT900/MT910 plně vyřazeny | Starší formáty výpisů již nebudou dostupné; CAMT.052/.053/.054 jsou jedinou možností |
Co se změní ve vašem kódu
Před: Pouze MT940
from bankstatementparser import Mt940Parser
parser = Mt940Parser("statement.mt940")
df = parser.parse()
Po: Oba formáty s automatickou detekcí
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
Funkce detect_statement_format() identifikuje, zda je soubor MT940, CAMT.053, PAIN.001 nebo jiný podporovaný formát. Funkce create_parser() vrátí správný parser. Váš následný kód funguje identicky bez ohledu na zdrojový formát.
CAMT.053 vs MT940: Klíčové rozdíly
| Vlastnost | MT940 | CAMT.053 |
|---|---|---|
| Bohatost dat | Omezená pole | 3–5x více dat na transakci |
| Znaková sada | Omezená (znaková sada SWIFT) | Plné Unicode |
| Struktura | Plochý text se značkami | XML s jmennými prostory |
| Reportování zůstatku | Pouze počáteční/konečný | Více typů zůstatků |
| Reference | Jedno referenční pole | Více typů referencí |
| Práce s měnami | Základní | Plná multi-měna se směnnými kurzy |
Jak Bank Statement Parser pomáhá
- Jednotné API: Parsujte MT940, CAMT.053 a PDF výpisy stejným workflow s konzistentním DataFrame výstupem.
- Automatická detekce: Není třeba znát formát předem.
detect_statement_format()jej identifikuje automaticky. - Hybridní PDF pipeline: Banky poskytující během přechodu pouze PDF výpisy jsou obslouženy pomocí
smart_ingest()s automatickým ověřením zůstatku. - Nezávislost na jmenných prostorech: Zvládá jakoukoli variantu CAMT.053 (001.02, 001.04 nebo bankovně specifické wrappery) bez konfigurace.
- Multi-měnové ověření:
verify_balance_multi_currency()provádí Golden Rule pro každou měnovou skupinu — nezbytné pro multi-měnové CAMT výpisy. - Streaming: Zpracování velkých CAMT souborů (50 MB+, 50K+ transakcí) s omezenou pamětí.
- Export do účetnictví: Export přímo do formátu hledger nebo beancount deníku pro treasury účetnictví.
- Testování migrace: Spusťte oba parsery vedle sebe na stejném období, abyste ověřili konzistenci výstupu před přepnutím.
Začínáme
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
Pro PDF výpisy od bank, které zatím nenabízejí strukturované CAMT exporty:
from bankstatementparser.hybrid import smart_ingest
result = smart_ingest("statement.pdf")
assert result.verification.status == "VERIFIED"
Porovnejte s alternativami ❯ | Podívejte se na reálné případy použití ❯