mcpField
P
purchase-order-summarization

purchase-order-summarization

github.com/happy-technologies-llc其他4141 次安装2 天前更新
代码仓库

关于 purchase-order-summarization

面向采购人员的 ServiceNow Sourcing and Procurement Operations 采购订单汇总技能,帮助查看订单状态、预算和交付风险。它整合 PO 主记录、明细、收货记录与供应商信息。

主要功能

  1. 01获取 PO 主记录和明细
  2. 02跟踪收货进度
  3. 03比较 PO 支出与预算
  4. 04识别交付延迟风险
  5. 05关联订单与采购申请

适用场景

  1. 01查看采购订单的完整状态
  2. 02跟踪承诺交付情况
  3. 03评估预算消耗
  4. 04查找可能延迟交付的订单

MCP 相关

该技能说明如何使用 SN-Get-Record 和 SN-Query-Table 等 MCP 工具获取采购订单、明细、收货记录及供应商记录。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill purchase-order-summarization

安装后在 Claude Code 中输入/purchase-order-summarization确认已加载。

详细介绍

采购订单摘要

概述

此技能提供了一种结构化方法,用于汇总 ServiceNow Sourcing and Procurement Operations 中的采购订单。它可以帮助你:

  • 从 proc_po 和 proc_po_item 获取完整的 PO 详情,包括所有行项目
  • 通过 proc_rec_slip_item 跟踪交付状态和收货进度
  • 将 PO 支出与计划预算进行比较,评估预算影响
  • 根据预期交付日期和收货缺口,识别存在延迟交付风险的订单
  • 将 PO 关联回最初的请购单和申请的项目

适用场景: 采购人员需要查看 PO 状态汇总、根据承诺跟踪交付情况,或评估预算消耗和交付风险时。

前提条件

  • 角色: sn_procurement.manager、sn_procurement.analyst 或 procurement_user
  • 插件: 已激活 com.sn_procurement(Sourcing and Procurement Operations)
  • 访问权限: 对 proc_po、proc_po_item、proc_rec_slip_item、core_company、sc_req_item 的读取权限
  • 知识: 了解所在组织的 PO 生命周期状态和交付 SLA

操作步骤

步骤 1:获取采购订单抬头信息

获取供应商、金额和日期等 PO 核心详情。

使用 MCP(Claude Code/Desktop):

Tool: SN-Get-Record
Parameters:
  table_name: proc_po
  sys_id: [po_sys_id]
  fields: sys_id,number,vendor,total_cost,state,ordered_date,expected_delivery,currency,ship_to,bill_to,requested_by,purchase_order_type,payment_terms,contract,description,short_description

按 PO 编号搜索:

Tool: SN-Query-Table
Parameters:
  table_name: proc_po
  query: number=PO0012345
  fields: sys_id,number,vendor,total_cost,state,ordered_date,expected_delivery,currency,ship_to,bill_to,requested_by,purchase_order_type,payment_terms,contract
  limit: 1

使用 REST API:

GET /api/now/table/proc_po?sysparm_query=number=PO0012345&sysparm_fields=sys_id,number,vendor,total_cost,state,ordered_date,expected_delivery,currency,ship_to,bill_to,requested_by,purchase_order_type,payment_terms,contract&sysparm_limit=1&sysparm_display_value=true
步骤 2:获取行项目

获取采购订单中的所有行项目。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: proc_po_item
  query: purchase_order=[po_sys_id]^ORDERBYline_number
  fields: sys_id,line_number,item_description,model,part_number,quantity,unit_price,total_cost,received_quantity,state,expected_delivery,cat_item,requested_item
  limit: 100

使用 REST API:

GET /api/now/table/proc_po_item?sysparm_query=purchase_order=[po_sys_id]^ORDERBYline_number&sysparm_fields=sys_id,line_number,item_description,model,part_number,quantity,unit_price,total_cost,received_quantity,state,expected_delivery,cat_item,requested_item&sysparm_limit=100&sysparm_display_value=true
步骤 3:检查收货状态

查询收货单项目,确定已交付的内容。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: proc_rec_slip_item
  query: purchase_order=[po_sys_id]^ORDERBYreceived_date
  fields: sys_id,po_item,quantity_received,received_date,receiving_slip,condition,notes,accepted_quantity,rejected_quantity
  limit: 100

使用 REST API:

GET /api/now/table/proc_rec_slip_item?sysparm_query=purchase_order=[po_sys_id]^ORDERBYreceived_date&sysparm_fields=sys_id,po_item,quantity_received,received_date,receiving_slip,condition,notes,accepted_quantity,rejected_quantity&sysparm_limit=100&sysparm_display_value=true
步骤 4:获取供应商详情

获取供应商信息作为参考。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: core_company
  query: sys_id=[vendor_sys_id]
  fields: sys_id,name,stock_symbol,vendor_type,city,state,country,phone,contact,vendor_rating
  limit: 1

