Bu Geçiş Neden Önemli?
SWIFT, daha zengin ISO 20022 standardı lehine eski MT mesaj formatlarını kullanımdan kaldırıyor. Hazine ve finans ekipleri için bu, banka hesap özeti işleme işlem hatlarınızın zorlu son teslim tarihlerinden önce MT940'tan CAMT.053'e geçmesi gerektiği anlamına gelir.
SWIFT Geçiş Zaman Çizelgesi
| Tarih | Dönüm noktası | Darbe |
|---|---|---|
| Kasım 2025 | Sınır ötesi ödemelerde MT'den MX'e bir arada kullanım sona erdi | PACS mesajları artık yalnızca ISO 20022'dir |
| Kasım 2026 | Yapılandırılmış/karma adresler zorunludur; MT101 çoklu talimatı reddedildi; Vaka Yönetimi Aşama 1 | Adres formatları uyumlu olmalıdır; bazı MT mesajları reddedilecek |
| 2026 Sonu | CAMT.052/.053/.054 almak için katılım başlıyor | Finansal kurumlar yerel ISO beyanlarını almaya başlayabilir |
| Kasım 2027 | Tüm FI'lar CAMT.053'ü yerel olarak almalıdır | SWIFT, MT formatını ISO'ya dönüştürmeyi durdurur; sistemlerinizin CAMT'yi doğrudan ayrıştırması gerekir |
| Kasım 2028 | MT940/MT942/MT950/MT900/MT910 tamamen kullanımdan kaldırıldı | Eski ekstre formatları artık mevcut değil; CAMT.052/.053/.054 tek seçenektir |
Kodunuz İçin Neler Değişiyor?
Önce: Yalnızca MT940
from bankstatementparser import Mt940Parser
parser = Mt940Parser("statement.mt940")
df = parser.parse()
Sonra: Otomatik Algılamalı Her İki Format
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
detect_statement_format()işlevi, dosyanın MT940, CAMT.053, PAIN.001 veya desteklenen herhangi bir formatta olup olmadığını tanımlar.create_parser()işlev doğru ayrıştırıcıyı döndürür. Aşağı akış kodunuz, kaynak biçiminden bağımsız olarak aynı şekilde çalışır.
CAMT.053 ve MT940: Temel Farklılıklar
| Özellik | MT940 | CAMT.053 |
|---|---|---|
| Veri zenginliği | Sınırlı alanlar | İşlem başına 3-5 kat daha fazla veri |
| Karakter seti | Sınırlı (SWIFT karakter seti) | Tam Unicode |
| Yapı | Etiketleri içeren düz metin | Ad alanlı XML |
| Bakiye raporlama | Yalnızca açma/kapama | Çoklu bakiye türleri |
| Referanslar | Tek referans alanı | Çoklu referans türleri |
| Para birimi kullanımı | Temel | Döviz kurları ile tam çoklu para birimi |
Banka Ekstresi Ayrıştırıcısı Nasıl Yardımcı Olur?
- Birleşik API: Hem MT940 hem de CAMT.053'ü aynı şekilde ayrıştırın
parse()özdeş DataFrame şemaları üreten yöntem. - Otomatik algılama: Formatı önceden bilmenize gerek yoktur.
detect_statement_format()otomatik olarak tanımlar. - Ad alanından bağımsız: Herhangi bir CAMT.053 değişkenini (001.02, 001.04 veya bankaya özgü sarmalayıcıları) yapılandırma olmadan işler.
- Akış: Büyük CAMT dosyalarını (50 MB+, 50K+ işlem) sınırlı bellekle işleyin.
- Geçiş testi: Geçiş yapmadan önce çıktı tutarlılığını doğrulamak için her iki ayrıştırıcıyı aynı tarih aralığında yan yana çalıştırın.
Başlarken
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