跳转到正文
Ztract
银行 & 信用卡对账单

每一笔交易、每一笔余额、每一页。

银行名称、账户持有人、IBAN、币种、期初期末余额,以及每一笔带借方、贷方和累计余额的日期交易 —— 跨多页对账单可对账。

实时演示

在真实文档上看效果。

点击右侧任一字段,我们会在左侧高亮它的来源位置。

点任意字段或方框,即可联动。
Bank Statement — page 1

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 上传后人工录入的流程。

  • 司法会计

    跨对账单、跨当事人追溯资金流向 —— 每个值都锚定到源页面,审计经得起推敲。

常见问题

常被问到的问题。

Ztract 能处理多页银行对账单吗?
可以。引擎会把跨页交易表拼回一个数组,保持日期顺序。每页重复的表头会被去重,只在封面或末页出现的合计也会被正确归入对应字段。
外币交易怎么处理?
当一笔交易同时印出了当地币种和记账币种金额(比如 USD 账户做 EUR 消费),两个值都会分别返回。对账单上印出汇率时一并捕获。
抽出来的余额能对账吗?
可以。期初余额 + 贷方 − 借方 应等于期末余额。Ztract 会返回这四个值的引擎读出结果;如果对不上,每字段置信度会标出可疑的行,让审核人员在数据下推前先复核。
非英文银行的对账单也能解析吗?
可以。Schema(日期 / 借方 / 贷方 / 余额 / 描述)跟版式语言无关。我们已经在英语、法语、德语、西班牙语、葡萄牙语、日语、韩语和简体中文的对账单上做过测试。
有哪些输出格式?
JSON、CSV 或 Excel。交易数组通常变成多行 sheet 或扁平 CSV;表头字段如 IBAN、opening_balance、closing_balance 作为标量放在独立的 header 块。

用你自己的文档试一下。

免费起步,赠送 30 页。无需信用卡,无需订阅,无需配置。