使用 REST API:

GET /api/now/table/core_company/[vendor_sys_id]?sysparm_fields=sys_id,name,vendor_type,city,state,country,phone,contact,vendor_rating&sysparm_display_value=true
步骤 5:识别延迟交付风险

查询预期交付日期已过但项目仍未收货的 PO。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: proc_po
  query: expected_delivery<javascript:gs.nowDateTime()^state=ordered^ORstate=partially_received
  fields: sys_id,number,vendor,total_cost,expected_delivery,ordered_date,state
  limit: 50
  order_by: expected_delivery

进行行项目级别的风险评估:

Tool: SN-Query-Table
Parameters:
  table_name: proc_po_item
  query: expected_delivery<javascript:gs.nowDateTime()^received_quantity<quantity^stateNOT INcancelled,received
  fields: sys_id,purchase_order,item_description,quantity,received_quantity,expected_delivery,state
  limit: 50
  order_by: expected_delivery

使用 REST API:

# POs past expected delivery
GET /api/now/table/proc_po?sysparm_query=expected_delivery<javascript:gs.nowDateTime()^state=ordered^ORstate=partially_received&sysparm_fields=sys_id,number,vendor,total_cost,expected_delivery,ordered_date,state&sysparm_limit=50&sysparm_display_value=true

# Line items past expected delivery with outstanding quantities
GET /api/now/table/proc_po_item?sysparm_query=expected_delivery<javascript:gs.nowDateTime()^received_quantityLESSTHANquantity^stateNOT INcancelled,received&sysparm_fields=sys_id,purchase_order,item_description,quantity,received_quantity,expected_delivery,state&sysparm_limit=50&sysparm_display_value=true
步骤 6:关联最初的申请

追踪 PO 行项目对应的申请项目和请购单。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: sc_req_item
  query: sys_id=[requested_item_sys_id]
  fields: sys_id,number,short_description,request,requested_for,state,stage,price,quantity
  limit: 1

使用 REST API:

GET /api/now/table/sc_req_item/[requested_item_sys_id]?sysparm_fields=sys_id,number,short_description,request,requested_for,state,stage,price,quantity&sysparm_display_value=true
步骤 7:编写 PO 摘要

汇总收集到的数据:

=== PURCHASE ORDER SUMMARY ===
PO Number: PO0012345
State: [state] | Type: [purchase_order_type]
Vendor: [vendor_name] ([city], [country])
Ordered: [ordered_date] | Expected Delivery: [expected_delivery]
Total Cost: [currency] [total_cost]

LINE ITEMS: [count] items
| # | Description | Qty | Unit Price | Total | Received | Status |
|---|------------|-----|-----------|-------|----------|--------|
| 1 | [desc]     | 100 | $10.00    | $1,000| 100      | Received |
| 2 | [desc]     |  50 | $25.00    | $1,250|  30      | Partial  |
| 3 | [desc]     |  25 | $50.00    | $1,250|   0      | Ordered  |

RECEIPT STATUS:
Total Items: [total_qty] | Received: [received_qty] ([pct]%)
Fully Received Lines: [count] of [total_lines]
Last Receipt Date: [date]

DELIVERY RISK:
- Line 2: 20 units outstanding, [days] days past expected delivery
- Line 3: 25 units not yet shipped, delivery due in [days] days

BUDGET IMPACT:
Requisition: REQ0009876 | Requested By: [name]
Original Estimate: $[est] | PO Total: $[actual] | Variance: $[diff] ([pct]%)

RELATED INVOICES:
- INV-2024-0456: $[amount] - [state]

工具使用

MCP 工具参考
工具使用场景
SN-Query-Table查询 PO、行项目、收货记录、供应商和请购单
SN-Natural-Language-Search使用自然语言搜索(例如,“查找 Dell 的逾期采购订单”)
SN-Get-Record获取包含所有字段的单条 PO 记录
REST API 参考
端点方法用途
/api/now/table/proc_poGET查询采购订单
/api/now/table/proc_po_itemGET获取 PO 行项目
/api/now/table/proc_rec_slip_itemGET检查收货状态
/api/now/table/core_companyGET供应商详情
/api/now/table/sc_req_itemGET最初申请的项目
/api/now/table/sn_spo_requisitionGET请购单详情
/api/now/table/sn_proc_invoiceGET相关发票

最佳实践

  • 跟踪部分收货: 始终在行项目级别比较 received_quantity 和 quantity,而不仅仅是比较 PO 总量
  • 尽早标记逾期项目: 设置风险阈值(例如,预期交付日期前 3 天仍未收货)
  • 结合供应商背景信息: 供应商评级和历史记录可为风险评估提供重要背景信息
  • 与预算进行比较: 始终将 PO 支出关联回最初的请购单,以跟踪预算偏差
  • 使用显示值: 添加 sysparm_display_value=true,以获取易读的供应商名称和状态
  • 检查变更: 查找 PO 修订历史记录或相关 PO,确认是否存在变更单

