银行流水对账核对(免费)
一句话:把银行流水和企业账面记录贴成两段,逐笔配对、列出两侧未达账项 —— 不需要付款,也不需要注册。
完全免费:不需要付款、不需要注册、不需要配置任何 API Key,直接调用即可。
什么时候用
- 每月末对账:银行流水和企业账对不上,想知道到底是哪几笔
- 想知道银行有、账上没有的有哪些(漏记、手续费、利息、跨月入账)
- 想知道账上有、银行没有的有哪些(已开出未收、在途未达、跨期)
- 怀疑某一笔被重复录入了两次
这个免费版查什么
| # | 检查项 |
|---|---|
| 1 | 逐笔自动配对:金额相等 且 日期相差不超过 3 天 |
| 2 | 未达账项清单:银行有账上无 / 账上有银行无(含笔数与合计) |
| 3 | 单侧重复记录检测(同日期同金额出现两次以上) |
| 4 | 两侧笔数与金额合计的对比表 |
金额会做归一化:1,240.00、1240、-¥1,240.00、(1,240.00) 都被认成同一个数,
不会因为写法不同就报错。摘要文字不参与配对 —— 只认金额和日期,避免被"写法不同"干扰。
怎么用
node scripts/run.mjs --sample
node scripts/run.mjs --input my-recon.json
node scripts/run.mjs --input my-recon.json --json
入参两种写法,任选:
{ "bank": [
{ "date": "2026-05-08", "amount": -1240.00, "memo": "酒店消费" },
{ "date": "2026-05-07", "amount": -86.00, "memo": "出租车" }
],
"book": [
{ "date": "2026-05-08", "amount": -1240.00, "memo": "差旅住宿" },
{ "date": "2026-05-07", "amount": -86.00, "memo": "打车费" }
] }
或者直接给纯文本:先写一行「银行」、再写一行「账面」,各自下面按行写「日期 金额 摘要」:
银行
2026-05-08 -1240.00 酒店消费
2026-05-07 -86.00 出租车
账面
2026-05-08 -1240.00 差旅住宿
2026-05-07 -86.00 打车费
日期支持 2026-05-08、2026/5/8、2026年5月8日。
退出码
| 码 | 含义 |
|---|---|
| 0 | 已执行检查 |
| 1 | 没给入参 |
| 3 | 材料不足 —— 此时不给结论(既不说"账平",也不说"账不平") |
| 4 | 入参文件读不到或无法解析 |
| 9 | 未预期错误 |
这个免费版不包含
以下检查项不在本版本范围内,调用时也不会执行:
- 可疑配对(金额相近但不相等,差在容差内 —— 常在手续费、汇差、笔误)
- 疑似跨期未达(另一侧有同金额记录,但日期超出匹配窗口)
- 对账恒等式校验(银行合计 − 账面合计 = 银行未达 − 账面未达)
- 自定义匹配窗口与金额容差(dayWindow / toleranceAbs)
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 可疑配对(金额相近但不相等,差在容差内)
- 疑似跨期未达(另一侧有同金额记录,但日期超出匹配窗口)
- 对账恒等式分析(成立性结论与口径诊断;防误读自检免费档也有)
- 自定义匹配窗口与金额容差(dayWindow / toleranceAbs)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
- 本工具只做逐笔配对与找差异,不判断哪些差异该做未达账项调整 —— 那是会计的事;
- 不识别银行手续费/利息等业务性质,不自动入账;
- 不核对银行流水本身的真伪,也不连接银行或财务系统取数(只处理你贴进来的文本);
- 「没报问题」不等于「没有问题」:超出上述四项的检查,本版本不执行;
- 材料不足时不给结论,也不会用默认值编一个「账平了」出来;
输出示例
[P1] 银行流水存在重复记录
银行流水里有 2 笔日期与金额完全相同:2026-05-12 -5000(摘要:采购付款 / 采购付款)。
建议:可能是重复录入,也可能是真实的两笔同额业务;请核对凭证号。
[P2] 对账汇总
银行流水 6 笔(合计 -11616)、企业账面 4 笔(合计 -6587.5):
成功配对 3 对,银行侧未达 3 笔(合计 -5290)、账面侧未达 1 笔(合计 -261.5)。
