Trường hợp sử dụng

Ứng dụng trong thế giới thực

Bank Statement Parser xử lý các quy trình tài chính thực tế: nhập sao kê PDF ngân hàng, chuyển đổi MT940-sang-CAMT, đối chiếu tự động với xác minh số dư, pipeline tuân thủ, xuất kế toán plaintext, triển khai REST API, quét hàng loạt, và hợp nhất đa ngân hàng.

Nhập sao kê PDF ngân hàng

Kết quả: Phân tích sao kê PDF kỹ thuật số và PDF quét với tự động xác minh số dư — không cần cloud API, không có dữ liệu rời khỏi máy bạn.

Pipeline PDF hybrid định tuyến mỗi PDF qua đường dẫn trích xuất tối ưu và xác minh mọi kết quả.

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

Xử lý sao kê hàng loạt

Kết quả: Quét toàn bộ cây thư mục (hàng trăm PDF, XML, CSV) với tự động chống trùng lặp liên tệp trong một lệnh gọi duy nhất.

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}")

Ngân quỹ: Chuyển đổi MT940 sang CAMT.053

Kết quả: Một lệnh gọi API duy nhất xử lý cả MT940 và CAMT.053 trong thời gian chuyển đổi SWIFT (tháng 11/2025 – tháng 11/2028), loại bỏ nhu cầu pipeline phân tích riêng biệt.

Các nhóm ngân quỹ trên toàn thế giới đang chuyển từ MT940 sang CAMT.053 trước thời hạn SWIFT tháng 11/2027. Bank Statement Parser xử lý cả hai định dạng với một API duy nhất, giúp quá trình chuyển đổi diễn ra liền mạch.

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)

Đối chiếu tự động với xác minh số dư

Kết quả: DataFrames không phụ thuộc định dạng với xác minh Golden Rule và chống trùng lặp phát hiện lỗi và bản sao trước khi chúng vào sổ cái.

Phân tích sao kê ngân hàng, xác minh số dư, và đối sánh tự động với hồ sơ nội bộ.

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)

Kế toán Plaintext (hledger / beancount)

Kết quả: Tự động nhập sao kê PDF ngân hàng và xuất giao dịch đã phân loại sang định dạng hledger hoặc beancount journal.

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

Triển khai REST API

Kết quả: Triển khai Bank Statement Parser dưới dạng microservice nhận tệp sao kê qua HTTP và trả về JSON có cấu trúc.

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

Pipeline tuân thủ và kiểm toán

Kết quả: Đầu ra xác định, tự động ẩn danh PII, và xác minh Golden Rule tạo ra nhật ký sẵn sàng kiểm toán đáp ứng yêu cầu tái tạo theo quy định.

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

Quy trình SFTP-to-DataFrame

Kết quả: Phân tích trực tiếp từ bytes với không cần I/O đĩa, phù hợp tự nhiên với quy trình kết nối ngân hàng qua SFTP và 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()

Hợp nhất đa ngân hàng

Kết quả: Phân tích song song trên HSBC (CAMT), Barclays (MT940), Revolut (CSV), Wise (OFX), và Chase (PDF) tạo ra một tập dữ liệu chuẩn hóa duy nhất.

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"])

Xử lý hàng loạt với tệp ZIP

Kết quả: Bảo vệ ZIP bomb tích hợp (giới hạn tỷ lệ 100:1, giới hạn mục nhập 10 MB, từ chối mục nhập mã hóa) cho phép bạn xử lý các tệp sao kê hàng tháng an toàn.

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)

So sánh với các lựa chọn thay thế ❯ | Lập kế hoạch chuyển đổi ISO 20022 ❯ | Bắt đầu ❯