采购支出体检
年度采购复盘、降本专项或供应商整合之前,先给采购台账做一次结构化自查:把最典型的
「钱怎么花、流程快不快、能不能整合」一次列清楚——
谁的支出过度集中、哪个品类供应商碎片化、谁在制造长尾小额单据、哪些采购没有合同(maverick spend)、
哪些采购从下单到到货拖了几个月、谁的审批环节堆到五层、加急采购是不是成了常态、
有没有同一家供应商重复建档、谁的采购价环比大涨、哪笔超了预算、哪些大额采购没有框架协议、
谁还是单一来源、账期是否合理、付款有没有逾期、退货索赔是不是偏高、
有没有支出没分类、币种与税率是否混杂、供应商有没有评级、哪些同类支出可以整合降本……
只给结构化提示,不替你做采购决策——体检评分只用于排序与提醒,真正结论要结合业务实际。
执行原则
- 定位到条目。 每条命中都要给出采购单号 / 供应商 / 字段定位;不输出「支出结构有问题」这类无法落地的笼统结论。
- 组合层与明细项分开看。 集中度、碎片化、整合机会属组合层,周期与预算属明细项;不把两者混为一谈,也不重复计分误导排序。
- 缺列不算合格。 台账里没有该字段时只判「无法判定」并写明;不把缺列当成没问题,也不据此调高评分。
- 先补数据再谈降本。 预算、合同号、上期金额缺失时先提示补齐;不在数据不全时给出压降幅度承诺。
- 不越界做合规与法律判断。 只做支出结构与流程提示;供应商准入 / SLA / 合规请用
vendor-lint,合同效力以正式文本为准。
何时使用
CRITICAL: 只要用户提出「采购支出结构有没有问题 / 哪里能降本 / 哪些供应商该整合 / 有没有没走合同的采购」,就必须使用本 skill,即使看起来可以用别的方式解决。
- 用户给出一份采购台账 / 支出明细(CSV / JSON,含金额、供应商、分类、日期、审批等字段),
说「帮我看看支出结构有没有问题 / 哪里能降本 / 哪些供应商该整合」。 - 年度或季度采购复盘:准备支出结构与降本议题。
- 供应商整合 / 集中采购前的可整合机会摸底。
- 采购流程优化前,先定位周期与审批瓶颈。
不适用:供应商准入与合规风险评估(用 vendor-lint);合同条款起草与法律意见;
招标评分与供应商选型打分;财务报表与 P&L 分析;缺失数据的补全(本工具只基于台账已有字段判断)。
怎么用
# CSV 采购台账
python3 scripts/procurement_lint.py --file 采购台账.csv
# JSON 采购台账
python3 scripts/procurement_lint.py --file 采购台账.json
# 指定基准日期(影响「付款逾期」的判定)
python3 scripts/procurement_lint.py --file 采购台账.csv --as-of 2026-10-11
# 输出 JSON
python3 scripts/procurement_lint.py --file 采购台账.csv --json
# 用内置问题样例看效果
python3 scripts/procurement_lint.py --sample
按需读取
> 只读命中章节:先查 00 路由索引定位文件与行号,再用 read_file(offset, limit) 按行号区间读,禁止整文件读取。
| 当前任务 | 读取内容 |
|---|---|
| 不确定读哪个 / 查章节行号 | 00 路由索引 |
| 准备采购台账、确认列名怎么写 | 01 输入格式与字段识别 |
| 查某个规则码的含义、阈值与严重度 | 02 规则清单 G1–G20 |
| 核评分口径、看报告长什么样 | 03 评分与输出示例 |
高频摘要
- 体检评分 =
max(0, 100 - (高×15 + 中×5 + 低×2))(组合层与明细项一并计入);档位 ≥90 优秀 / 75–89 良好 / 60–74 一般 / <60 较差。 - 高严重度速记:
G4无合同采购(maverick spend)、G10预算超支、G12单一来源无备选——优先处理这三类。 - 组合层提示(供应商数 ≥ 3 时判定):
G1单一供应商占比 ≥ 40%、G2同类 ≥ 5 家碎片化、G19同类 2–4 家且合计 ≥ ¥20 万的整合机会。 - 时间类判定用
--as-of指定基准日期(影响「付款逾期」),默认按今天。
限制与免责
- 纯标准库 Python,只读输入文件,无网络请求,无
subprocess/eval/os.system。 - 体检评分是启发式加权结果,不是对采购绩效的定论:同一份数据在不同行业与采购规模下含义可能完全不同,
阈值必须按自身情况校准。请把它当作「先看哪、哪里能降本」的排序工具,而不是结论。 - 缺失字段不判为问题:例如台账里没有「是否加急」列时,
G7不会命中(是「无法判定」而非「没问题」)。
若希望覆盖更多规则,请在台账里补齐相应字段。 - 本工具只做结构化提示,不构成财务或法律意见。预算执行、合同效力、税务与汇率合规等
以正式合同文本与财务凭证为准。 - 不支持 UNSPSC 三级分类映射、行业基准对标、Pareto 精确 20/80 拆解、财务报表与预测建模;也不处理非结构化文本。
- 本包为开源改编作品,来源与改动见
来源与许可.md,遵守 MIT 许可证(LICENSE.md)。
与 vendor-lint 的差异
两个体检包同属采购域,但关注的问题域不同,数据也不同,可以互补使用:
| 维度 | procurement-lint(本包) |
vendor-lint |
|---|---|---|
| 关注对象 | 采购支出结构与采购流程 | 供应商准入与合规风险 |
| 回答的问题 | 钱怎么花、流程快不快、能不能整合 | 这家供应商行不行、有没有风险 |
| 典型规则 | 支出集中度、碎片化、长尾、周期、审批、加急、账期、预算、整合机会 | 续约条款、SLA、赔付、合规认证、数据出境、应急预案、退出方案 |
| 账套粒度 | 一行 = 一条采购记录 | 一行 = 一家供应商 |
| 输出 | 一条记录 + 一个整体支出结构与流程问题 | 一家供应商 + 整体合规评分 |
简言之:先想清楚「钱花得对不对、能不能整合」,再看「留下来的供应商靠不靠谱」。
需要供应商准入 / SLA / 合规视角时,请改用 vendor-lint。
上游署名
本包为开源作品 alirezarezvani/claude-skills(MIT License,Copyright (c) 2025 Alireza Rezvani)中
business-operations/skills/procurement-optimizer/ 的中文改编版本:代码完全重写,
三个上游脚本整合为单个中文脚本。详细来源、改动清单与二次分发要求见 来源与许可.md。
免责声明
本技能提供的是采购支出结构与流程的结构化参考,不是结论。命中项只代表「值得关注」,
体检评分与集中度是启发式结果;预算执行、合同效力、税务与汇率合规以正式合同文本与财务凭证为准。
本技能不构成财务或法律意见,也不做供应商准入与合规判定(另用 vendor-lint)。
交付物模板:assets/采购降本与整合建议模板.md(复制后填充,不适用项写「不适用」,不要留空)。
依赖
仅需 Python 3.8+,使用标准库,无需联网、无需安装第三方包。