trade-doc-consistency-freelisted
Install: claude install-skill chenqg618/compliance-skills
# 外贸单证单单一致核对(免费)
> 一句话:把**单据之间对不上**的地方找出来 —— 不需要付款,也不需要注册。
**完全免费**:不需要付款、不需要注册、不需要配置任何 API Key,直接调用即可。
> 不想安装也能用:**同一个检查有网页版**,免注册、免付款 —— <https://www.tokendidi.cn/check>
## 什么时候用
- 交单前想确认:发票、装箱单、提单上的**发票号 / 信用证号**是不是同一个
- 担心某张单据的**金额或数量**跟别的不一致(这是最常见的银行不符点)
- 想确认**装运港 / 目的港 / 船名 / 唛头**在各单据上写法一致
- 模板里还留着 `【填写…】`、`XXX`、`TBD` 没替换
## 这个免费版查什么
| # | 检查项 |
|---|---|
| 1 | 关键字段跨单据一致:发票号 / 合同号 / 信用证号 |
| 2 | 金额与币种跨单据一致 |
| 3 | 数量 / 件数 / 重量跨单据一致 |
| 4 | 港口 / 船名 / 唛头跨单据一致 |
| 5 | 模板占位符残留 |
**金额会做归一化**:`48,500.00` 与 `48500.00` 视为同一个数,不会因为写法不同就报错。
**只出现在一���单据里的字段不会报** —— 无从比对的事情我们不猜。
## 怎么用
```bash
# 看一眼样例(样例里两张单据用空行分隔)
node scripts/run.mjs --sample
# 核对你的单据
node scripts/run.mjs --input my-docs.json
node scripts/run.mjs --input my-docs.json --json
```
入参两种写法,任选:
```json
{ "documents": [
{ "type": "商业发票", "text": "发票号: INV-2026-0088\n信用证号: LC-8891-2026\n总金额: 48,500.00" },
{ "type": "装箱单", "text": "发票号: INV-2026-0088\n信用证号: LC-8891-2026\n总金额: 48,500.00" }
] }
```
或者**直接给纯文本,单据之间空一行**:
```
商业发票 COMMERCIAL INVOICE
发票号: INV-2026-0088
信用证号: LC-8891-2026
总金额: 48,500.00
装箱单 PACKING LIST
发票号: INV-2026-0099
信用证号: LC-8891-2026
总金额: 48,500.00
```
### 退出码
| 码 | 含义 |
|---|---|
| 0 | 已执行检查(有问题或没问题都算执行成功) |
| 1 | 没给入参 |
| 3 | **材料不足 —— 此时不给结论**(既不说一致,也不说不一致) |
| 4 | 入参文件读不到或无法解析 |
| 9 | 未预期错误 |
## 这个免费版不包含
以下检查项**不在本版本范围内**,调用时也不会执行:
- 行内算术(单价 × 数量 = 金额)
- 分项金额加总与总额一致
- 毛重 − 皮重 = 净重
- 日期顺序(发票 ≤ 提单 ≤ 信用证���效期 / 最迟装运期)
- 信用证金额上限与溢短装比例核对
- 单据份数与正副本份数核对
- 唛头逐行与箱号区间连续性
- 原产地证 /