Przewodnik po migracji ISO 20022

Przejdź do przejścia SWIFT MT na ISO 20022

W skrócie: SWIFT wycofa MT940 do listopada 2028. Bank Statement Parser obsługuje zarówno MT940, jak i CAMT.053 za pomocą jednego API, więc pipeline parsowania działa zarówno w okresie przejściowym, jak i po nim.

Dlaczego ta migracja ma znaczenie

SWIFT wycofuje starsze formaty komunikatów MT na rzecz bogatszego standardu ISO 20022. Dla zespołów skarbowych i finansowych oznacza to, że pipeline'y przetwarzania wyciągów bankowych muszą ewoluować z MT940 do CAMT.053 przed twardymi terminami.

Harmonogram migracji SWIFT

Data Kamień milowy Wpływ
Listopad 2025 Zakończenie współistnienia MT-MX dla płatności transgranicznych Komunikaty PACS są teraz wyłącznie w formacie ISO 20022
Listopad 2026 Obowiązkowe adresy strukturalne/hybrydowe; odrzucenie MT101 z wieloma instrukcjami; faza 1 zarządzania przypadkami Formaty adresów muszą być zgodne; niektóre komunikaty MT zostaną odrzucone
Koniec 2026 Rozpoczęcie opt-in na odbieranie CAMT.052/.053/.054 Instytucje finansowe mogą zacząć odbierać natywne wyciągi ISO
Listopad 2027 Wszystkie instytucje finansowe muszą natywnie odbierać CAMT.053 SWIFT przestaje konwertować MT do formatu ISO; systemy muszą bezpośrednio parsować CAMT
Listopad 2028 Całkowite wycofanie MT940/MT942/MT950/MT900/MT910 Starsze formaty wyciągów nie są już dostępne; jedyną opcją są CAMT.052/.053/.054

Co zmienia się w kodzie

Przed: tylko MT940

from bankstatementparser import Mt940Parser

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

Po: oba formaty z automatycznym wykrywaniem

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

Funkcja detect_statement_format() określa, czy plik ma format MT940, CAMT.053, PAIN.001 czy inny obsługiwany format. Funkcja create_parser() zwraca właściwy parser. Kod dalszego przetwarzania działa identycznie niezależnie od formatu źródłowego.

CAMT.053 vs MT940: Kluczowe różnice

Cecha MT940 CAMT.053
Bogactwo danych Ograniczone pola 3-5x więcej danych na transakcję
Zestaw znaków Ograniczony (zestaw SWIFT) Pełny Unicode
Struktura Tekst płaski ze znacznikami XML z przestrzeniami nazw
Raportowanie salda Tylko otwarcie/zamknięcie Wiele typów sald
Referencje Jedno pole referencyjne Wiele typów referencji
Obsługa walut Podstawowa Pełna wielowalutowość z kursami wymiany

Jak Bank Statement Parser pomaga

Pierwsze kroki

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

Dla wyciągów PDF z banków, które jeszcze nie oferują strukturalnych eksportów CAMT:

from bankstatementparser.hybrid import smart_ingest

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

Przeczytaj pełną dokumentację

Porównaj z alternatywami ❯ | Zobacz rzeczywiste przypadki użycia ❯