三单匹配AI核对(付费版)
> 一句话:把采购订单、入库单、发票放在一起核一遍,每条结论都带原文行号,可被第三方复算。
> 按次计费:单次 ¥0.99,在对话内完成支付后立即返回结果。
为什么值得
应付账款的标准动作是"三单匹配"——确认订购了、收到了、才付款。
漏掉它会多付、错付、重复付款,金额直接是钱。单次 ¥0.99 换付款前扫一遍。
查什么(13 项)
- 关键字段跨单据一致:采购订单号 / 供应商 / 物料
- 数量 / 单价 / 金额跨单据一致
- 重复发票号线索
- 模板占位符残留
- 行内算术:数量 × 单价 = 金额
- 税额与价税合计自洽:不含税 + 税额 = 价税合计
- 发票数量 vs 入库数量的容差核对
- 发票金额 vs 订单金额的容差核对
- 订单数量 vs 入库数量的容差核对
- 同一物料的单价跨单据偏离提示
- 日期逻辑(订单 ≤ 入库 ≤ 发票)
- 付款条款与账期字段核对
- 单据类型识别与缺失提示
容差怎么给
# 默认:容差 0.01 元(即"必须一致")
node scripts/three-way-match-paid.mjs --input payload.json
# 允许 2% 的相对偏差
node scripts/three-way-match-paid.mjs --input payload.json --tolerance-pct 0.02
# 或允许 1 元的绝对偏差
node scripts/three-way-match-paid.mjs --input payload.json --tolerance-abs 1
也可以在 payload 里写 "tolerancePct": 0.02 / "toleranceAbs": 1。
怎么用
node scripts/three-way-match-paid.mjs --sample
node scripts/three-way-match-paid.mjs --json --input payload.json
入参两种写法:
{ "documents": [
{ "type": "采购订单", "text": "采购订单号: PO-1\n供应商: 河南甲物资\n数量: 100\n金额: 1000.00" },
{ "type": "入库单", "text": "采购订单号: PO-1\n供应商: 河南甲物资\n数量: 100\n金额: 1000.00" },
{ "type": "发票", "text": "发票号: INV-1\n采购订单号: PO-1\n数量: 100\n金额: 1000.00" }
] }
或者直接给纯文本,单据之间空一行。
关于付款(本技能不碰钱)
- 首次调用返回 HTTP 402 与一份
Payment-Needed账单(单次 ¥0.99); - 付款成功后 alipay-bot 会自动携凭证重发同一请求并取回结果。
边界(本工具不做的事)
- 不判断这笔付款是否应当发生 —— 那是财务制度与审批流程的事;
- 不做发票真伪查验,不查供应商主体资格与失信名单;
- 不给税务、审计或法律意见;
- 不做 OCR:需要你先从扫描件/图片里把文字贴进来;
- 「没报问题」不等于「没有问题」:超出上述 13 项的检查不执行;
- 材料不足时不给结论,绝不用默认值编一个「没问题」出来。