財務部:MT940 到 CAMT.053 遷移
全球資金團隊正在 SWIFT 截止日期 2027 年 11 月之前從 MT940 遷移到 CAMT.053。銀行對帳單解析器使用單一 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)
自動對帳
自動解析銀行對帳單並與內部記錄進行配對。統一的 DataFrame 輸出使得協調邏輯與格式無關。
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)
合規性與審計管道
通过 PII 修订和确定性输出构建审计就绪管道。對於相同的輸入,每次運行都會產生相同的結果,滿足監管的再現性要求。
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 工作流程
許多銀行透過 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)