invoice-consistency-check-freelisted
Install: claude install-skill chenqg618/compliance-skills
# 票据一致性AI核对(免费)
> 一句话:把票据里**能被算出来、指出来证明是错的**地方找出来,每一条都带原文证据,不需要付款,也不需要注册。
**不需要付款**:不需要注册、不需要配置任何 API Key,直接调用即可。
和「让模型读一遍发票再发表意见」的做法不同,这个工具只做**AI核对**:
每一条结论都是可复算的算术或文本证据(原文、数字、行号),第三方拿同一份输入能得出同样的结果。
**不联网、不外发材料、不调用任何模型**,因此不会出现「看起来很有道理但票面上根本没有」的结论。
## 什么时候用
- 报销前想把一批发票 + 报销单过一遍,看金额、税额、价税合计能不能相互加出来
- 明细行的「数量 × 单价」和「金额」对不上,想直接指出是哪一行、差多少
- 大写金额(壹万肆仟叁佰元整)和小写金额看起来不一样,想确认到底差多少
- 发票抬头与报销单上的单位名称不是同一个主体
- 开票日期晚于报销日期,或者开票日期早于业务发生日期
- 怀疑同一张发票被重复提交了两次
- 定稿前想扫一遍 `XXX`、`TBD`、`待补充`、`__` 这类占位符和空白必填字段
## 这个免费版查什么
| # | 检查项 | 判定依据 |
|---|---|---|
| 1 | 行内算术 | 明细行「数量 × 单价」与同行「金额」不符,报出差额 |
| 2 | 分项加总 | 各明细行金额之和与单据写明的「合计金额 / 小计 / Subtotal」不符 |
| 3 | 税额计算 | 不含税金额 × 税率(13% / 6% / 0.13 都认)与「税额」不符 |
| 4 | 价税合计 | 不含税金额 + 税额 与「价税合计 / Total incl. tax」不符 |
| 5 | 大小写金额一致 | 中文大写(壹佰万元整)/ 英文数字词 与阿拉伯数字不符;同一处写了大小写两个数时直接互校 |
| 6 | 抬头/主体一致 | 发票「购方名称 / 抬头」与报销单「报销单位 / 报销主体 / Company」不是同一个主体 |
| 7 | 日期逻辑 | 非法日历日期(2026-02-30);开票日期晚于报销日期;开票日期早于业务发生日期;同一字段写成两个不同日期 |
| 8 | 重复票检测 | 两张票的发票号码相同;或「金额 + 开票日期 + 销方」三项完全相同 |
| 9 | 占位符/空白残留 | `XXX`、`TBD`、`【…】`、`__`、`____`、`{{var}}`、`[ ]`、`N/A`、`待填`、`待补充`、`to be filled`;以及金额 / 日期 / 号码等必填字段写成空白 |
中英文票据都支持。**每条 finding 都会引用出问题的原文、数字或行号**,不会只说「这里可能有问题」。
## 这个免费版不包含
以下检查项**不在本版本范围内**,调用时也不会执行(会在 `checks_withheld` 里如实列出):
- 发票真伪查验与代码号码规则校验(需要税务端数据)
- 税收分类编码与税率目录核对
- 三单匹配(采购订单、入库单与发票)
- 预算科目与费用归属核对
- 供应商主体资格与失信名单核对
- 差旅与费用标准超标判定
- 红冲作废与发票联次状态一致性核对
- 报销审批链与权限核对
- 异常模式与关联方识别
## 怎么调用
### 方式一:命令行脚本(最省事)
```bash
node scripts/run.mjs --sample
node scripts/run.mjs --input my-