Özet: SWIFT, MT940'ı Kasım 2028 itibarıyla kullanımdan kald��racak. Bank Statement Parser hem MT940'ı hem de CAMT.053'ü tek bir API ile işler, böylece ayrıştırma pipeline'ınız geçiş sırasında ve sonrasında çalışır.
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 ekstresi işleme pipeline'larınızın zorunlu son tarihlerden önce MT940'tan CAMT.053'e geçmesi gerektiği anlamına gelir.
SWIFT Geçiş Zaman Çizelgesi
| Tarih | Kilometre Taşı | Etki |
|---|---|---|
| Kasım 2025 | Sınır ötesi ödemelerde MT-MX bir arada yaşam sona erdi | PACS mesajları artık yalnızca ISO 20022'dir |
| Kasım 2026 | Yapılandırılmış/karma adresler zorunlu; MT101 çoklu talimat reddedildi; Vaka Yönetimi Aşama 1 | Adres formatları uyumlu olmalı; bazı MT mesajları reddedilecek |
| 2026 Sonu | CAMT.052/.053/.054 almak için katılım başlıyor | Finans kuruluşları yerel ISO ekstrelerini almaya başlayabilir |
| Kasım 2027 | Tüm finans kuruluşları CAMT.053'ü doğrudan almalı | SWIFT, MT formatını ISO'ya dönüştürmeyi durdurur; sistemleriniz CAMT'yi doğrudan ayrıştırmalı |
| 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() fonksiyonu dosyanın MT940, CAMT.053, PAIN.001 veya desteklenen başka bir formatta olup olmadığını tanır. create_parser() fonksiyonu doğru ayrıştırıcıyı döndürür. Sonraki kodunuz kaynak formatından 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ı | Etiketli düz metin | Ad alanlı XML |
| Bakiye raporlama | Yalnızca açılış/kapanış | Çoklu bakiye türleri |
| Referanslar | Tek referans alanı | Çoklu referans türleri |
| Para birimi kullanımı | Temel | Döviz kurlarıyla tam çoklu para birimi |
Bank Statement Parser Nasıl Yardımcı Olur?
- Birleşik API: MT940, CAMT.053 ve PDF ekstrelerini aynı iş akış��yla ayrıştırın; tutarlı DataFrame çıktısı üretin.
- Otomatik algılama: Formatı önceden bilmenize gerek yok.
detect_statement_format()otomatik olarak tanır. - Hibrit PDF pipeline: Geçiş sırasında yalnızca PDF ekstre sunan bankalar, otomatik bakiye doğrulamalı
smart_ingest()ile işlenir. - Ad alanından bağımsız: Herhangi bir CAMT.053 varyantını (001.02, 001.04 veya bankaya özgü sarmalayıcılar) yapılandırma olmadan işler.
- Çoklu para birimi doğrulaması:
verify_balance_multi_currency()Altın Kuralı para birimi grubuna göre çalıştırır -- çoklu para birimli CAMT ekstreleri için gereklidir. - Streaming: Büyük CAMT dosyalarını (50 MB+, 50K+ işlem) sınırlı bellekle işleyin.
- Defter dışa aktarımı: Hazine muhasebesi için doğrudan hledger veya beancount defter formatına aktarın.
- 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, 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
Henüz yapılandırılmış CAMT dışa aktarımı sunmayan bankalardan gelen PDF ekstreler için:
from bankstatementparser.hybrid import smart_ingest
result = smart_ingest("statement.pdf")
assert result.verification.status == "VERIFIED"
Alternatiflerle karşılaştırın ❯ | Gerçek dünya kullanım örneklerini görün ❯