SKILL.md
5.9 KB查看源码两表对账助手#
两张表的数对不上时,找出到底差在哪几行——不是重新算一遍总额,而是把钱少在哪一笔点出来。
能做什么:输入两张表(文字或粘贴的表格),输出三类差异清单(只在 A、只在 B、金额不一致)+ 各类条数与差额合计 + 一句结论。 带不带脚本:不带任何脚本,纯文字说明,不需要装任何东西。 联不联网:不联网,全部在对话里完成。 写不写文件:默认只在对话里输出结果,不写文件;用户要求存档时才输出成表格文本。
什么时候用#
- 用户说“对一下账”“这两张表怎么对不上”“帮我找出漏了哪几笔”“差异在哪”。
- 一张是业务表(订单、发货、开票、报销),另一张是财务或系统表(回款、银行流水、ERP 导出、台账),两边都该有同一批业务。
- 月末、季末、交接前要出一份“差异说明”给领导或对方单位。
不适用的情况:只有一张表要查错(那是数据清洗);两张表比的是不同口径的业务(如“发货”对“开票”,先确认能不能直接对,见下面第 1 条)。
怎么做#
-
先定对账口径,用户没说就一次问清三件事,别猜:
- 主键:用哪一列判定“同一笔”(单号 / 合同号 / 发票号 / 日期+金额)。
- 金额列:比哪一列(含税还是不含税、应收还是实收),两边必须是同一个口径。
- 期间:截止到哪一天,两张表是否同区间。
-
先做键值归一,不归一就一定会伪造差异。按顺序处理:
- 去掉首尾空格、全角空格;
- 全角字符转半角(
()→()、:→:、全角数字); - 单号里的
-_/空格统一,去掉前导0(如00123与123视为同一笔),但纯数字主键长度不同且可能是不同单据时,先问一句再合并; - 日期统一成
YYYY-MM-DD,2026/11/5、2026.11.05、20261105归成同一格式; - 金额去掉千分位逗号、货币符号、
元字,负数用-表示((1,200.00)视为-1200.00)。
-
分类,每条记录只能落进一个桶:
- 只在 A:A 有、B 无(通常是对方漏记或还没入账);
- 只在 B:B 有、A 无(通常是这边漏开单或重复入账);
- 金额不一致:主键对上了,金额差值绝对值 > 0.01;
- 重复:同一主键在一张表里出现 2 次以上,单独列出,不进上面三类。
-
算差额,三个数都要给:
- 差额合计 = A 金额合计 − B 金额合计;
- 差额构成 = 只在 A 合计 − 只在 B 合计 + 金额不一致差值合计;
- 两个数必须相等,不相等说明有记录没归类,回去补。
-
容差:金额差 ≤ 0.01 视为一致(浮点误差),不列入不一致;用户另有容差要求按其执行,并写在表下。
输出格式#
顺序固定:一句结论 → 差异汇总 → 三张明细表 → 处理建议。
结论句式(一句话,带数字):
A 共 128 笔合计 486,200.00 元,B 共 126 笔合计 479,950.00 元,差额 6,250.00 元,集中在 5 笔:只在 A 3 笔、只在 B 1 笔、金额不一致 1 笔。
汇总表固定 5 列:
| 类别 | 笔数 | A 侧金额 | B 侧金额 | 差额 |
|---|
明细表统一用这 7 列,顺序不改:
| 序号 | 主键 | 类别 | A 金额 | B 金额 | 差额 | 说明 |
|---|
- 「类别」只写这五个词之一:只在 A / 只在 B / 金额不一致 / 重复 / 已对上(明细表不列已对上)。
- 明细按差额绝对值从大到小排,最大的排第一。
- 「说明」写能直接查证的一句话,例如“B 侧无此单号”“A 记 1,200.00,B 记 1,000.00,差 200.00”“该单号在 A 出现 2 次”。
- 主键、单号、发票号一律照原文抄,不改格式、不补位。
- 表下固定一行注:
容差 0.01 元;主键为 <列名>;期间 <起> 至 <止>;未做汇率换算。
处理建议 2~4 条,每条指向具体记录,例如“只在 A 的 3 笔均为 10 月下旬发货,先查 B 侧是否未入账,不要直接补记”。
必须遵守#
- 不许自己补数据。任何金额、单号、日期只能用用户给的值;缺列就停下来要,不拿“估计”“大概”填空。
- 不许悄悄改主键。做了归一(去前导 0、全角转半角、日期格式)必须在表下注里写明改了哪一项,让用户能复核。
- 两张表口径不同时先停。含税 vs 不含税、应收 vs 实收、发货 vs 开票,直接对出来的差额全是假的;先说明差异来源,用户确认后再对。
- 差额必须闭环。三个数(总差额、构成差额、明细加总)对不上就是没做完,不交付。
- 重复记录单列,不许合并成一条了事——重复入账往往就是差额的根源。
- 不替用户判定谁对谁错。只说“哪边少了、差多少”,不说“应该是 B 记错了”;除非用户给了判定依据。
- 表格对外发出时,单号可保留,客户名、开户行、账号、身份证号一律打码(保留前 2 位后 2 位,中间用
*),并提醒一句这张表含交易明细。 - 数据量超过 300 行时,先按类别汇总、只列差额绝对值前 20 条明细,并注明“其余 N 条同类差异未列,可按类别单独展开”,不要硬塞一张读不完的表。
文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。

