简介:面向采购与供应链管理人员的实操指南,系统讲解新供应商从寻源、评估到正式审核的开发全流程。内容按步骤展开:明确需求(开发时点、物料类型、年/月需求量、本地或远程、生产能力与品质水平)、编制供应商开发进度表、通过互联网/黄页/展览会/他人介绍等渠道寻找资料,随后进行初步联系、调查问卷与初步访厂;访厂重点关注生产设备、仓库、检验仪器及5S状况。后续报价环节要求统一RFQ条件(币别、价格术语、交货地、付款条件),关键物料还需由采购、品管、工程技术人员组成团队进行正式工厂审核,再完成样品认证与批量试产,同时指出工厂审核中的问题整改和反复送样是最耗时的环节。资源为单文件PDF,大小196KB,便于查阅;已有59人学习,适合采购新手及需要优化供应商导入流程的从业者。
1. 别把“开发供应商”当成一次录入:它是一套状态机
一上来就要点题——很多人收到“开发供应商”任务时直接点新增,结果建完发现订单出不来。因为“开发”在系统里不是录入动作,而是把供应商从“潜在名单”推进到“可采购对象”的状态机:先有主数据,再有组织扩展,再经过审批和冻结标记,最后才能被采购订单引用。标题里的“.pdf”也提示了另一个潜台词:这套流程要做成可留痕、可归档的文档,而不只是屏幕上几个页面。这篇文章适合负责主数据、采购流程和系统运维的人员,也适合刚接管流程的IT顾问。目标很具体:确保每次“开发供应商”都按同一套规则走完,并且在任何时候都能拿出一份说得清的流程证据。
2. 开发供应商的第一步:主数据三件套与字段选择
2.1 通用数据、公司代码数据、采购数据:各管一段
在主流ERP和SRM系统里,“供应商”不是一个单表,而是若干视图的联合体。比如 SAP 里的 LFA1(通用数据)、LFB1(公司代码数据)、LFM1(采购组织数据);在自研系统里则常常是“vendor + vendor_company + vendor_purchase”三张表。命名不同,逻辑一致:通用数据管“你是谁”,公司代码数据管“你跟哪家法人结算”,采购组织数据管“采购员怎么跟你谈价格和交货”。大多数“开发供应商”操作失败的根因,是只填了第一段就点击保存,导致后面下订单、做发票校验时缺东少西。
-- 以常见RDBMS结构为例,检查三个视图是否完整 SELECT v.vendor_code, CASE WHEN c.id IS NULL THEN '缺少公司代码数据' ELSE 'OK' END AS company_status, CASE WHEN p.id IS NULL THEN '缺少采购组织数据' ELSE 'OK' END AS purchase_status FROM vendor v LEFT JOIN vendor_company c ON c.vendor_id = v.id AND c.company_code = '1000' LEFT JOIN vendor_purchase p ON p.vendor_id = v.id AND p.purch_org = 'P001';这段SQL的作用是拿到一份“哪些供应商没开发完”的清单:先以供应商主表为左表,把公司代码和采购组织的扩展数据做两次左连接,公司代码或采购组织缺失的行,就是流程没有走完的对象。日常操作里,我一般把这段查询存成视图,再挂到月度巡检报表上,比人工逐家翻页面快得多。
字段控制是第二层问题。系统里有一个“字段选择”机制:把字段设为可选、必填、显示、隐藏。常常出现“我明明填了税号,却保存不了”的情况——因为字段控制在“供应商”角色下被改成了必填,但界面上没刷新提示。开发流程的落地关键,不是在代码里硬写校验,而是把字段选择按供应商类型配成不同模板,分别约束一次性供应商、常规供应商、集团内供应商的录入界面。
2.2 一次性供应商与常规供应商主数据:两种开发深度
很多团队不清楚什么情况要走完整开发流程,什么情况用“一次性供应商”就够了。两者在采购频次、审批强度和数据维护成本上差别很明显:
| 特征 | 一次性供应商 | 常规供应商主数据 |
|---|---|---|
| 采购频率 | 偶尔、单次 | 重复、框架协议 |
| 主数据维护成本 | 低,随订单产生 | 高,需要专人维护 |
| 审批强度 | 轻,发票校验兜底 | 重,需多级审批 |
| 地址/银行信息变更 | 不影响历史订单 | 必须保留变更记录 |
| 适用场景 | 临时会议费、零星维修 | 生产物料、长期服务 |
由此可见,“开发供应商”的操作流程至少要分两条路:一条路是给一次性供应商开一个简化入口,只录地址、税号和银行账号;另一条路是完整录入、扩展、审批。很多项目盲目统一流程,把所有供应商都塞进完整审批,结果平均开发周期多出两三天;或者反过来全都走一次性供应商,采购订单难以汇总,审计时对不上账。我一般会建议在流程设计阶段先按采购金额和频次给供应商分类,再决定每类走哪条通道。
2.3 编码规则:内部给号、外部给号与映射表
供应商编号要不要手工指定,看起来是小问题,实际影响后续所有接口。内部给号逻辑简单,系统顺序编号,但集团合并、异构系统对接时,外部系统往往需要用自己的编码来引用,这时就要建立映射表。外部给号适合那些“供应商已经在集团主数据平台里存在”的场景,直接沿用统一编码。
这里有个常见坑:用外部给号时如果校验不严,会出现两个员工分别手工录入同一家供应商,得到两个编号,之后所有采购汇总全部翻倍。规避办法是把“名称+税号+注册地址”作为一个组合唯一性约束,并在前端加一个“疑似重复供应商”提示。这也属于操作流程的一环,不能只靠人去肉眼分辨。
3. 从“主数据”到“可下单”:组织扩展与价格信息记录
3.1 先有公司代码,才能谈采购组织
前面提到三件套,这一章讲操作顺序。在多数系统里,供应商必须至少扩展到一个公司代码,然后才能在某个采购组织下维护采购视图。这个顺序不是用户习惯决定的,而是底层关联表的外键约束决定的。如果你先创建采购组织数据,再回来维护公司代码数据,界面通常不会报错,但会发现采购组织视图的某些字段(比如“授权者”“采购币种”)一直存不进去。正确路径是:通用数据 → 公司代码数据 → 采购组织数据 → 采购订单。
3.2 采购视图里最能影响后续效率的参数
采购视图字段很多,真正决定“开发出来好不好用”的是这几个:
- 采购币种:最好在开发时就与财务的发票校验币种对齐,否则后续每次下订单都要改汇率。
- 自动采购订单:允许系统根据框架协议自动转采购订单,适合低值高频物料,不适合定制件。
- 基于收货的发票校验:建议默认打开,降低发票与到货不一致的风险。
- 订单确认控制:对交期敏感物料设为“必须确认”,采购员可以看到供应商回传的确认时间。
# 伪代码示例:读取供应商采购视图,识别“缺少关键配置”的供应商 vendors = get_vendor_purchase_view() warning_list = [] for v in vendors: missing = [] if not v.currency: missing.append("采购币种未维护") if v.manual_po_only and v.frame_contract > 0: missing.append("有框架协议但未启用自动转单") if missing: warning_list.append({"vendor": v.code, "issues": missing}) print(warning_list)这段逻辑不直接写库,而是把系统里导出的采购视图数据读进内存,逐条检查关键配置。把“有框架协议但没有自动转单”单独提出来,是因为这类供应商往往在月度对账时被业务抱怨“下单太慢”,而实际上只需要在开发流程里多勾一个选项。
3.3 供应商开发完还不能下单:缺价格信息记录与货源
主数据、公司代码、采购组织都填好了,采购员点创建采购订单时仍然可能找不到这家供应商。这种情况通常不是主数据问题,而是缺少价格信息记录(也叫信息记录或货源清单)。价格信息记录把“供应商 + 物料 + 采购组织”三者绑定,并维护有效采购价格;没有它,系统不知道从哪里取价,订单自然建不下去。
所以在设计“开发供应商”操作流程时,不要止步于主数据视图,还要把价格信息记录的创建条件写进去。对于单一来源物料,至少要在开发供应商时同步建一条价格信息;对于框架协议类采购,应把框架协议状态与供应商开发状态做联动校验。否则从业务视角看,“开发供应商”根本没完成。
3.4 集中式采购与分散式采购的数据归属
采购组织是按法人还按工厂建的,会直接决定“开发供应商”操作要做几遍。集中式采购下,一个采购组织可以服务多个工厂,供应商只需要在这个采购组织下开发一次;分散式采购下,每个工厂有自己的采购组织,供应商就要在每个采购组织下分别扩展。
需要注意的是,分散式模式下,供应商在A采购组织维护的价格与到货信息,不会自动出现在B采购组织。评审流程设计时,我一般用一张“工厂-采购组织-公司代码”的映射表来规划扩展边界,避免在系统里盲目复制。映射表要由业务负责人签字确认,防止采购员为了让某个工厂能下单,把供应商扩展到所有采购组织,反而破坏了数据隔离。
4. 审批、冻结与文档化:让开发流程自证
4.1 谁有资格开发,谁负责冻结
“开发供应商”这个操作看起来是录入动作,实际上是一个权限敏感行为,因为它允许供应商进入后续的下单、收货、发票链路。许多企业把“创建供应商主数据”和“扩展开发到新公司代码/采购组织”拆成两个角色:前者是主数据专员,后者是采购负责人。审批流上,建议按金额或行业自动路由,而不是让系统管理员手工转交。
操作权限一般这样设(这是常见做法,细节按具体系统实施):
| 角色 | 允许操作 | 不允许操作 | 备注 |
|---|---|---|---|
| 主数据专员 | 创建通用数据、维护地址银行 | 修改采购视图、批准开发 | 批量导入也由该角色执行 |
| 采购负责人 | 扩展公司代码/采购组织、维护采购视图 | 修改银行账号 | 防止资金流向被单方改动 |
| 财务复核 | 维护付款条件、银行账户校验 | 暴露价格数据 | 发票校验与主数据隔离 |
| 供应商管理员 | 冻结/解冻供应商、查看修改日志 | 直接编辑业务字段 | 冻结必须留痕 |
冻结是流程里经常被忽略的出口。供应商一旦发生工商注销、合同终止、重大质量事件,应当在“开发”状态里被标记为冻结,而不是删除。删除主数据会破坏历史单据的关联查询,冻结则保留全部记录,只是不允许新订单产生。“开发供应商”的操作流程如果只讲了入口,没讲出口,流程就是单向的,后面脏数据会越来越多。
4.2 审批结束后如何输出 PDF 操作证据
标题里的 .pdf 在这里落回来。最实用的做法是:开发供应商的每一步保存/审批动作,都触发一条流程日志;流程关闭后,系统把一个固定表单格式的 PDF 自动归档。与在屏幕上截图不同,PDF 输出应当直接在后台从数据库取数渲染,而不是打印网页,这样可以保证审计时看到的字段和数据库一致。
如果所在系统没有现成表单,常见替代方案是给打印程序加一个 PDF 虚拟打印机,或者用报表工具的模板生成最小化记录。PDF 内至少包含:供应商编号和名称、开发类型、创建人与审批链、依赖的组织范围、关联的银行账号掩码、冻结状态。不要把所有敏感字段都打印上去,银行全账号、税号可做掩码处理。
# 用命令行触发一次表单生成(示例为通用报表调用方式) report_runner --template vendor_onboarding --vendor 1000234 \ --scope company:1000,purchorg:P001 \ --output /archive/2025/vendor_onboarding_1000234.pdf这条命令把“供应商编号、组织范围、输出路径”作为参数传给报表程序,程序读取主数据和审批日志,渲染 PDF 到指定归档目录。好处是每次生成的文件名可预测、内容格式一致,后续做索引或进对象存储都方便。
5. 开发供应商后必查的坑:建了数据但流程走不通
5.1 银行数据没在“伙伴”里维护
一个高频问题:采购订单能建,但到了付款环节找不到银行账户。原因通常是供应商创建时只维护了通用地址,没有在银行数据相关页签录入银行国家代码、银行账号、账户持有人。很多系统对银行数据是单独存储的,因为同一个供应商可以有多个银行账号,分别用于不同公司代码。操作流程里必须给银行数据的完整性加一道校验,最好做成“有采购组织的供应商,其银行账号至少一条”。
5.2 付款条款没对齐,财务每个月手工改
另一个常见问题是采购订单里可以输付款条款,但若供应商主数据里没有配置,采购员每次下单都要手工指定。结果就是同一家供应商,上个月是 30 天账期,这个月变 45 天,财务对账时无法自动匹配。解决方案是在供应商的公司代码视图里维护默认付款条款,并在采购订单上控制为“可覆盖但必须记录原因”,或者干脆禁止在订单层修改。
5.3 用一致性脚本常态化检查
每一次人工开发供应商都会有遗漏。把遗漏检查脚本常态化,比事后追责更有价值。下面这条 SQL 可以汇总“供应商已开发但缺银行/缺税号/缺付款条件”的清单:
SELECT v.vendor_code, v.vendor_name, COUNT(DISTINCT b.id) AS bank_count, COUNT(DISTINCT t.tax_id) AS tax_count, COUNT(DISTINCT p.payterm) AS payterm_count FROM vendor v LEFT JOIN vendor_bank b ON b.vendor_id = v.id LEFT JOIN vendor_tax t ON t.vendor_id = v.id LEFT JOIN vendor_payterm p ON p.vendor_id = v.id WHERE v.status = 'ACTIVE' GROUP BY v.vendor_code, v.vendor_name HAVING COUNT(DISTINCT b.id) = 0 OR COUNT(DISTINCT t.tax_id) = 0 OR COUNT(DISTINCT p.payterm) = 0;思路是:对活跃供应商分别统计银行账号、纳税识别号、付款条款的数量;HAVING 子句把三者任一为零的供应商挑出来。运行一次就能拿到“表面开发完成、实际流程不完整”的清单。注意这里的 payterm 如果在系统中存在多视图,应限定公司代码范围,否则统计会失真。
5.4 日志查询与权限追溯
最后再提一个排错手段:直接查修改日志。规范的系统都会记录“谁在什么时间把供应商的开发状态从 X 改成 Y”。排障时不要靠猜,先锁定出问题的供应商编号,把其日志按时间倒序导出,重点看状态变更前后的字段快照。如果日志不完整,说明系统层面没有开启相关审计,这类问题需要提请运维开审计开关,而不是在流程文档里强行审批。
6. 把“开发供应商”做成模板:参考供应商、批量导入与 PDF 归档
6.1 参考供应商:先配模板再开发
很多系统支持“参考供应商(reference vendor)”。意思是新建供应商时指定一个已有模板,系统把模板的采购组织、付款条款、计税规则等一组字段复制过来,再手动改差异项。业务节奏上,我一般建议按供应商类别维护三到五个参考供应商:原材料类、服务类、费用类和一次性采购类。这样新供应商开发流程不再是“从零填表”,而是“复制模板 + 微调 + 复核”,出错率和录入时间同步下降。
注意参考供应商的使用边界:参考复制的是配置字段,不是银行账号,也不是联系人。银行账号必须重新录入,这一步是为了防止两笔付款打到同一账号却没有对应合同。字段复制完后,要检查“采购币种”和“付款条件”是否被模板带错,尤其是服务类供应商经常出现这类隐性污染。
6.2 批量导入:先跑 10 条样例再全量
如果一次性从 Excel 导入几百家供应商,最常见的错误是直接拿导入工具的默认模板灌数,绕过了字段校验。稳妥做法是:先用最小样例数据(大约 10 条)跑一遍导入,核对主数据、公司代码、采购组织三个视图的生成结果;确认无误后再全量跑。导入前用脚本做一套离线校验,把税号格式、银行账号长度、必填字段缺失提前过滤出来。
6.3 用 PDF 归档清单当验收标准
“开发供应商”操作流程做到最后,能否验收,可以看一个硬指标:把一个批次内所有供应商的开发流程输出为 PDF 归档文件,逐页能对上编号和审批时间。文件名建议统一为供应商编号加流程类型加日期,例如vendor_onboarding_1000234_20250715.pdf。归档位置放入只读目录,由流程引擎写入,业务人员只有查看权限。这一步做完,整个流程才真正闭环:不仅在系统里跑通了,审计时也能直接拿出那本“开发供应商的操作流程.pdf”作为可靠证据。
本文还有配套的精品资源,点击获取