打造订单处理Claude技能
想象一下: 您经营一家制造公司。现在是周五下午4:47。您的客户刚刚发来了一份制造工作的采购订单(PO)。PO中列出的每个产品都引用了单独的物料清单(BoM),这些清单以单独的PDF形式提供,包含详细的技术要求。您的价格表有数百个项目。
您需要:
- 从PO中提取订单详情
- 将每个行项目(产品)与其对应的BoM匹配
- 在价格表中查找每个产品的当前价格
- 计算每个产品的批量折扣和许多其他可能的费用
- 应用运费、税费和其他规则
- 按照公司模板生成销售订单文档 - 创建显示每个计算的审计追踪
您显然需要大量时间来手动处理。每个字段都必须正确提取,每个计算都必须经过验证。
如果AI能在几分钟内完成会怎样?
如果您可以告诉AI:"处理这个采购订单",然后它就能完成,会怎样?
这正是我们将在本文中要做的事情。我们将构建一个Claude技能,将此流程转化为单一命令。
1、介绍
处理采购订单(PO)需要从PO中提取结构化信息,例如项目名称、尺寸、数量和参考资料。然后需要将这些字段与主定价电子表格进行匹配,以确定单价和各种费用,例如处理费、切割费、测试费、认证费等。
这些计算通常涉及多个决策点,例如批量折扣、交付条件、特殊包装规则和税收政策。虽然客户可能会在采购订单中包含预估价格,但由于供应商价格或内部政策的变化,这些数字可能已经过时或不正确。因此,供应商必须自己重新计算所有内容。
在许多情况下,采购订单可能会分散在多个物料清单(BoM)中,每个清单都包含单个项目的详细技术规格。处理这样的订单需要从PO中提取行项目,从每个BoM中提取相应的材料详情,在主价格表中找到正确的价格,应用定价规则和条件逻辑,最后生成包含清晰价格明细的完整销售订单。
这个过程耗时、手动且容易出错。同时,它是高度重复的,这使其成为自动化的绝佳候选。
然而,在这里应用AI并非易事。工作流程需要文档解析、跨多个文件的可靠信息提取、多步计算,以及将所有结果合并到最终的、可审计的销售订单中的能力。
这就是Claude技能可以提供帮助的地方。
仓库链接包括设置和使用技能的详细指南,以及示例数据。
让我们深入了解。
2、愿景
目标是自动化采购订单处理,使其无论信息结构如何都能工作。
我们将专注于一个更复杂的示例,其中采购订单有多个行项目,每个项目都链接到自己的BoM。虽然确切的字段、定价规则和计算逻辑可能因行业和公司而异,但核心自动化理念保持不变。
自动化工作流程预计每次都遵循固定的步骤序列。
步骤1:收集输入文档
工作流程从收集所有必需和可选的输入开始:
- 采购订单 (必需)
- 物料清单(BoM) (如果存在)
- 主价格表 (必需)
- 示例销售订单 (可选,仅用于格式参考)
步骤2:提取结构化数据
然后,工作流程从每种文档类型中提取相关字段。从PO中,这通常包括订单号、客户详情、行项目和数量、付款条款和交付信息等。
从每个BoM中,它应该提取诸如材料类型和标识符、尺寸和等级、技术规格以及与费用相关的要求(例如切割、测试、认证等)等字段。
步骤3:将PO项目链接到BoM
然后将每个PO行项目与其对应的BoM匹配。这是通过匹配材料编号或其他唯一标识符并确定哪个BoM属于哪个行项目来完成的。一旦链接,PO项目及其BoM被视为单个逻辑单元进行定价。
步骤4:检索定价信息
使用从BoM中提取的材料类型和属性,工作流程在主价格表中搜索完全匹配项,并检索所有相关的定价组件,例如单价、切割费、测试费和认证费等。
步骤5:执行确定性计算
这包括行项目计算、订单级别汇总、折扣、费用、运费、税费和舍入规则。计算遵循固定的、透明的序列,具有明确的决策点。
这里有一个示例计算,让您了解典型计算中涉及的步骤和决策点。在第6节中,我们将使用相同的计算逻辑完成一个完整的示例,以展示每个步骤在实践中如何发挥作用。
================================================================================
行项目计算
(为每个行项目执行)
================================================================================
// 步骤1:材料成本
Material_Cost = 数量 × 单价
// 步骤2:切割成本
Cutting_Cost = 切割费 × 每件切割次数
// 默认值:Cuts_Per_Item = 0(如果BoM中未指定)
// 步骤3:测试成本
Testing_Cost = 测试费 × 每件批次
// 默认值:Lots_Per_Item = 1(如果BoM中未指定)
// 步骤4:认证成本
Cert_Cost = 认证费 × 每件认证次数
// 默认值:Certs_Per_Item = 1(如果BoM中未指定)
// 步骤5:行总计
Line_Total = 材料成本 + 切割成本 + 测试成本 + 认证成本
================================================================================
订单级别计算
================================================================================
// 步骤6:材料小计
小计 = Σ 材料成本(所有项目)
// 步骤7:确定批量折扣率
IF 小计 < $5,000:
折扣率 = 0%
ELSE IF 小计 < $15,000:
折扣率 = 3%
ELSE IF 小计 < $30,000:
折扣率 = 5%
ELSE IF 小计 < $50,000:
折扣率 = 7%
ELSE:
折扣率 = 10%
// 步骤8:计算批量折扣金额
批量折扣 = 小计 × 折扣率
// 步骤9:净材料成本(折扣后)
净材料成本 = 小计 - 批量折扣
// 步骤10:汇总切割费
总切割费 = Σ 切割成本(所有项目)
// 步骤11:汇总测试费
总测试费 = Σ 测试成本(所有项目)
// 步骤12:汇总认证费
总认证费 = Σ 认证成本(所有项目)
// 步骤13:总费用合计
总费用 = 总切割费 + 总测试费 + 总认证费
// 步骤14:运费(默认使用PO值)
运费 = PO_运费
// 替代方案:运费 = 总重量 × 每公斤费率
// 替代方案:运费 = 固定费率(基于订单大小等级)
// 步骤15:应税金额(材料 + 费用 + 运费)
应税金额 = 净材料成本 + 总费用 + 运费
// 步骤16:税费金额
税费金额 = 应税金额 × 税率
// 默认值:税率 = 6%(或来自PO如果指定)
// 步骤17:总计
总计 = 净材料成本 + 总费用 + 运费 + 税费金额
步骤6:生成两个文档:
- 遵循公司模板的专业销售订单 - 显示每一步价格计算的完整审计追踪
3、创建Claude技能包
Claude技能是一个包含一个或多个markdown文件的包,用于指导Claude完成多步骤工作流程。为了创建PO处理工作流程,我们使用以下技能架构:
purchase-order-processing/
├── SKILL.md # 主编排文件(必需)
├── EVALUATION.md # 测试场景和验证
└── reference/ # 支持规范文件
├── EXTRACTION_FIELDS.md # 字段定义和映射
├── PRICING_RULES.md # 定价逻辑和折扣等级
├── CALCULATION_LOGIC.md # 计算公式
├── OUTPUT_FORMAT.md # 输出规范
└── CALCULATION_BREAKDOWN_TEMPLATE.md # 审计追踪格式
SKILL.md文件(必需)充当技能的大脑,定义何时应激活技能、它期望什么输入、Claude应遵循的逐步工作流程、详细规范(参考资源)的位置,以及护栏和错误处理规则。
虽然可以在单个SKILL.md文件中定义整个技能,但将逻辑拆分为多个参考文件可以带来更流畅的工作流程和更好的可读性。
以下是一个最小化的骨架SKILL.md,突出了主要的结构部分。完整的SKILL.md可以在GitHub仓库中查看。
# 技能目的
将客户采购订单和相关BoM文档转换为定价销售订单
使用预定义的定价规则和确定性计算。
# 激活条件
当文件夹包含采购订单文档和有效价格表时激活,
带有可选的BoM文件用于材料明细。
# 输入文档
定义预期的输入结构:
– 采购订单(PO)
– 一个或多个BoM文档(可选)
– 主价格表
– 可选的示例销售订单用于格式参考
# 数据提取范围
指定要从PO和BoM中提取的字段,包括客户详情、
行项目、数量、材料和项目参考。
# PO-BoM匹配逻辑
描述PO行项目如何链接到BoM材料以及数量如何在
文档之间解析。
# 定价和计算规则
引用定价模型、单价、费用、折扣和计算公式
用于计算材料成本和总计。
# 销售订单生成
定义最终销售订单的呈现方式,包括结构、格式规则,
以及计算明细的包含。
# 错误处理和护栏
处理缺失、模糊或冲突数据的规则,并防止幻觉
值或计算。
# 输出验证
检查以确保数字正确性、定价一致性,并符合
预期的销售订单格式。
# 参考和规范
链接到详细的参考文件,包括提取规则、定价规则、
计算逻辑、输出格式、成本明细和评估策略。
PO处理工作流程由SKILL.md编排,它充当技能包的中央控制文件。它引用了技能包中的其他markdown资源,这些资源定义了如何从PO和BoM中提取字段、如何应用定价规则和计算公式、如何格式化输出,以及如何生成计算明细。
下图显示了技能工作流程。
4、工作流程如何运作
当客户文档作为输入提供时,工作流程开始,包括PO、一个或多个BoM(可选)和价格表。这些输入被传递给SKILL.md,它充当主编排器并管理整个执行流程。
首先,SKILL.md验证输入的存在和结构,并确定技能是否应该激活。一旦激活,它通过引用EXTRACTION_FIELDS.md启动数据提取阶段。该文件定义了必须从PO和BoM中提取的字段。
提取后,SKILL.md协调定价和计算阶段。它引用PRICING_RULES.md来识别适用的单价、费用、折扣和定价约束,然后应用CALCULATION_LOGIC.md来执行成本计算。
一旦定价和计算完成,SKILL.md进入输出生成阶段。它使用OUTPUT_FORMAT.md来控制最终销售订单的结构和布局,并使用CALCULATION_BREAKDOWN_TEMPLATE.md来生成关于每个成本和总计如何得出的透明、逐项说明。
在最终确定输出之前,根据EVALUATION.md验证工作流程。该文件定义了用于检查生成的销售订单和计算明细的数字正确性、规则合规性和结构一致性的测试场景和验证标准。
一旦所有验证通过,技能生成输出,包括格式化的销售订单和详细的计算明细。
5、部署技能包
安装Claude Desktop,它提供持久的执行环境和完整的技能支持,类似于网页版,但具有更好的本地测试、文件处理和集成连续性。Desktop使技能感觉更像具有对上传资源的完全控制的本机应用程序。
要使Claude Desktop能够使用技能的本地文件系统,您必须配置其MCP服务器。这允许Claude在处理PO/BoM处理等任务时访问您机器上的文件。
打开Claude Desktop应用程序并使用您的帐户登录。打开Claude Desktop配置文件。按Win + R,然后输入:
%APPDATA%\Claude\claude_desktop_config.json
按Enter。添加或更新mcpServers部分,使其包含文件系统服务器:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\"]
}
}
}
保存并关闭文件。完全退出Claude Desktop(包括系统托盘),然后重新启动它。
您现在应该看到文件系统MCP服务器作为连接器之一:
Claude Desktop中的文件系统MCP服务器设置(作者提供的图片)
压缩整个技能文件夹(purchase-order-processing),并确保它具有与上面显示的相同结构。此zip将成为上传包。
在Claude Desktop中,转到设置 → 功能,并确保代码执行和文件创建选项已打开。这是必需的,以便Claude可以加载、分析和执行您的技能文件定义的工作流程。
仍在设置 → 功能中,滚动到"技能"部分并点击"+添加"选择您的zip文件并上传。
Claude Code中部署的采购订单处理技能(作者提供的图片)
上传后,Claude将注册它并将其列在可用技能中。
要测试技能,请创建具有以下结构的输入文档文件夹:
My-Order/
├── customer_data/ ← 必需:将PO和BoM放在这里
│ ├── PO.pdf
│ ├── BOM1.pdf
│ ├── BOM2.pdf
│ └── BOM3.pdf
├── price_list/ ← 必需:将您的价格表放在这里
│ └── price_list.xlsx
└── sample_sales_order/ ← 可选:将示例SO格式放在这里
└── sample_order.docx
您可以有不带BoM的采购订单。技能将自动检测PO结构。
在Claude Desktop中,上传文档的.zip文件(相同结构)并输入:
使用purchase-order-processing技能处理这些文档
或提供文档的本地路径:
使用purchase-order-processing技能从C:\Orders\NewCustomer生成销售订单
6、示例采购订单处理
让我们考虑一个使用此技能处理PO和一些BoM的示例工作流程示例。我们将使用与上述相同的价格计算逻辑。
以下是示例PO和其中一个BoM。该示例使用3个此类型的BoM。示例数据可在**GitHub仓库**中的sample_data文件夹中找到。
示例PO和3个BoM之一(作者提供的图片)
以下屏幕截图显示了包含所有适用价格和规则的价格表。完整的价格表可在GitHub文件夹sample_data/price_list中找到。
以下模板是为销售订单提供的。技能需要遵循此模板/格式来生成销售订单。
提供给技能以遵循特定格式的示例销售订单或模板(作者提供的图片)
以下屏幕截图显示了Claude技能执行的完整工作流程运行,展示了Claude-Sonnet-4.5模型如何端到端地处理任务。
Claude-Sonnet-4.5执行的完整工作流程运行。突出显示的区域显示了从PO和BoM中提取数据以及价格计算(作者提供的图片)
从PO和BoM中提取字段的内部思维过程视图(作者提供的图片)
计算价格的内部思维过程视图(作者提供的图片)
以下屏幕截图显示了技能工作流程生成的销售订单。它遵循示例订单格式并包含所有价格的准确计算。
以下是Claude技能生成的详细价格计算明细(output/calculation_breakdown.txt),每个步骤都记录在案,作为完整的审计追踪。
================================================================================
计算明细文档
================================================================================
销售订单:SO-2025-15903
客户:AutoTech Manufacturing Corp.
日期:2026年2月05日
采购订单:PO-2025-15903
================================================================================
使用的源文档
================================================================================
1. 采购订单:PO.pdf (PO-2025-15903)
2. 物料清单:
- BOM1.pdf (AL-001)
- BOM2.pdf (SS-001)
- BOM3.pdf (CS-001)
3. 主价格表:price list.xlsx (2025年10月01日生效)
================================================================================
行项目计算
================================================================================
--------------------------------------------------------------------------------
项目1:铝角 - L型材
--------------------------------------------------------------------------------
材料编号:AL-001
类型/零件名称:铝角 - L型材(来自BoM1)
尺寸:50 x 50 x 5 mm x 6000 mm(来自BoM1)
材料等级:6061-T6(来自BoM1)
数量:200件(来自PO)
价格表匹配:
项目编号:AL-001
类型/零件:铝角 - L型材
单价:$28.50
切割费:$5.00
测试费:$15.00
认证费:$25.00
计算:
材料成本 = 数量 × 单价
= 200 × $28.50
= $5,700.00
切割成本 = $0.00(需要切割:否,来自BoM)
测试成本 = 所需测试批次 × 测试费
= 1批次 × $15.00
= $15.00
认证成本 = 所需认证 × 认证费
= 1份认证 × $25.00
= $25.00
行总计 = 材料成本 + 切割 + 测试 + 认证
= $5,700.00 + $0.00 + $15.00 + $25.00
= $5,740.00
--------------------------------------------------------------------------------
项目2:不锈钢板 - 304等级
--------------------------------------------------------------------------------
.... //项目2的价格计算
--------------------------------------------------------------------------------
项目3:无缝碳钢管
--------------------------------------------------------------------------------
....//项目3的价格计算
================================================================================
订单级别计算
================================================================================
--------------------------------------------------------------------------------
材料小计
--------------------------------------------------------------------------------
所有材料成本的总和:
项目1 (AL-001): $5,700.00
项目2 (SS-001): $9,787.50
项目3 (CS-001): $10,080.00
──────────────────────────
材料小计:$25,567.50
--------------------------------------------------------------------------------
批量折扣
--------------------------------------------------------------------------------
材料小计:$25,567.50
折扣等级确定:
来自价格表 - 批量折扣计划:
- $0 - $4,999: 0%
- $5,000 - $14,999: 3%
- $15,000 - $29,999: 5% ← 适用等级
- $30,000 - $49,999: 7%
- $50,000+: 10%
适用折扣率:5%
计算:
折扣金额 = 材料小计 × 折扣率
= $25,567.50 × 5%
= $25,567.50 × 0.05
= $1,278.375
= $1,278.38(四舍五入到最近的分)
净材料成本 = 材料小计 - 折扣金额
= $25,567.50 - $1,278.38
= $24,289.12
注意:批量折扣仅适用于材料成本,不适用于费用或运费。
--------------------------------------------------------------------------------
总测试和认证费用
--------------------------------------------------------------------------------
所有测试和认证费用的总和:
项目1:测试 $15.00 + 认证 $25.00 = $40.00
项目2:测试 $35.00 + 认证 $40.00 = $75.00
项目3:测试 $20.00 + 认证 $30.00 = $50.00
────────────────────────────────────────────
总测试/认证费用:$165.00
注意:所有项目的切割费为$0.00(根据BoM无需切割)
--------------------------------------------------------------------------------
运费
--------------------------------------------------------------------------------
运费:$450.00(来自PO)
运费条款:FOB目的地(来自PO)
--------------------------------------------------------------------------------
税费计算
--------------------------------------------------------------------------------
税率:6%(来自PO)
应税基数:
净材料成本: $24,289.12
总测试/认证费用: $165.00
运费: $450.00
──────────────────────────────────────
税前小计: $24,904.12
税费计算:
税费金额 = 税前小计 × 税率
= $24,904.12 × 6%
= $24,904.12 × 0.06
= $1,494.2472
= $1,494.25(四舍五入到最近的分)
--------------------------------------------------------------------------------
总计
--------------------------------------------------------------------------------
净材料成本: $24,289.12
总测试/认证费用: $165.00
运费: $450.00
税费 (6%): $1,494.25
══════════════════════════════════════
总计: $26,398.37
================================================================================
价格表验证
================================================================================
所有项目成功与价格表匹配:
✓ AL-001:铝角 - L型材
✓ SS-001:不锈钢板 - 304等级
✓ CS-001:无缝碳钢管
使用的价格表价格(非PO价格):
项目1:价格表 $28.50(PO显示 $28.50)✓
项目2:价格表 $195.75(PO显示 $195.75)✓
项目3:价格表 $67.20(PO显示 $67.20)✓
注意:所有PO价格与价格表价格完全匹配。
================================================================================
BoM验证
================================================================================
所有材料编号与BoM匹配:
✓ AL-001 → BOM1.pdf(状态:已批准)
✓ SS-001 → BOM2.pdf(状态:已批准)
✓ CS-001 → BOM3.pdf(状态:已批准)
所有BoM引用正确的PO:
✓ BoM1:客户PO = PO-2025-15903
✓ BoM2:客户PO = PO-2025-15903
✓ BoM3:客户PO = PO-2025-15903
所有BoM引用正确的项目代码:
✓ BoM1:项目代码 = PRJ-AT-2025-Q4B
✓ BoM2:项目代码 = PRJ-AT-2025-Q4B
✓ BoM3:项目代码 = PRJ-AT-2025-Q4B
================================================================================
摘要
================================================================================
此计算明细证明:
1. 所有行项目成功与相应的BoM匹配
2. 所有类型/零件名称从BoM中提取
3. 所有价格源自主价格表(而非来自PO)
4. 批量折扣根据材料小计等级正确应用
5. 所有费用(测试、认证)根据BoM和价格表计算
6. 税费根据正确的应税基数计算
7. 所有验证通过(BoM状态、PO参考、项目代码)
最终销售订单总计:$26,398.37
================================================================================
明细结束
================================================================================
7、潜在扩展和注意事项
有几种方法可以扩展和完善此技能。
一项改进是添加参考脚本(例如,用Python)来加速工作流程的特定部分并使其更具确定性。这些脚本可以处理PDF解析、Excel表中的价格查找、价格计算以及生成.docx格式的最终销售订单等任务。
另一个有用的扩展可以是专门的验证步骤。此步骤可以在生成最终输出之前重新检查提取的字段和计算的价格,以确保准确性和一致性。
企业的另一个关注点可能是将机密客户文档暴露给AI模型。为此,请使用 带Claude SDK代理的Claude技能 通过安全环境,例如用于Claude模型的Microsoft Azure API端点。这允许您处理文档而无需将您的数据用于训练模型。此外, Claude for Enterprise/Team计划提供比免费消费者版本更高的数据隐私标准。
因为技能是用自然语言编写的,所以很容易理解、修改和调整。这使用户可以轻松地为其自己的用例定制工作流程,而无需更改整体结构。
原文链接: I Created a Claude Skill for Processing Complex Purchase Orders
汇智网翻译整理,转载请标明出处