কেস ব্যবহার করুন

রিয়েল-ওয়ার্ল্ড অ্যাপ্লিকেশন

Bank Statement Parser বাস্তব-বিশ্বের আর্থিক ওয়ার্কফ্লো পরিচালনা করে: PDF ব্যাঙ্ক স্টেটমেন্ট ইনজেশন, MT940-থেকে-CAMT মাইগ্রেশন, ব্যালেন্স যাচাই সহ স্বয়ংক্রিয় রিকনসিলিয়েশন, কমপ্লায়েন্স pipeline, plaintext-accounting এক্সপোর্ট, REST API ডিপ্লয়মেন্ট, bulk scanning, এবং মাল্টি-ব্যাঙ্ক একত্রীকরণ।

PDF ব্যাঙ্ক স্টেটমেন্ট ইনজেশন

ফলাফল: স্বয়ংক্রিয় ব্যালেন্স যাচাই সহ ডিজিটাল ও স্ক্যান করা PDF ব্যাঙ্ক স্টেটমেন্ট পার্স করুন — কোনো cloud API নেই, কোনো ডেটা আপনার মেশিন ছাড়ে না।

Hybrid PDF pipeline প্রতিটি PDF সর্বোত্তম extraction পথে রাউট করে এবং প্রতিটি ফলাফল যাচাই করে।

from bankstatementparser.hybrid import smart_ingest

result = smart_ingest("statement.pdf")
print(result.source_method)         # "deterministic" | "llm" | "vision"
print(result.verification.status)   # VERIFIED | DISCREPANCY | FAILED

# Review discrepancies interactively
# bankstatementparser --type review --input result.json

Bulk স্টেটমেন্ট Processing

ফলাফল: একটি কলে স্বয়ংক্রিয় ক্রস-ফাইল ডিডুপ্লিকেশন সহ সম্পূর্ণ ফোল্ডার ট্রি (শত শত PDF, XML, CSV) স্ক্যান করুন।

from bankstatementparser.hybrid import scan_and_ingest

batch = scan_and_ingest("statements/2026/", pattern="**/*.pdf")
print(f"Files: {len(batch.results)}, Unique txns: {batch.unique_count}")

ট্রেজারি: MT940 থেকে CAMT.053 মাইগ্রেশন

ফলাফল: একটি একক API কল SWIFT মাইগ্রেশন উইন্ডোর (নভেম্বর 2025–নভেম্বর 2028) সময় MT940 ও CAMT.053 উভয়ই পরিচালনা করে, পৃথক parsing pipeline-এর প্রয়োজন দূর করে।

বিশ্বব্যাপী ট্রেজারি টিম নভেম্বর 2027 SWIFT সময়সীমার আগে MT940 থেকে CAMT.053-এ মাইগ্রেট করছে। Bank Statement Parser একটি একক API দিয়ে উভয় ফর্ম্যাট পরিচালনা করে, রূপান্তরকে নির্বিঘ্ন করে।

from bankstatementparser import create_parser, detect_statement_format

# Process both MT940 and CAMT.053 with the same code
for file in daily_statement_files:
    fmt = detect_statement_format(file)
    parser = create_parser(file, fmt)
    df = parser.parse()
    load_to_treasury_system(df)

ব্যালেন্স যাচাই সহ স্বয়ংক্রিয় রিকনসিলিয়েশন

ফলাফল: Golden Rule যাচাই ও ডিডুপ্লিকেশন সহ ফর্ম্যাট-অজ্ঞেয় DataFrame আপনার লেজারে পৌঁছানোর আগেই ত্রুটি ও ডুপ্লিকেট ধরে।

ব্যাঙ্ক স্টেটমেন্ট পার্স করুন, ব্যালেন্স যাচাই করুন এবং স্বয়ংক্রিয়ভাবে অভ্যন্তরীণ রেকর্ডের সাথে মিলান।

