Trình phân tích sao kê ngân hàng

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

Kho bạc: Di chuyển MT940 sang CAMT.053

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 năm 2027. Trình phân tích sao kê ngân hàng xử lý cả hai định dạng bằng 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)

Hòa giải tự động

Phân tích báo cáo ngân hàng và tự động đối chiếu với hồ sơ nội bộ. Đầu ra DataFrame hợp nhất làm cho logic điều chỉnh không thể xác định được định dạng.

from bankstatementparser import CamtParser, Deduplicator

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

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

Quy trình tuân thủ và kiểm tra

Xây dựng quy trình sẵn sàng cho việc kiểm tra với tính năng biên tập PII và đầu ra xác định. Mỗi lần chạy đều tạo ra kết quả giống hệt nhau cho cùng một đầu vào, đáp ứng các yêu cầu về độ tái lập 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 làm việc SFTP-to-DataFrame

Nhiều ngân hàng gửi báo cáo qua SFTP. Phân tích cú pháp trực tiếp từ byte mà không cần ghi vào đĩa.

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

Hợp nhất các báo cáo từ nhiều ngân hàng bằng các định dạng khác nhau thành 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 kho lưu trữ ZIP

Xử lý các kho lưu trữ bản sao kê nén một cách an toàn với tính năng bảo vệ bom ZIP tích hợp.

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)