SW
SW
审计工具箱
细节测试

银行流水核对

银行流水与财务序时账的智能双向核对,采用多层漏斗匹配模型

视频教程


本工具用于自动化解决企业序时账与银行流水的双向核对工作。不仅能处理简单的单笔匹配,还能通过智能聚合算法解决"多笔流水对应一笔凭证"、"跨天汇总记账"等复杂场景。

核心能力

  • 智能拆分:自动将"银行存款"凭证拆分为具体客商明细(模拟会计做账)
  • 多维匹配:采用多层漏斗模型,从高置信度到低置信度逐步匹配
  • 结果输出:生成左右对照的工作底稿,自动对齐 1:N 和 N:M 关系

配置表说明

配置文件路径:input/银行流水核对配置表.xlsx,包含两个 Sheet。

Sheet 1:序时账配置表

参数示例必填说明
序时账路径/data/序时账.xls序时账文件路径
公司列名多公司核对时填写,两个数据源中用于关联的列
账户列名多账户核对时填写
凭证日期列名日期
凭证号列名凭证号码
科目代码(或科目名称)列名科目名称
银行存款科目代码(或科目名称)银行存款-农行-2241筛选序时账中银行流水相关行。多账户填 银行存款,指定账户填具体科目名称
摘要列名摘要
交易对手列名如果序时账已有现成的交易对手列(如"客户"列),直接填列名
客商辅助项列名客户-名称,供应商-名称需从对方科目辅助项提取客商时填写,多个列用英文逗号分隔
借方金额列名借方金额
贷方金额列名贷方金额

交易对手配置(二选一): 填写了"交易对手列名"后将忽略"客商辅助项列名"。如果两个都不填,序时账将不包含交易对手信息。

Sheet 2:银行流水配置表

参数示例必填说明
银行流水路径/data/银行流水.xls
公司列名多公司时填写
账户列名多账户时填写
日期列名交易时间
收入金额列名收入金额
支出金额列名支出金额
交易对手列名对方户名

凭证拆分模式

当配置了"客商辅助项列名"时,系统会自动将一借多贷(或一贷多借)的银行凭证拆分为具体客商明细:

  1. 将凭证行按借贷方分为两组
  2. 通过精确金额匹配和组合匹配找到每个银行行的对方科目
  3. 从对方科目的辅助项中提取客商信息
  4. 只有对方科目有多个不同客商时才拆分,金额始终以银行行自身为准按比例分配
  5. 多银行账户凭证按账户分组独立拆分

匹配层级

系统采用漏斗式逐层匹配,置信度由高到低。所有匹配仅在同月内进行。

L1:交易对手-精准

双方金额完全一致,且客商名称包含匹配。最标准的核对场景。

L2:摘要-精准

双方金额一致,序时账摘要中包含银行流水的对方户名。适用于凭证未挂辅助核算但摘要写了名称的情况。

L3:同客商-定向凑数

同一客商在同日或 3 日内的多笔金额,能否凑成另一边的一笔。解决场景:银行分批打款但会计做了一笔总账,或银行一笔大额但会计拆分记账。

L4:同客商-多对多汇总

将同客商的数据按同日优先、同月兜底的方式打包,总额一致即匹配。解决月底批量汇总记账场景。

L5:语义模糊匹配

当名称写法不同(如"京东"与"京东世纪")时,通过文本相似度算法匹配。使用 rapidfuzz(优先)或 difflib 计算相似性。

置信度相似度阈值说明
大于 92%极大概率是同一家
大于 80%通常是简称或包含关系
大于 65%可能存在差异,建议人工核实

低于 65% 不会被采纳,会掉落到后续层级。

L6:同月金额-独一

没有客商信息,但在该月内这笔金额是唯一的。适用于银行手续费、利息税等场景。

L7:同月金额-定向凑数

按银行流水交易对手分组,将同日/3日内/同月的流水汇总后匹配序时账单笔。支持 N:1 和 N:M 关系。

L8:同月金额-暴力凑数

没有客商信息,纯粹靠数字组合在月中找匹配。支持 1:N(一笔银行流水对应多笔序时账)和 N:1(多笔银行流水对应一笔序时账)两个方向。风险最高。

L9:跨月边界匹配

针对月末月初的跨月未达账项,将月边界附近(每月前 3 天/后 3 天)的未匹配记录调整月份后重跑 L1-L8 全部匹配策略。

输出文件

输出路径:output/银行流水核对/银行流水核对底稿_YYYYMMDD_HHMMSS.xlsx

Sheet 1:核对摘要

每个公司+账户的匹配情况汇总,含金额匹配率和条数匹配率。

Sheet 2:核对明细

左右对照的工作底稿,包含以下列组:

列组内容
基础信息公司、账号
核对结果核对状态(已匹配/未匹配)、匹配编号、匹配类型、交易对手核对
银行流水原始银行流水数据
序时账原始序时账数据
辅助信息计算交易对手(原始)、拆分说明

交易对手核对

此列逻辑独立于匹配类型,只关注匹配上的这组数据双方的名称是否一致:

状态含义触发条件
一致正常双方客商名称一致/包含,或 AI 相似度大于 65%
不一致高风险双方都有客商但完全不匹配且 AI 相似度低
无交易对手无法判断双方客商名称均为空
未匹配未找到对应项该行数据未匹配到对应项

复核建议

  1. 第一优先级:筛选"交易对手核对"为"不一致"的行,必须逐笔检查
  2. 第二优先级:筛选匹配类型包含"L7"或"L6"的行,抽查大额项
  3. 第三优先级:筛选匹配类型包含"L3"或"L4"的行,重点关注拆分项的合理性

常见问题

  • 匹配率很低:检查是否月份不一致(工具只在同月内核对)、金额单位不一致(元 vs 万元)、公司/账号未对齐
  • "在序时账中未找到包含xxx的科目行":确保配置的银行科目名称与序时账中完全一致(含全角/半角符号和空格)
  • "序时账中找不到科目列名":复制 Excel 表头粘贴到配置表中,确保列名一致

实践建议

银行流水核对前,建议先使用「银行流水合并」功能将多个银行的数据标准化合并。核对时,真正提升匹配率的关键是将银行流水按交易对手拆分,以及相同交易对手多笔汇总后核对(L3/L4 层级)。

也可以通过 AI 审计助手(Agent 模式)对话调用银行流水合并与核对功能,不需要手动填写参数,AI 会自动帮你调用工具。