The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Productivity · SKILL.md

triple-match-automation-ap

triple-match-automation-ap

应付三单匹配 — 校验采购订单、收货单和供应商发票的一致性。 适用情形:收到供应商发票时执行,将发票与 PO 和收货单核对, 识别金额/数量/价格差异,输出匹配结论供付款决策。 核心:PO vs GRN vs Invoice 三方交叉核对 + 差异分级处理。

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: triple-match-automation-ap description: > 应付三单匹配 — 校验采购订单、收货单和供应商发票的一致性。 适用情形:收到供应商发票时执行,将发票与 PO 和收货单核对, 识别金额/数量/价格差异,输出匹配结论供付款决策。 核心:PO vs GRN vs Invoice 三方交叉核对 + 差异分级处理。 argument-hint: "[发票号码] [供应商名称] [采购订单号] [发票金额]" last_reviewed: 2026-06 version: 1.0.0 risk_level: high

加载上下文

首次使用时: 读取 ../../CLAUDE.md 获取场景级配置(三单匹配规则/差异容忍度)。


/triple-match-automation-ap — 应付三单匹配

Examples

→ 示例:用户说"收到供应商发票,帮我核对 PO 和收货单,看看金额是否一致",系统应调用本技能,执行三单匹配并识别差异。

→ 示例:用户说"发票金额比 PO 多了 5000 元,业务说价格是后来口头谈的",系统应调用本技能,评估差异性质并给出处理建议。

→ 示例:用户说"三单匹配系统刚上线,帮我抽几个样本验证一下匹配逻辑是否正确",系统应调用本技能,执行三单匹配样本验证。

三单匹配原理

三单:
  PO(Purchase Order):采购订单(合同条款)
  GRN(Goods Receipt Note):收货单(实际收货数量)
  Invoice:供应商发票(供应商开票金额)

匹配逻辑:
  PO 数量 = GRN 数量 = Invoice 数量 → 完全匹配
  PO 单价 × GRN 数量 = Invoice 金额 → 金额匹配

差异类型:
  数量差异:发票数量 vs GRN 数量 vs PO 数量
  金额差异:发票金额 vs PO 金额(含税/不含税)
  价格差异:发票单价 vs PO 单价
  税率差异:发票税率 vs PO 约定税率

第一步:获取三单数据

从 [PO] 获取采购订单:

查询条件:采购订单号

PO 信息:
  - 供应商名称
  - 物料/服务描述
  - PO 数量
  - PO 单价(含税/不含税)
  - 税率
  - 付款条款
  - 合同约定的价格调整条款

从 [RCV] 获取收货记录:

查询条件:采购订单号 / 发票号

GRN 信息:
  - 实际收货数量
  - 收货日期
  - 收货仓库/验收人
  - 是否有部分收货
  - 是否有退货

从 [INV] 获取供应商发票:

查询条件:发票号码 / 供应商名称

Invoice 信息:
  - 发票号码
  - 开票日期
  - 金额(含税/不含税)
  - 税率
  - 物料/服务描述
  - 发票状态(正常/作废/红冲)

第二步:数量匹配

PO 数量:[X]
GRN 数量:[Y]
Invoice 数量:[Z]

数量匹配结果:
  - Z = Y = X:✅ 完全匹配
  - Z = Y < X:⚠️ 部分交货(按实际数量结算)
  - Z < Y:❌ 发票数量少于收货数量(联系供应商)
  - Z > Y:❌ 发票数量多于收货数量(不合理的部分不付款)

处理方式:
  - 按 GRN 数量作为基准(实际收货数量)
  - Invoice 金额按 GRN 数量调整

第三步:价格匹配

PO 单价(不含税):[X元]
GRN 数量:[Y]
PO 金额(不含税)= X × Y:[XXX元]
PO 税额(13%):[XXX元]
PO 价税合计:[XXX元]

Invoice 金额(不含税):[XXX元]
Invoice 税额:[XXX元]
Invoice 价税合计:[XXX元]

差异金额(不含税):[XXX元](Invoice - PO)
差异率:[X%]

差异判断:
  |差异率| ≤ [X]%(如 1%):
    → ✅ 可接受,AP 主管审批后可付款
  |差异率| > [X]%:
    → 🔴 须联系供应商确认,必要时重新开票

第四步:税率匹配

PO 约定税率:[13%]
Invoice 税率:[9%]

税率差异影响:
  - 税额减少:[XXX元]
  - 我方进项抵扣减少:[XXX元]
  - 实际成本增加:[XXX元]

处理方式:
  → 🔴 税率开低(如 13% → 9%)属于供应商少交税
  → 须联系供应商重新开具正确税率的发票
  → 在收到正确发票前,不予付款

第五步:生成匹配结论

═══════════════════════════════════════
三单匹配报告
发票号码:[INV-XXXXXX]
供应商:[供应商名称]
采购订单:[PO-XXXXXX]
匹配日期:[YYYY-MM-DD]
═══════════════════════════════════════

【三单数据】

采购订单(PO):
  数量:[X] | 单价:[XX元] | 金额:[XXXX元] | 税率:[13%]

收货单(GRN):
  数量:[X] | 收货日期:[YYYY-MM-DD]

供应商发票(Invoice):
  数量:[X] | 金额:[XXXX元] | 税率:[13%]

【数量匹配】

PO vs GRN vs Invoice:
  PO=[X] / GRN=[X] / Invoice=[X]
  结果:[✅ 完全匹配 / ⚠️ 部分匹配 / ❌ 差异]

【价格匹配】

PO 金额(不含税):[XXXX元]
Invoice 金额(不含税):[XXXX元]
差异:[XXX元]([+X%])
结果:[✅ 可接受 / 🔴 须核查]

【税率匹配】

PO 税率:[13%]
Invoice 税率:[13%]
结果:[✅ 一致 / 🔴 税率错误]

【匹配结论】

综合结论:[✅ 通过 / ⚠️ 有条件通过 / ❌ 不通过]

可付款金额:[XXXX元]
暂不付款:[XXXX元](差异部分)
原因:[...]

【处理建议】

如有不通过项:
  1. [处理建议一]
  2. [处理建议二]

下一步:[联系供应商重新开票 / AP主管审批后付款 / ...]

═══════════════════════════════════════
置信度:[✅ 高 / ⚠️ 中 / 🔴 低]
═══════════════════════════════════════

升级触发条件

  • 金额差异 > [填空:如 1 万元] 且无合理解释
  • 税率错误(发票税率 < PO 约定税率)
  • 发票数量 > 收货数量
  • 供应商拒绝重新开票
  • 同一供应商连续 3 次出现三单不匹配

Finance Skills — triple-match-automation-ap atomic skill

Saved skills