一句话:把
Bank-GL-match算法 2.0 直接装进 OpenClaw,离线跑出「银行流水 vs 序时账」双向核对结果。
一、开篇:财务人最怕的「18:58 群消息」
周五下班前 10 分钟。
钉钉群里弹出这样一条消息:
「@财务小王 月底了,把这个月对账单核对一下,明天上午 10 点前给我结论。」
你点开附件。
一份 6 万行的银行流水 Excel。 一份 5.8 万行的序时账 Excel。 一份对不上的差额表。
你默默关掉「周五离职信」的 PPT,打开 Sublime。
——这是不是 90% 会计、出纳、共享中心人员的真实日常?
更狠的是,这件事每月都要做一次。 一旦金额写错、交易方录入不一致、时区搞错、对账规则套错,整个月就要从头再来。
今天这篇文章,我要给你介绍一款把「银行流水 vs 序时账」双向核对自动化的开源工具——
bankflow-match-local(基于开源项目 Bank-GL-match 算法 2.0)。
它最近登上了 SkillHub 财务类技能 Top 榜,score 52000。
为什么是它?
因为它不靠云端、不上传数据、不需要 API Key,纯本地 Python 就能跑。
二、这个 Skill 是什么?——3 分钟读懂它
2.1 一句话定义
bankflow-match-local 是一个面向财务对账场景的 OpenClaw Skill。
它把银行对账单(Bank Statement)和企业序时账(General Ledger, GL)这两份 Excel 数据,离线双向核对:
- 哪些记录配上了?
- 哪些记录只存在于银行(企业漏记)?
- 哪些记录只存在于序时账(银行漏打)?
- 月度汇总差额是多少?
2.2 核心算法:算法 2.0
这个 Skill 不是简单按金额匹配。
它来自 戴久耸(daijiaoshou-ds) 2026-05-05 开源的 Bank-GL-match 算法 2.0。
整套算法由四大组件构成:
┌─────────────────────────────────────────────────┐
│ │
│ Bank.xlsx(银行对账单) │
│ GL.xlsx(序时账) │
│ ↓ │
│ ┌──────┴──────┐ │
│ ↓ ↓ │
│ 金额锁定 交易方余弦 │
│ 分仓台 相似度筛选 │
│ ↓ ↓ │
│ └──────┬──────┘ │
│ ↓ │
│ 6 阶段对账策略 │
│ ↓ │
│ 双向核对结果 │
│ + 未匹配差异表 │
│ + 月度汇总表 │
│ │
└─────────────────────────────────────────────────┘
四大组件:
- 金额锁定分仓台 —— 按金额分桶,避免大表全表扫描
- 交易方余弦相似度 —— 用 TF-IDF + 余弦相似度匹配对方名称
- 6 阶段对账策略 —— 渐进式匹配,逐步收敛
- 双向核对 —— 既查找「银行有企业无」,也查找「企业有银行无」
2.3 触发关键词
当你向 OpenClaw 发送:
- 「银行对账」
- 「对账本地」
- 「流水核对」
- 「本地银行流水核对」
- 「银行 vs 序时账」
- 「Bank-GL match」
Skill 就会自动激活。
三、技术架构:它到底是怎么跑起来的?
3.1 整体架构
OpenClaw 宿主
↓
┌───────────────────────────────────────┐
│ bankflow-match-local Skill │
├───────────────────────────────────────┤
│ SKILL.md → 大模型指令入口 │
│ references/ → 知识补充文件 │
│ scripts/ → Python 标准库脚本 │
└───────────────────────────────────────┘
↓
┌───────────────────────────────────────┐
│ Bank-GL-match 算法 2.0 │
├───────────────────────────────────────┤
│ 1. 数据加载层(pandas 读取 Excel) │
│ 2. 预处理层(清洗、归一化) │
│ 3. 匹配层(6 阶段算法) │
│ 4. 输出层(差异表 + 汇总表) │
└───────────────────────────────────────┘
3.2 关键技术决策
为什么纯本地?
财务数据的特点是敏感。
- 不能上云
- 不能交给第三方 LLM
- 不能暴露交易方名称与金额
bankflow-match-local 的回答是:Python 标准库 + pandas + scikit-learn,本地运行,数据不外泄。
为什么算法 2.0?
传统对账算法(算法 1.0)只做单向匹配:银行有 → 找企业有没有。
算法 2.0 引入了双向校验:
- 银行侧:哪些记录企业没记?
- 企业侧:哪些记录银行没打?
- 月度汇总:收支差是多少?
这意味着你一次跑完,就能给老板一个完整对账报告。
四、安装与配置:5 分钟跑起来
4.1 前置环境
- Windows / macOS / Linux
- Python 3.9+
- OpenClaw 0.7+
4.2 安装步骤
方式 A:通过 SkillHub 安装(推荐)
skillhub install skill bankflow-match-local
方式 B:手动安装
# 1. 克隆开源算法
git clone https://github.com/daijiaoshou-ds/Bank-GL-match
# 2. 复制到 Skills 目录
cp -r Bank-GL-match ~/.qclaw/skills/bankflow-match-local/
# 3. 安装依赖
pip install pandas scikit-learn openpyxl
4.3 目录结构
bankflow-match-local/
├── SKILL.md # 大模型调用入口(必读)
├── references/
│ ├── algorithm.md # 算法 2.0 详解
│ └── schema.md # 输入数据字段约定
├── scripts/
│ ├── load_data.py # Excel 加载
│ ├── preprocess.py # 数据清洗
│ ├── match.py # 6 阶段匹配
│ └── report.py # 报告输出
└── templates/
├── bank_template.xlsx
└── gl_template.xlsx
4.4 数据准备
准备两份 Excel:
银行对账单 (bank.xlsx):
| 日期 | 金额 | 交易方 | 摘要 |
|---|---|---|---|
| 2026-06-01 | 5,000.00 | 阿里巴巴集团 | 货款 |
| 2026-06-02 | 1,200.00 | 京东商城 | 采购 |
序时账 (gl.xlsx):
| 日期 | 金额 | 对方科目 | 摘要 |
|---|---|---|---|
| 2026-06-01 | 5,000.00 | 主营业务收入 | 阿里付款 |
| 2026-06-02 | 1,200.00 | 管理费用 | 京东采购 |
4.5 第一次跑
向 OpenClaw 输入:
「帮我核对这两份数据: /data/2026-06-bank.xlsx /data/2026-06-gl.xlsx 输出:双向匹配结果 + 未匹配差异 + 月度汇总」
Skill 会自动执行,输出 3 份报告:
match_result.xlsx—— 成功匹配明细difference.xlsx—— 未匹配差异monthly_summary.xlsx—— 月度汇总
五、实际使用示例:从「18:58 群消息」到「自动出报告」
5.1 场景模拟
你的输入:
「老板让我对一下这个月流水,附件在桌面 bank_june.xlsx 和 gl_june.xlsx,给我三个报告。」
Skill 自动执行:
1. 加载两份 Excel
2. 6 阶段算法匹配
3. 生成差异表
4. 输出月度汇总
最终输出:
📊 月度对账报告
══════════════════════════════════════
匹配成功:58,234 条(99.3%)
仅银行有:186 条(怀疑企业漏记)
仅序时账有:92 条(怀疑银行漏打)
月度差额:-24,500.00(银行少 2.45 万)
══════════════════════════════════════
⚠️ 高风险差异 TOP 10:
1. 06-15 阿里集团 ¥50,000 → 银行有,序时账无
2. 06-18 京东商城 ¥12,000 → 序时账有,银行无
...
5.2 高风险场景识别
Skill 不只是机械匹配,还内置了风控红线:
- 单笔超过 ¥10 万的差异 → 高风险
- 同月同一交易方差异超过 ¥5 万 → 高风险
- 跨月错配(6月录成5月)→ 中风险
这些场景会被优先列出,让你下班前 10 分钟就能交差。
六、优缺点分析:是真神器还是伪需求?
6.1 优点
✅ 纯本地运行 —— 财务敏感数据不出门 ✅ 算法 2.0 双向核对 —— 比传统单向匹配更全面 ✅ 6 阶段策略 —— 避免大表性能问题 ✅ 开源 —— MIT 协议,可商用 ✅ 可直接二次开发 —— Python 脚本全开源
6.2 缺点
❌ 需要规范的数据 —— Excel 字段格式需要标准化 ❌ 不支持扫描版 PDF —— 需要先 OCR 或导出为 Excel ❌ 不处理多币种 —— 暂不支持汇率转换 ❌ 不处理退款冲销 —— 需要人工二次复核 ❌ 学习成本 —— 财务人员需理解「6 阶段」概念
6.3 适用人群 vs 不适用人群
适合:
- 中小企业财务
- 共享中心对账岗
- 会计师事务所初级审计
- 电商企业多账户对账
不适合:
- 大型企业 SAP/Oracle ERP 系统(建议用 SAP 内部对账模块)
- 跨境多币种(需要扩展)
- 数据完全没规范的小作坊(需要先治理)
七、同类工具对比:为什么选它?
| 工具 | 数据安全 | 双向核对 | 月度汇总 | 学习成本 | 费用 |
|---|---|---|---|---|---|
| bankflow-match-local | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ | 免费 |
| 金蝶/用友对账模块 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | 1-2 万/年 |
| Excel VLOOKUP 手工 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐ | ⭐ | 免费 |
| Python 脚本自研 | ⭐⭐⭐⭐⭐ | 取决于开发 | 取决于开发 | ⭐⭐⭐⭐⭐ | 人力成本 |
| 云端 AI 对账 SaaS | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | 按次收费 |
核心差异:和云端 SaaS 相比,数据安全是最大优势。和金蝶用友相比,免费 + 开源是杀手锏。
八、写在最后:财务人的「最后 10 分钟」
财务人最缺的不是努力,是工具。
bankflow-match-local 不能替代你的专业判断, 但能让你的「最后 10 分钟」从加班变成审核 + 签字。
它不是为了取代会计,而是为了让会计不再重复劳动。
行动号召:
- 立即克隆开源项目:
git clone https://github.com/daijiaoshou-ds/Bank-GL-match - 安装到你的 OpenClaw 工作区
- 用本月数据跑一次,比对结果与人工核对
- 把差异报告发给老板,少加一次班
—— END ——
参考资料:
- 开源仓库:GitHub - daijiaoshou-ds/Bank-GL-match: The bank statement matches the subset of the chronological account · GitHub
- 作者:戴久耸(daijiaoshou-ds)
- 算法版本:2.0
- 开源日期:2026-05-05
- SkillHub 主页:https://api.skillhub.cn/user_5d0d5d95/bankflow-match-local
免责声明:本文为 Skill 技术解析,涉及对账结果仅供参考。具体财务工作请以会计师专业判断为准。

773

被折叠的 条评论
为什么被折叠?



