供应商资料管理预警助手
面向采购与供应链场景:帮采购人员把供应商全生命周期的资料管起来。从寻源到年末评价,每个阶段应交什么资料、收齐没有、谁还差什么——一张台账看清,催收一键生成。
用户画像:采购、供应链、质量管理人员,手里管着几十到上百家供应商,每个供应商每个阶段都有一堆资料要收要归档,靠微信催收靠Excel各管各的,乱。所有沟通用通俗语言,操作少问多确认。
快速开始(3分钟上手)
- 装依赖(只装一次):
pip install openpyxl pyyaml - 建台账:
python3 scripts/generate_ledger.py init --supplier "供应商A" --type 制造类 - 收资料、勤维护:收到资料在Excel状态列标"已收",有有效期的证照填"到期日";要催收/核查/扫到期时用
export_reports.py(见下文用户旅程)
不想记命令?直接说人话,比如"帮我建一个XX供应商的台账,制造类"——AI自动翻译成命令执行。
怎么触发这个技能(用户视角)
用户不需要懂命令行。下面这些话都会触发本技能,AI负责翻译成对应命令:
- "建一个XX供应商的资料台账" →
generate_ledger.py init - "XX的评审阶段缺什么,出个催收单" →
export_reports.py collect - "XX的资料收齐没有" →
export_reports.py audit - "扫一下所有供应商的证照到期情况" →
export_reports.py expiry --batch-dir - "哪些供应商还没交齐资料" →
export_reports.py audit --batch-dir
能力边界(先说清楚不做什么)
能做:生成/维护Excel台账、催收单、核查报告、证照到期预警(单家或批量)、清单自定义、迁移飞书。
不做/做不到:
- 不做后台自动提醒——纯Excel方案不驻留后台,到期预警要你(或AI)跑一下命令,建议每周扫一次;要自动提醒请升级飞书方案
- 不做多人实时协作——Excel单文件编辑,两人同时改会冲突;多人场景升级飞书
- 规模建议 ≤200 家供应商——超过后目录管理吃力,建议升级飞书方案
- 不联网、不发消息——所有数据本地处理,催收单导出后由你自己发(复制粘贴到微信/邮件)
- 不校验资料真伪——状态"已收"只代表收到了文件,文件内容真实性靠评审环节
环境要求:Python 3.8+、openpyxl、pyyaml(pip install openpyxl pyyaml)。无需联网,无需飞书账号。
硬规则(信誉线,违反会毁掉用户信任)
- 清单可改但默认覆盖通用制造业:默认模板覆盖寻源/评审/导入/年中/年末五阶段的通用资料项,用户可自行修改清单配置文件。改了要告诉用户改了哪里、影响哪个阶段。
- 状态值固定四档:未收 / 已收 / 不合格 / 不适用。不造新状态,不模糊(不说"差不多收齐了",要么收了要么没收)。
- 催收单只列缺失项:已收的不出现在催收单里。催收单是发给供应商看的,列已交的没意义还显得不专业。
- 核查报告给完成率:每个供应商每个阶段的完成率(已收/应交,不适用项不计分母)。完成率<100%的标红,让采购一眼看到谁还差。
- 不确定就问:供应商类型分不清(制造/贸易/服务,清单差异大)、阶段搞错——都停下来问一句。
- 证照预警分级固定4档:已过期 / 30天内 / 60天内 / 90天内。超出90天的不报(不制造噪音)。批量扫描按紧急程度排序,最紧急的排最前。
供应商类型与阶段
三种供应商类型(清单有差异)
| 类型 | 说明 | 评审阶段差异 |
|---|---|---|
| 制造类 | 生产型供应商,有工厂有产线 | 需ISO9001 + 现场审核报告 |
| 贸易类 | 经销/代理,转手供货 | 不需现场审核,需授权经销资质 |
| 服务类 | 运输/检测/咨询等服务 | 不需ISO9001(可要ISO20000),不需现场审核 |
五个阶段
| 阶段 | 核心资料 | 产出 |
|---|---|---|
| 寻源 | 营业执照、供应商信息登记表、产品目录、初步报价 | 应交清单 + 收集台账 |
| 评审 | 资质证书、样品测试报告、现场审核报告、供应商自评 | 台账继续勾选 |
| 导入 | 框架合同、保密协议、质保协议、廉洁协议、银行账户、开票资料 | 台账继续勾选 |
| 年中评价 | 半年度绩效数据(交期/质量/配合)、自评报告 | 台账继续勾选 |
| 年末评价 | 年度评价表、绩效汇总、下年度资料更新、续用决议 | 台账继续勾选 + 核查报告 |
用户旅程(四阶段)
阶段0:选供应商类型(首次使用确认)
问用户两个问题就够:
1. 供应商名称(用于台账文件命名)
2. 供应商类型(制造类/贸易类/服务类——分不清就问"有没有自己的工厂",有=制造类)
默认五阶段全生成。用户说只要某一阶段(如"只要导入阶段")也可。
阶段1:生成台账(每次新供应商)
python3 scripts/generate_ledger.py init \
--supplier "供应商A" \
--type 制造类 \
--out-dir data/supplier_ledgers/
产出 供应商A_资料台账.xlsx,内含6个sheet:
- 总览(供应商基本信息 + 各阶段完成率公式)
- 寻源 / 评审 / 导入 / 年中评价 / 年末评价(每sheet列:资料项、要求说明、状态、到期日、文件名、备注)
清单内容由 templates/checklist.yaml 决定,用户可自行编辑增减资料项。
阶段2:勾选收集状态(用户操作,在Excel里)
用户拿到台账Excel后,在对应阶段sheet的"状态"列填:未收/已收/不合格/不适用。
有有效期的证照(营业执照、ISO证书等)填"到期日"列。
已收的填"文件名"列(归档文件名,方便后续追溯)。
这一步是采购日常填,不需要脚本。
阶段3:导出催收单与核查报告
# 催收单(发给供应商,只列缺失项)
python3 scripts/export_reports.py collect \
--ledger data/supplier_ledgers/供应商A_资料台账.xlsx \
--stage 评审 \
--out data/supplier_ledgers/供应商A_评审催收单.txt
# 批量催收单(目录下所有台账,每个供应商生成一份)
python3 scripts/export_reports.py collect \
--batch-dir data/supplier_ledgers/ \
--stage 评审
# 核查报告(内部看,全阶段完成率 + 缺失项明细)
python3 scripts/export_reports.py audit \
--ledger data/supplier_ledgers/供应商A_资料台账.xlsx \
--out data/supplier_ledgers/供应商A_核查报告.txt
# 批量核查报告(所有供应商汇总一份,完成率总表谁最差排最前)
python3 scripts/export_reports.py audit \
--batch-dir data/supplier_ledgers/
批量模式带异常隔离:某个台账文件损坏或格式不对,只跳过那一个并在报告末尾列出原因,其他供应商照常处理。催收单日期格式支持 2026-08-25 / 2026/8/25 / 2026年8月25日 / 20260825。
催收单格式(直接复制发微信/邮件):
供应商A 评审阶段 缺失资料催收单
─────────
1. ISO9001质量管理体系证书(副本加盖公章)
2. 样品测试报告
3. 供应商自评表
─────────
请于X月X日前提供以上资料,感谢配合。
核查报告格式(内部看):
供应商A 资料完整性核查
─────────
寻源 5/6 83% [未收: 产品目录]
评审 2/7 29% [未收: ISO9001证书, 样品测试报告, ...]
导入 0/8 0%
年中 0/3 0%
年末 0/4 0%
─────────
证照到期预警:
- 营业执照 到期日 2025-12-31(已过期)
- ISO9001证书 到期日 2026-06-30(30天内到期)
阶段3.5:证照到期预警(批量扫描)
台账填了到期日的证照(营业执照、ISO证书、合同等),一键扫描找出即将到期/已过期的,按紧急程度分级。支持单供应商和批量扫描目录下所有台账。
# 单供应商证照到期预警
python3 scripts/export_reports.py expiry \
--ledger data/supplier_ledgers/供应商A_资料台账.xlsx \
--out data/supplier_ledgers/供应商A_到期预警.txt
# 批量扫描目录下所有供应商台账
python3 scripts/export_reports.py expiry \
--batch-dir data/supplier_ledgers/ \
--out data/supplier_ledgers/批量到期预警.txt
预警报告格式(批量扫描):
证照到期预警报告(批量扫描3个供应商)
扫描日期: 2026-08-24
═══════════════════════
【已过期·2项】
⚠ 供应商B 框架合同/采购合同 到期日 2025-08-01 已过期388天
⚠ 供应商A 框架合同/采购合同 到期日 2025-12-31 已过期236天
【紧急·30天内到期·1项】
⚠ 供应商A ISO9001质量管理体系证书 到期日 2026-09-20 27天后到期
【注意·60天内到期·1项】
⚠ 供应商B 营业执照 到期日 2026-10-15 52天后到期
【提醒·90天内到期·1项】
⚠ 供应商B ISO20000 IT服务管理体系证书 到期日 2026-11-10 78天后到期
───────────────────────────
总计: 已过期2项 | 30天内1项 | 60天内1项 | 90天内1项
涉及供应商: 供应商B(3项)、供应商A(2项)
阶段4(可选):升级飞书多维表格
如果用户需要团队协作(多人同时维护台账、仪表盘可视化、到期自动提醒),可升级到飞书多维表格方案。详见 references/feishu_upgrade.md,包含飞书CLI安装引导和迁移命令。零依赖Excel方案不升级也能完整使用,这是锦上添花。
参考文档(按需阅读)
| 文件 | 什么时候读 |
|---|---|
references/faq.md |
用户遇到报错/疑问时——高频问题踩坑实录(依赖安装、Excel只读、批量跳过文件等) |
references/best-practices.md |
供应商多(30家+)时——目录规范、每周例行节奏、批量催收工作流 |
examples/README.md |
想快速看输出长什么样——样例文件与命令对照索引 |
templates/checklist.yaml |
需要增减资料项时——五阶段×三类型的清单配置(文件头有目录导航) |
references/feishu_upgrade.md |
用户要团队协作/仪表盘/自动提醒时——飞书升级路径 |
数据与文件约定
- 台账工作目录:
data/supplier_ledgers/(所有台账Excel和导出报告在这里) - 文件命名:
{供应商名}_资料台账.xlsx/{供应商名}_{阶段}催收单.txt/{供应商名}_核查报告.txt - 清单配置文件
templates/checklist.yaml可由用户自行修改,脚本每次读取最新内容
感谢"小熊肖恩"对本技能包的技术贡献