from bankstatementparser import CamtParser, Deduplicator
from bankstatementparser.hybrid import verify_balance_multi_currency

parser = CamtParser("bank_statement.xml")
bank_txns = parser.parse()

# Verify balances per currency
verification = verify_balance_multi_currency(bank_txns)
for ccy, result in verification.items():
    assert result.status == "VERIFIED", f"{ccy} balance mismatch!"

# Deduplicate before reconciliation
dedup = Deduplicator()
result = dedup.deduplicate(dedup.from_dataframe(bank_txns))
clean_txns = result.unique_transactions

# Match against internal records
unmatched = reconcile(clean_txns, internal_ledger)

Plaintext Accounting (hledger / beancount)

ফলাফল: PDF ব্যাঙ্ক স্টেটমেন্ট স্বয়ংক্রিয়ভাবে ইনজেস্ট করুন এবং ক্যাটাগরাইজড লেনদেন hledger বা beancount জার্নাল ফর্ম্যাটে এক্সপোর্ট করুন।

from bankstatementparser.hybrid import smart_ingest
from bankstatementparser.enrichment import Categorizer
from bankstatementparser.export import to_hledger

result = smart_ingest("statement.pdf")
categorizer = Categorizer()
enriched = categorizer.categorize_batch(result.transactions)
journal = to_hledger(enriched, account="Assets:Bank:Checking")

REST API ডিপ্লয়মেন্ট

ফলাফল: Bank Statement Parser মাইক্রোসার্ভিস হিসেবে ডিপ্লয় করুন যা HTTP-র মাধ্যমে স্টেটমেন্ট ফাইল গ্রহণ করে এবং স্ট্রাকচার্ড JSON রিটার্ন করে।

# Start the API server
bankstatementparser-api --port 8000
# Ingest a statement
curl -X POST http://localhost:8000/ingest \
  -F "file=@statement.pdf"

কমপ্লায়েন্স ও অডিট Pipeline

ফলাফল: নির্ধারক আউটপুট, স্বয়ংক্রিয় PII রিডাকশন, এবং Golden Rule যাচাই অডিট-প্রস্তুত লগ তৈরি করে যা নিয়ন্ত্রক পুনরুত্পাদনযোগ্যতার প্রয়োজনীয়তা পূরণ করে।

from bankstatementparser import CamtParser

parser = CamtParser("statement.xml")

# Stream with PII redacted for audit logs
for txn in parser.parse_streaming(redact_pii=True):
    audit_log.write(txn)

# Export full data for secure internal processing
parser.export_csv("archive/statement.csv")

SFTP-থেকে-DataFrame ওয়ার্কফ্লো

ফলাফল: শূন্য ডিস্ক I/O সহ সরাসরি বাইট থেকে পার্স করুন, SFTP ও API-চালিত ব্যাঙ্ক কানেক্টিভিটি ওয়ার্কফ্লোতে নেটিভভাবে ফিট হয়।

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()

মাল্টি-ব্যাঙ্ক একত্রীকরণ

ফলাফল: HSBC (CAMT), Barclays (MT940), Revolut (CSV), Wise (OFX), এবং Chase (PDF) জুড়ে parallel parsing একটি একক নরমালাইজড ডেটাসেট তৈরি করে।

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 আর্কাইভ সহ ব্যাচ Processing

ফলাফল: বিল্ট-ইন ZIP bomb সুরক্ষা (100:1 অনুপাত সীমা, 10 MB এন্ট্রি ক্যাপ, এনক্রিপ্টেড এন্ট্রি প্রত্যাখ্যান) আপনাকে মাসিক স্টেটমেন্ট আর্কাইভ নিরাপদে প্রক্রিয়া করতে দেয়।

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)

বিকল্পের সাথে তুলনা করুন ❯ | আপনার ISO 20022 মাইগ্রেশন পরিকল্পনা করুন ❯ | শুরু করুন ❯