外贸单证单单一致核对(免费)
一句话:把单据之间对不上的地方找出来 —— 不需要付款,也不需要注册。
完全免费:不需要付款、不需要注册、不需要配置任何 API Key,直接调用即可。
什么时候用
- 交单前想确认:发票、装箱单、提单上的发票号 / 信用证号是不是同一个
- 担心某张单据的金额或数量跟别的不一致(这是最常见的银行不符点)
- 想确认装运港 / 目的港 / 船名 / 唛头在各单据上写法一致
- 模板里还留着
【填写…】、XXX、TBD没替换
这个免费版查什么
| # | 检查项 |
|---|---|
| 1 | 关键字段跨单据一致:发票号 / 合同号 / 信用证号 |
| 2 | 金额与币种跨单据一致 |
| 3 | 数量 / 件数 / 重量跨单据一致 |
| 4 | 港口 / 船名 / 唛头跨单据一致 |
| 5 | 模板占位符残留 |
金额会做归一化:48,500.00 与 48500.00 视为同一个数,不会因为写法不同就报错。
只出现在一张单据里的字段不会报 —— 无从比对的事情我们不猜。
怎么用
# 看一眼样例(样例里两张单据用空行分隔)
node scripts/run.mjs --sample
# 核对你的单据
node scripts/run.mjs --input my-docs.json
node scripts/run.mjs --input my-docs.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 | 未预期错误 |
这个免费版不包含
以下检查项不在本版本范围内,调用时也不会执行:
- 行内算术(单价 × 数量 = 金额)
- 分项金额加总与总额一致
- 毛重 − 皮重 = 净重
- 日期顺序(发票 ≤ 提单 ≤ 信用证有效期 / 最迟装运期)
- 信用证金额上限与溢短装比例核对
- 单据份数与正副本份数核对
- 唛头逐行与箱号区间连续性
- 原产地证 / 保险单与发票的关联字段核对
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 行内算术(单价 × 数量 = 金额)
- 分项金额加总与总额一致
- 毛重 − 皮重 = 净重
- 日期顺序(发票 ≤ 提单 ≤ 信用证有效期 / 最迟装运期)
- 信用证金额上限与溢短装比例核对
- 单据份数与正副本份数核对
- 唛头逐行与箱号区间连续性
- 原产地证 / 保险单与发票的关联字段核对
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
- 本工具只做AI比对,不判断单证是否会被银行接受 —— 那是银行与信用证条款的事;
- 「没报问题」不等于「没有问题」:超出上述五类的检查,本版本不执行;
- 材料不足时不给结论,也不会用默认值编一个「没问题」出来;
输出示例
[P0] 跨单据字段不一致
字段「发票号」在各单据上写得不一样:
商业发票「INV-2026-0088」 / 装箱单「INV-2026-0099」
建议:以信用证要求为准统一到同一个写法;改完再逐张核对一遍。