故障排除

“未找到 PO 行项目”

原因: PO 可能是在未包含行项目的情况下创建的,或者项目位于关联表中 解决方案: 验证 proc_po_item 上的 purchase_order 引用字段是否与 PO sys_id 匹配;检查项目是否使用自定义行项目表

“已接收数量超过订购数量”

原因: 供应商超量发货,或收货单条目重复 解决方案: 按 po_item 查询 proc_rec_slip_item,检查是否存在重复项;与仓库收货团队核实

“预计交付日期为空”

原因: 创建 PO 时未填充此字段 解决方案: 检查各行项目的 expected_delivery 字段,这些字段可能单独设置;联系供应商获取最新交付时间预估

“无法将 PO 关联到申请”

原因: PO 可能是在未关联申请的情况下直接创建的 解决方案: 检查 PO 行项目上的 requested_item 字段;或者按供应商和日期范围搜索 sn_spo_requisition

示例

示例 1:单个 PO 摘要

场景: 为状态会议总结 PO0023456。

Tool: SN-Query-Table
Parameters:
  table_name: proc_po
  query: number=PO0023456
  fields: sys_id,number,vendor,total_cost,state,ordered_date,expected_delivery,currency
  limit: 1
Tool: SN-Query-Table
Parameters:
  table_name: proc_po_item
  query: purchase_order.number=PO0023456
  fields: line_number,item_description,quantity,unit_price,total_cost,received_quantity,state
  limit: 50

输出:

PO0023456 - SUMMARY
Vendor: TechSupply Inc | State: Partially Received
Ordered: Feb 28, 2026 | Expected: Mar 15, 2026 (4 DAYS OVERDUE)
Total: $47,500.00

LINE ITEMS:
1. Laptop Dell Latitude 5540 x20 @ $1,200 = $24,000 - RECEIVED (20/20)
2. Docking Station WD22TB4 x20 @ $350 = $7,000 - RECEIVED (20/20)
3. Monitor Dell U2723QE x40 @ $412.50 = $16,500 - PARTIAL (25/40)

RISK: Line 3 has 15 monitors outstanding, 4 days past expected delivery.
ACTION: Contact TechSupply for updated ETA on remaining monitors.
示例 2:延迟交付风险报告

场景: 生成所有存在延迟交付风险的 PO 报告。

Tool: SN-Query-Table
Parameters:
  table_name: proc_po
  query: expected_delivery<javascript:gs.nowDateTime()^stateINordered,partially_received^ORDERBYexpected_delivery
  fields: number,vendor,total_cost,expected_delivery,state
  limit: 25

输出:

LATE DELIVERY RISK REPORT - Mar 19, 2026

OVERDUE (past expected delivery):
1. PO0023456 - TechSupply Inc - $16,500 remaining - 4 days overdue
2. PO0023401 - Office Depot - $3,200 remaining - 7 days overdue
3. PO0023389 - Cisco Systems - $142,000 remaining - 12 days overdue

AT RISK (delivery within 3 days, no receipt activity):
4. PO0023501 - AWS Corp - $28,000 - due Mar 21
5. PO0023498 - Grainger - $5,600 - due Mar 22

TOTAL AT RISK: $195,300 across 5 POs
RECOMMENDED: Escalate PO0023389 (Cisco) - 12 days overdue, high value.
示例 3:预算影响分析

场景: 将 Q1 的 PO 实际金额与申请预估金额进行比较。

Tool: SN-Query-Table
Parameters:
  table_name: proc_po
  query: ordered_date>=2026-01-01^ordered_date<2026-04-01^state!=cancelled
  fields: number,vendor,total_cost,ordered_date,state
  limit: 200

输出:

Q1 2026 BUDGET IMPACT
Total POs Issued: 67
Total Committed: $1,245,600
Total Received/Invoiced: $892,300
Outstanding Commitments: $353,300

BY CATEGORY:
  IT Hardware: $456,000 (37% of total)
  Software Licenses: $312,000 (25%)
  Office Supplies: $98,600 (8%)
  Professional Services: $379,000 (30%)

VARIANCE FROM BUDGET:
  Allocated: $1,400,000
  Committed: $1,245,600
  Remaining: $154,400 (11% under budget)

相关技能

  • procurement/invoice-management - 三方匹配和发票处理
  • procurement/procurement-summarization - 采购案例和管道概览
  • procurement/sourcing-summarization - 寻源活动和投标分析
  • procurement/supplier-recommendation - 供应商绩效和评分
  • catalog/request-fulfillment - 跟踪目录请求的履行情况

评论

支持 Markdown