银行对账单解析器

将 CAMT.053、PAIN.001、CSV、OFX、QFX 和 MT940 解析为 pandas DataFrame。 27K+ tx/s、流媒体、PII 修订、零网络调用。

pip 安装银行对账单解析器

Bank Statement Parser 是一个开源 Python 库,可将七种格式(CAMT.053、PAIN.001、CSV、OFX、QFX、MT940 和 PDF)的银行对账单解析为结构化 pandas DataFrame。所有处理在本地运行——确定性输出、自动 PII 脱敏,以及可选的混合 PDF 管道(需要时通过本地 LLM 路由)。

快速上手

pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format

fmt = detect_statement_format("statement.xml")
parser = create_parser("statement.xml", fmt)
df = parser.parse()  # pandas DataFrame, ready to use
# Parse PDFs with the hybrid pipeline (v0.0.5+)
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
GitHub StarsMonthly DownloadsPyPI VersionPythonLicenseTestsCoverage

一个库,七种格式

使用单一统一 API 将 CAMT.053、PAIN.001、CSV、OFX、QFX、MT940 和 PDF 解析为结构化 pandas DataFrame。无需为每种格式安装单独的包。

特性Bank Statement Parser单格式开源库(mt940、ofxparse)SaaS(Ocrolus、Parseur)
支持格式数7,统一 API各 1 种多种(通过 OCR)
PDF 支持混合管道(确定性 + LLM + 视觉)有(云端 OCR)
数据隐私100% 本地(LLM 通过 Ollama 本地运行)100% 本地数据发送至外部
费用免费,Apache 2.0免费$49-$1,000+/月
余额校验黄金法则(期初余额 + 贷方 − 借方 = 期末余额)视情况而定
PII 脱敏内置,默认开启视情况而定
流式处理有界内存不适用
REST API内置 FastAPI 微服务
去重幂等交易哈希部分支持
账本导出hledger + beancount

混合 PDF 管道

Bank Statement Parser v0.0.5+ 包含三路混合 PDF 银行对账单管道:

每次提取均通过黄金法则校验:期初余额 + 贷方 − 借方 == 期末余额

专为 ISO 20022 迁移而构建

SWIFT 已设定明确截止日期:所有金融机构必须在 2027 年 11 月前接收 CAMT.053,MT940/MT942/MT950 将于 2028 年 11 月完全退役。Bank Statement Parser 在单一 API 中同时处理传统 MT940 和现代 ISO 20022 格式(CAMT.053、PAIN.001),让您的解析管道在迁移期间及之后均可正常运行。

性能

为什么选择 Bank Statement Parser?

面向生产环境

Bank Statement Parser 专为处理敏感财务数据的资金管理团队、金融科技开发者和合规人员设计。该库应用于 MT940 到 CAMT 迁移管道、自动对账系统、PDF 对账单摄取以及金融机构的监管审计工作流。

正在评估替代方案? 查看 Bank Statement Parser 的对比 ❯ | 探索实际使用场景 ❯

开始使用 ❯ | 在 GitHub 上查看 ❯ | 在 PyPI 上查看 ❯