---
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*