ব্যবহারের ক্ষেত্র

বাস্তব-বিশ্বের প্রয়োগ

ট্রেজারি: 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)