Mengapa Migrasi Ini Penting
SWIFT menghentikan format pesan MT lama dan beralih ke standar ISO 20022 yang lebih kaya. Bagi tim perbendaharaan dan keuangan, ini berarti pipeline pemrosesan laporan bank Anda harus berkembang dari MT940 ke CAMT.053 sebelum tenggat waktu keras.
Garis Waktu Migrasi SWIFT
| Tanggal | Tonggak | Dampak |
|---|---|---|
| November 2025 | Koeksistensi MT-ke-MX berakhir untuk pembayaran lintas batas | Pesan PACS sekarang hanya ISO 20022 |
| November 2026 | Alamat terstruktur/hibrida wajib; MT101 multi-instruksi ditolak; Fase 1 Manajemen Kasus | Format alamat harus patuh; beberapa pesan MT akan ditolak |
| Akhir 2026 | Opt-in dimulai untuk menerima CAMT.052/.053/.054 | Lembaga keuangan dapat mulai menerima laporan ISO native |
| November 2027 | Semua LK harus menerima CAMT.053 secara native | SWIFT berhenti mengkonversi format MT ke ISO; sistem Anda harus mengurai CAMT langsung |
| November 2028 | MT940/MT942/MT950/MT900/MT910 sepenuhnya dihentikan | Format laporan lama tidak lagi tersedia; CAMT.052/.053/.054 satu-satunya pilihan |
Apa yang Berubah untuk Kode Anda
Sebelum: Hanya MT940
from bankstatementparser import Mt940Parser
parser = Mt940Parser("statement.mt940")
df = parser.parse()
Sesudah: Kedua Format dengan Deteksi Otomatis
from bankstatementparser import create_parser, detect_statement_format
fmt = detect_statement_format("statement.xml") # atau .mt940
parser = create_parser("statement.xml", fmt)
df = parser.parse() # Skema DataFrame yang sama tanpa memandang format
Fungsi detect_statement_format() mengidentifikasi apakah file adalah MT940, CAMT.053, PAIN.001, atau format lain yang didukung. Fungsi create_parser() mengembalikan parser yang benar. Kode hilir Anda bekerja identik tanpa memandang format sumber.
CAMT.053 vs MT940: Perbedaan Utama
| Fitur | MT940 | CAMT.053 |
|---|---|---|
| Kekayaan data | Bidang terbatas | 3-5x lebih banyak data per transaksi |
| Set karakter | Terbatas (charset SWIFT) | Unicode penuh |
| Struktur | Teks datar dengan tag | XML dengan namespace |
| Pelaporan saldo | Pembukaan/penutupan saja | Beberapa tipe saldo |
| Referensi | Bidang referensi tunggal | Beberapa tipe referensi |
| Penanganan mata uang | Dasar | Multi-mata uang penuh dengan kurs |
Bagaimana Parser Laporan Bank Membantu
- API Terpadu: Analisis baik MT940 dan CAMT.053 dengan metode
parse()yang sama, menghasilkan skema DataFrame identik. - Deteksi Otomatis: Tidak perlu mengetahui format sebelumnya.
detect_statement_format()mengidentifikasinya secara otomatis. - Agnostik Namespace: Menangani varian CAMT.053 apa pun (001.02, 001.04, atau pembungkus bank-spesifik) tanpa konfigurasi.
- Streaming: Proses file CAMT besar (50 MB+, 50K+ transaksi) dengan memori terbatas.
- Pengujian Migrasi: Jalankan kedua parser secara berdampingan pada rentang tanggal yang sama untuk memverifikasi konsistensi output sebelum beralih.
Memulai
pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format
# Berfungsi dengan MT940 hari ini, CAMT.053 besok
for file in bank_statement_files:
fmt = detect_statement_format(file)
parser = create_parser(file, fmt)
df = parser.parse()
process(df) # Kode Anda tidak berubah