每一笔交易、每一笔余额、每一页。
银行名称、账户持有人、IBAN、币种、期初期末余额,以及每一笔带借方、贷方和累计余额的日期交易 —— 跨多页对账单可对账。
实时演示
在真实文档上看效果。
点击右侧任一字段,我们会在左侧高亮它的来源位置。
Extracted fields
Transactions
| Date | Debit | Credit | Balance | Description |
|---|---|---|---|---|
示例数据。真实引擎输出。
概览
什么是银行对账单数据抽取?
银行对账单数据抽取,就是把多页交易历史 PDF 变成干净、可对账的结构化数据。这个场景是贷款核保、现金流预测、司法会计,以及任何聚合无 Open Banking API 银行账户的 C 端应用的核心。手工做一份要敲一小时;用正则做的话,银行稍微改下版式就全崩。
在一份典型对账单上,Ztract 会抽出 银行名称、账户持有人、账号 和 IBAN;币种 和 对账周期;期初余额 和 期末余额;汇总的 借方合计 和 贷方合计;以及完整的 交易表格,每行含日期、描述、借方、贷方和累计余额。上方样本是一份 15 笔交易的 HSBC 欧元账户 —— 余额正好对得上期末合计,说明跨页时没有遗漏或错位。
对账单跑 20+ 页是常态。每页顶部都重复列标题,汇总块在不同位置以不同格式出现,待结算和已结算交易在不同区块。Ztract 保持交易顺序,去重重复的表头,并给待结算交易打标,避免下游对账重复计算。多行交易描述 —— 在电汇和 SEPA 信贷里很常见 —— 会跟正确的那一行绑在一起。
难点
这里为什么并不简单。
这一类文档比表面更难处理的几个原因 —— 以及我们的应对方式。
-
20+ 页的长表格
对账单很长。每页都重复表头;我们保持列对齐,整份文档里的交易按时间顺序排列。
-
多行交易描述
电汇和 SEPA 信贷会带两三行备注。我们把这些行作为同一笔交易保留,不会被拆成孤立的行。
-
外币交易
USD 账户里的 EUR 消费:记账币种和当地币种的金额会分别返回,对账单上印出汇率时一并捕获。
-
待结算 vs 已结算
待结算交易在它自己的区块里,格式也不同。我们打上标签,避免下游对账把还没清算的交易重复算一次。
谁在用
这些工作流用得上。
-
贷款核保
把 12 个月的对账单拉成一份可核对的现金流视图 —— 运营不用再手敲每一行。
-
记账类应用
为没接入 Open Banking API 的银行账户做交易分类 —— 不再走 PDF 上传后人工录入的流程。
-
司法会计
跨对账单、跨当事人追溯资金流向 —— 每个值都锚定到源页面,审计经得起推敲。
常见问题