ট্রেজারি: MT940 থেকে CAMT.053 মাইগ্রেশন
বিশ্বব্যাপী ট্রেজারি টিমগুলি নভেম্বর ২০২৭ SWIFT সময়সীমার আগে MT940 থেকে CAMT.053-এ মাইগ্রেট করছে। ব্যাংক স্টেটমেন্ট পার্সার একটি একক API দিয়ে উভয় ফরম্যাট পরিচালনা করে, যা রূপান্তরটিকে নির্বিঘ্ন করে তোলে।
from bankstatementparser import create_parser, detect_statement_format
# একই কোড দিয়ে MT940 এবং CAMT.053 উভয়ই প্রক্রিয়া করুন
for file in daily_statement_files:
fmt = detect_statement_format(file)
parser = create_parser(file, fmt)
df = parser.parse()
load_to_treasury_system(df)
স্বয়ংক্রিয় রিকনসিলিয়েশন
ব্যাংক স্টেটমেন্ট পার্স করুন এবং স্বয়ংক্রিয়ভাবে অভ্যন্তরীণ রেকর্ডের সাথে মিলান করুন। ইউনিফাইড DataFrame আউটপুট রিকনসিলিয়েশন লজিককে ফরম্যাট-নিরপেক্ষ করে তোলে।
from bankstatementparser import CamtParser, Deduplicator
parser = CamtParser("bank_statement.xml")
bank_txns = parser.parse()
# রিকনসিলিয়েশনের আগে ডিডুপ্লিকেট করুন
dedup = Deduplicator()
result = dedup.deduplicate(dedup.from_dataframe(bank_txns))
clean_txns = result.unique_transactions
# অভ্যন্তরীণ রেকর্ডের সাথে মিলান করুন
unmatched = reconcile(clean_txns, internal_ledger)
কমপ্লায়েন্স এবং অডিট পাইপলাইন
PII রিডাকশন এবং ডিটারমিনিস্টিক আউটপুট সহ অডিট-প্রস্তুত পাইপলাইন তৈরি করুন। প্রতিটি রান একই ইনপুটের জন্য অভিন্ন ফলাফল তৈরি করে, যা নিয়ন্ত্রক পুনরুৎপাদনযোগ্যতার প্রয়োজনীয়তা পূরণ করে।
from bankstatementparser import CamtParser
parser = CamtParser("statement.xml")
# অডিট লগের জন্য PII রিডাক্ট করে স্ট্রিম করুন
for txn in parser.parse_streaming(redact_pii=True):
audit_log.write(txn)
# নিরাপদ অভ্যন্তরীণ প্রক্রিয়াকরণের জন্য সম্পূর্ণ ডেটা এক্সপোর্ট করুন
parser.export_csv("archive/statement.csv")
SFTP-থেকে-DataFrame ওয়ার্কফ্লো
অনেক ব্যাংক SFTP-এর মাধ্যমে স্টেটমেন্ট সরবরাহ করে। ডিস্কে না লিখে সরাসরি বাইট থেকে পার্স করুন।
from bankstatementparser import CamtParser
xml_bytes = sftp_client.read("daily_statement.xml")
parser = CamtParser.from_bytes(xml_bytes, source_name="daily.xml")
df = parser.parse()
মাল্টি-ব্যাংক কনসলিডেশন
বিভিন্ন ফরম্যাট ব্যবহার করা একাধিক ব্যাংকের স্টেটমেন্টকে একটি একক স্বাভাবিকীকৃত ডেটাসেটে একত্রিত করুন।
from bankstatementparser import parse_files_parallel
results = parse_files_parallel([
"hsbc/camt053.xml",
"barclays/mt940.sta",
"revolut/transactions.csv",
"wise/statement.ofx",
])
all_transactions = pd.concat([r.transactions for r in results if r.status == "success"])
ZIP আর্কাইভ সহ ব্যাচ প্রসেসিং
বিল্ট-ইন ZIP বম্ব সুরক্ষা সহ জিপ করা স্টেটমেন্ট আর্কাইভ নিরাপদে প্রক্রিয়া করুন।
from bankstatementparser import iter_secure_xml_entries, CamtParser
for entry in iter_secure_xml_entries("monthly_statements.zip"):
parser = CamtParser.from_bytes(entry.xml_bytes, source_name=entry.source_name)
df = parser.parse()
save_to_warehouse(entry.source_name, df)