一、前言
本文讨论的是一种没有启用 MRP 的制造型 ERP 业务模式。
在这种模式下,系统不会通过 MRP 自动综合计算:
- 销售需求
- BOM
- 当前库存
- 在途采购
- 在制生产
- 安全库存
- 采购提前期
- 生产提前期
然后自动生成生产计划和采购建议。
而是采用更加直接、容易落地的业务链:
销售订单 / 人工生产需求
↓
生产计划
↓
生产订单
↓
BOM展开
↓
缺料分析
↓
采购计划
↓
请购单
↓
采购订单
↓
到货 / 检验 / 入库
↓
生产领料
↓
生产
↓
完工入库
这种模式非常适合:
- 产品数量相对可控;
- 生产以订单驱动为主;
- BOM 结构已经比较清晰;
- 计划人员可以人工参与;
- 采购需求量不是特别巨大;
- 暂时不需要复杂 MRP 运算;
- 希望先把生产、采购、库存业务流程打通。
本文重点说明:
生产计划 → 生产订单 → 采购计划 → 请购单 → 采购订单
这五个节点之间到底是什么关系,以及每一个节点需要输入什么数据。
二、先理解五个节点分别干什么
可以先用一句话记住:
| 单据 | 解决的问题 |
|---|---|
| 生产计划 | 准备生产什么、生产多少、什么时候完成 |
| 生产订单 | 具体安排哪一批产品投入生产 |
| 采购计划 | 根据生产需要,预计需要采购哪些物料 |
| 请购单 | 正式向公司提出采购申请 |
| 采购订单 | 正式决定向哪个供应商购买 |
因此整个业务实际上经历了:
我要生产什么
↓
我要怎么安排生产
↓
生产这些东西缺什么
↓
我要申请购买什么
↓
最终向谁购买
对应:
生产计划
↓
生产订单
↓
采购计划
↓
请购单
↓
采购订单
三、不启用 MRP 后,最重要的变化是什么
如果启用了 MRP,系统通常会自动做大量计算。
例如:
销售订单
↓
MRP运算
↓
自动计算生产需求
↓
自动展开多级BOM
↓
自动计算库存、在途
↓
生成计划建议
但没有 MRP 后,这部分工作就需要拆散到几个业务环节中完成。
也就是说:
MRP原本自动完成的工作
需要变成:
人工计划
+
生产计划
+
生产订单
+
BOM展开
+
缺料分析
+
采购计划
因此没有 MRP 并不意味着 ERP 不能正常运行。
只是:
计划计算从“系统自动运算”变成了“人工计划 + 系统辅助计算”。
四、推荐的整体业务流程
对于没有启用 MRP 的 ERP,我比较推荐下面这条主流程:
销售订单
│
▼
┌──────────┐
│ 生产计划 │
└────┬─────┘
│
下达生产任务
│
▼
┌──────────┐
│ 生产订单 │
└────┬─────┘
│
选择BOM
│
▼
BOM展开
│
▼
物料需求
│
▼
库存可用量
│
▼
缺料分析
│
▼
┌──────────┐
│ 采购计划 │
└────┬─────┘
│
确认需求
│
▼
┌──────────┐
│ 请购单 │
└────┬─────┘
│
审批 / 比价
│
▼
┌──────────┐
│ 采购订单 │
└────┬─────┘
│
▼
到货 → 检验 → 入库
│
▼
生产领料
│
▼
生产
│
▼
完工入库
这里最关键的是:
采购计划不是凭空产生,而是来源于生产订单的物料需求和缺料分析。
五、第一步:生产计划
5.1 生产计划解决什么问题
生产计划回答的是:
未来准备生产什么产品、生产多少、什么时候完成。
例如:
生产计划单:PP202609001
产品:PCR-1000
计划数量:100台
计划开始日期:2026-09-01
计划完成日期:2026-09-30
这时候表达的是:
公司准备在 9 月份生产 100 台 PCR-1000。
但还没有细化到具体生产批次。
六、生产计划从哪里来
没有 MRP 后,生产计划一般可以来源于以下几种情况。
6.1 来源于销售订单
例如:
销售订单 SO001
PCR-1000:50台
销售订单 SO002
PCR-1000:30台
计划人员综合判断以后形成:
生产计划:
PCR-1000:80台
6.2 来源于人工预测
例如虽然暂时没有销售订单,但企业预测下个月需要:
PCR-1000:50台
那么计划人员可以人工创建生产计划。
6.3 来源于库存补充
例如:
PCR-1000
目标库存:30台
当前库存:10台
企业决定补:
20台
也可以人工形成生产计划。
6.4 来源于临时生产需求
例如:
试制
样机
研发验证
售后备机
内部测试
也可能产生生产计划。
七、生产计划需要输入什么
建议生产计划至少包含以下信息:
| 字段 | 说明 |
|---|---|
| 计划单号 | 系统生成 |
| 产品编码 | 计划生产什么 |
| 产品名称 | 产品名称 |
| 计划数量 | 准备生产多少 |
| 单位 | 台、件、套等 |
| 计划开始日期 | 什么时候准备开始 |
| 计划完成日期 | 什么时候完成 |
| 需求来源 | 销售订单、预测、库存补充、手工等 |
| 来源单号 | 对应的销售订单等 |
| 生产组织 | 哪个工厂负责 |
| 优先级 | 普通、紧急等 |
| 备注 | 特殊要求 |
建议系统同时维护:
计划数量
已下达数量
未下达数量
例如:
计划数量:100
已下达生产订单:60
未下达:40
八、生产计划和生产订单是什么关系
生产计划属于:
计划层
生产订单属于:
执行层
例如:
生产计划 PP001
PCR-1000
计划数量:100台
实际生产的时候可以拆分:
MO001:30台
MO002:40台
MO003:30台
形成:
PP001
100台
│
├── MO001 30台
├── MO002 40台
└── MO003 30台
所以:
一张生产计划可以对应多张生产订单。
生产计划关注总安排。
生产订单关注具体执行批次。
九、第二步:生产订单
生产订单回答:
这一批具体生产什么、生产多少、什么时候生产、用哪个 BOM。
例如:
生产订单:MO202609001
产品:PCR-1000
数量:30台
计划开工:2026-09-01
计划完工:2026-09-05
生产车间:装配车间
BOM版本:V2.0
这时已经正式进入生产执行阶段。
十、生产订单需要输入什么
10.1 来源信息
如果来源于生产计划,建议记录:
来源类型:生产计划
来源单号:PP202609001
来源行号:1
来源数量:30
这样以后才能追溯:
生产订单
↑
生产计划
↑
销售订单
10.2 产品信息
产品编码
产品名称
生产数量
计量单位
10.3 BOM 信息
生产订单应该明确:
BOM
BOM版本
例如:
PCR-1000
BOM版本:V2.0
这一点很重要。
因为生产订单真正决定:
这批产品到底按照哪一版物料结构生产。
10.4 生产时间
包括:
计划开工日期
计划完工日期
后续执行过程中再记录:
实际开工日期
实际完工日期
10.5 生产组织
包括:
工厂
车间
生产线
班组
具体做到哪一级,可以根据企业实际情况确定。
10.6 生产订单主要输入总结
| 输入 | 作用 |
|---|---|
| 来源生产计划 | 为什么生产 |
| 产品 | 生产什么 |
| 数量 | 生产多少 |
| BOM版本 | 用哪些物料 |
| 开工日期 | 什么时候开始 |
| 完工日期 | 什么时候完成 |
| 车间 | 在哪里生产 |
| 优先级 | 生产顺序 |
十一、没有 MRP 时最重要的一步:BOM展开
生产订单建立以后,系统就已经知道:
生产什么
+
生产多少
+
使用哪个BOM
这时候就可以进行:
BOM展开。
例如:
生产订单:
PCR-1000
数量:100台
BOM:
PCR-1000 × 1
├── 主板 × 1
├── 电源 × 1
├── 外壳 × 1
└── 风扇 × 2
那么生产100台需要:
主板:100
电源:100
外壳:100
风扇:200
计算公式可以简单表示为:
物料需求数量
=
生产订单数量
× BOM子件用量
÷ BOM主件基准数量
十二、多级 BOM 也需要展开
假设:
PCR-1000
├── 主板组件 × 1
│ ├── PCB × 1
│ ├── CPU × 1
│ └── 电容 × 20
│
├── 电源 × 1
└── 外壳 × 1
如果:
主板组件
本身也是企业自制件,那么系统需要判断:
主板组件
↓
自制件
↓
产生内部生产需求
而如果是采购件:
CPU
↓
采购件
↓
进入缺料分析
所以建议物料档案至少区分:
自制件
采购件
委外件
这会直接影响后续业务处理。
十三、第三步之前:缺料分析
这是没有 MRP 系统情况下非常重要的功能。
生产订单计算出来的是:
需要多少物料。
但不能直接认为:
需要多少就采购多少。
因为仓库可能已经有。
十四、缺料分析需要什么输入
假设生产订单需要:
| 物料 | 需求数量 |
|---|---|
| 主板 | 100 |
| 电源 | 100 |
| 外壳 | 100 |
| 风扇 | 200 |
仓库库存:
| 物料 | 库存 |
|---|---|
| 主板 | 30 |
| 电源 | 120 |
| 外壳 | 20 |
| 风扇 | 100 |
已经下采购订单但尚未入库:
| 物料 | 在途 |
|---|---|
| 主板 | 20 |
| 电源 | 0 |
| 外壳 | 0 |
| 风扇 | 40 |
那么:
主板缺料
= 100 - 30 - 20
= 50
电源缺料
= 100 - 120
= -20
所以:
电源不需要采购
外壳:
100 - 20 = 80
风扇:
200 - 100 - 40 = 60
最终缺料:
主板:50
外壳:80
风扇:60
十五、没有 MRP 时建议做一个“缺料分析”功能
这其实是整套设计非常关键的地方。
建议系统提供:
【生产订单缺料分析】
用户选择:
MO001
MO002
MO003
然后系统自动计算:
| 物料 | 总需求 | 可用库存 | 在途 | 缺料 |
|---|---|---|---|---|
| 主板 | 100 | 30 | 20 | 50 |
| 电源 | 100 | 120 | 0 | 0 |
| 外壳 | 100 | 20 | 0 | 80 |
| 风扇 | 200 | 100 | 40 | 60 |
计划人员确认以后:
缺料分析
↓
生成采购计划
这实际上相当于:
不用建设完整 MRP,但保留 MRP 中最有价值的一部分——净需求计算。
十六、第三步:采购计划
采购计划回答:
根据现有生产任务,我们预计需要采购什么、采购多少、什么时候需要。
例如:
采购计划:PC202609001
主板:50
外壳:80
风扇:60
采购计划仍然属于:
计划层
它不是正式采购订单。
十七、采购计划从哪里来
在没有 MRP 的情况下,我建议主要有两种来源。
17.1 来源一:生产订单缺料分析
这是最主要的来源。
生产订单
↓
BOM展开
↓
物料需求
↓
减库存
↓
减采购在途
↓
得到缺料
↓
采购计划
17.2 来源二:人工采购计划
例如:
办公用品
售后备件
研发物料
低值易耗品
安全库存补货
这些不一定来自生产订单。
可以人工创建采购计划。
十八、采购计划需要输入什么
建议采购计划至少包括:
| 字段 | 说明 |
|---|---|
| 采购计划单号 | 唯一编号 |
| 物料 | 采购什么 |
| 计划数量 | 计划采购多少 |
| 单位 | PCS、套、kg等 |
| 需求日期 | 什么时候需要 |
| 来源类型 | 生产订单、缺料分析、人工 |
| 来源单号 | 对应生产订单等 |
| 当前库存 | 当前库存情况 |
| 在途数量 | 已采购未入库 |
| 缺料数量 | 实际缺多少 |
| 建议供应商 | 可选 |
| 优先级 | 紧急程度 |
| 备注 | 特殊要求 |
十九、采购计划与请购单的关系
采购计划回答:
应该买什么?
请购单回答:
正式申请买什么。
例如采购计划:
主板:100
采购人员检查后发现:
其中40块可以从其他仓库调拨
那么最终可能只形成:
请购单:
主板:60
所以:
采购计划数量
≠
一定等于请购数量
采购计划只是建议。
请购才是正式采购申请。
二十、第四步:请购单
请购单的核心含义是:
公司内部某个部门正式提出采购申请。
例如:
请购单:PR202609001
请购部门:生产部
主板:50
外壳:80
风扇:60
需求日期:2026-09-05
然后进入:
提交
↓
审批
↓
批准采购
二十一、请购单需要输入什么
请购单建议包括:
| 字段 | 说明 |
|---|---|
| 请购单号 | 唯一编号 |
| 请购部门 | 谁申请 |
| 请购人 | 谁提出 |
| 物料 | 买什么 |
| 数量 | 买多少 |
| 单位 | 采购单位 |
| 需求日期 | 什么时候需要 |
| 用途 | 为什么采购 |
| 来源采购计划 | 来自哪张采购计划 |
| 来源生产订单 | 必要时可继续追溯 |
| 项目 | 如果属于项目采购 |
| 紧急程度 | 普通/紧急 |
| 建议供应商 | 可选 |
| 备注 | 特殊要求 |
二十二、采购计划与请购单之间也要维护数量关系
例如:
采购计划:
主板 100
第一次请购:
PR001:60
第二次请购:
PR002:40
系统应该显示:
采购计划数量:100
已请购数量:100
未请购数量:0
如果只请购了60:
计划数量:100
已请购:60
未请购:40
所以采购计划建议维护:
计划数量
已请购数量
未请购数量
二十三、第五步:采购订单
采购订单回答的是:
最终向哪个供应商,以什么价格,购买多少,什么时候交货。
例如请购单:
主板:50块
采购部门询价:
供应商A:
800元
7天交货
供应商B:
760元
15天交货
供应商C:
780元
10天交货
最终选择供应商C:
采购订单:PO202609001
供应商:供应商C
主板:50块
单价:780元
交货日期:2026-09-05
到这个阶段,才真正形成:
对外采购业务。
二十四、采购订单需要输入什么
24.1 来源信息
来源请购单
来源请购单行
24.2 供应商信息
供应商
联系人
联系方式
24.3 采购内容
物料
数量
单位
24.4 商务信息
采购单价
税率
含税金额
币种
付款条件
结算方式
24.5 交货信息
要求交货日期
收货仓库
交货地点
运输方式
二十五、采购订单主要输入总结
| 输入 | 作用 |
|---|---|
| 请购单 | 为什么采购 |
| 供应商 | 向谁采购 |
| 物料 | 采购什么 |
| 数量 | 采购多少 |
| 单价 | 什么价格 |
| 税率 | 税务条件 |
| 交货日期 | 什么时候到 |
| 收货仓库 | 到哪里 |
| 付款条件 | 怎么付款 |
二十六、请购单和采购订单不是简单的一对一
例如:
请购单 PR001
主板:100
企业可能决定:
供应商A采购60
供应商B采购40
于是:
PR001
│
├── PO001:60
└── PO002:40
因此:
一张请购单可以生成多张采购订单。
同样:
PR001:主板20
PR002:主板30
PR003:主板50
如果采购部门准备统一向一个供应商采购,也可能合并:
PO001:
主板:100
所以复杂情况下:
请购单
↕
采购订单
可以是多对多关系。
二十七、完整案例
假设企业收到客户订单:
销售订单 SO001
PCR-1000
数量:100台
交货日期:9月30日
第一步:生产计划
人工计划:
PP001
PCR-1000
计划生产:100台
计划完成:9月25日
第二步:生成生产订单
根据车间生产能力拆成:
MO001:50台
9月1日~9月10日
MO002:50台
9月11日~9月20日
第三步:展开 BOM
PCR-1000 BOM:
PCR-1000 × 1
├── 主板 × 1
├── 电源 × 1
├── 外壳 × 1
└── 风扇 × 2
100台需求:
主板:100
电源:100
外壳:100
风扇:200
第四步:进行缺料分析
库存:
主板:30
电源:120
外壳:20
风扇:100
在途:
主板:20
风扇:40
计算:
主板:
100 - 30 - 20
= 50
电源:
100 - 120
≤ 0
= 不缺
外壳:
100 - 20
= 80
风扇:
200 - 100 - 40
= 60
第五步:采购计划
形成:
PC001
主板:50
外壳:80
风扇:60
第六步:请购
采购计划确认后:
PR001
主板:50
外壳:80
风扇:60
提交审批。
第七步:采购订单
不同物料分别找到供应商:
PO001
供应商A
主板:50
PO002
供应商B
外壳:80
PO003
供应商C
风扇:60
第八步:到货入库
采购订单
↓
到货
↓
质量检验
↓
采购入库
库存增加。
第九步:生产领料
库存满足以后:
生产订单
↓
领料
↓
材料出库
↓
生产
第十步:完工入库
生产完成:
生产订单
↓
完工
↓
产成品入库
最终:
PCR-1000成品库存 +100
然后可以用于销售订单发货。
二十八、没有 MRP 时,五个节点之间的数据关系
整体可以理解成:
销售订单
│
▼
生产计划
│
│ 计划数量
▼
生产订单
│
│ 生产数量
│ BOM版本
▼
BOM展开
│
│ 物料理论需求
▼
缺料分析
│
│ 扣除库存
│ 扣除在途
▼
采购计划
│
│ 计划采购数量
▼
请购单
│
│ 正式申请数量
▼
采购订单
│
│ 实际采购数量
│ 供应商
│ 价格
▼
采购入库
二十九、每个环节都必须保留“来源”
ERP设计时非常重要的一点是:
不能只知道“这张单是什么”,还必须知道“为什么会有这张单”。
例如:
采购订单 PO001
↑
请购单 PR001
↑
采购计划 PC001
↑
生产订单 MO001
↑
生产计划 PP001
↑
销售订单 SO001
最终可以形成完整单据链:
SO001
↓
PP001
↓
MO001
↓
PC001
↓
PR001
↓
PO001
用户查看 PO001 时,可以一直追溯到:
为什么当初要买这批主板?
系统可以回答:
因为生产订单 MO001 缺料
↓
MO001 是为了执行 PP001
↓
PP001 来源于 SO001
这才是真正完整的 ERP 业务链。
三十、建议每一级维护“计划数量”和“已执行数量”
这是设计时非常值得提前做好的部分。
生产计划
计划数量:100
已下达生产订单:70
未下达:30
生产订单
生产数量:70
已领料
已生产
已完工
已入库
采购计划
计划采购:100
已请购:60
未请购:40
请购单
请购数量:60
已转采购订单:40
未下单:20
采购订单
采购数量:40
已到货:30
未到货:10
因此整个 ERP 的数量管理思想应该是:
计划数量
↓
下达数量
↓
执行数量
↓
完成数量
三十一、建议的状态设计
31.1 生产计划
草稿
↓
已审核
↓
未下达
↓
部分下达
↓
全部下达
↓
完成
↓
关闭
31.2 生产订单
草稿
↓
待审核
↓
已审核
↓
待生产
↓
生产中
↓
已完工
↓
关闭
31.3 采购计划
草稿
↓
已确认
↓
未请购
↓
部分请购
↓
全部请购
↓
完成
31.4 请购单
草稿
↓
待审批
↓
已批准
↓
部分下单
↓
全部下单
↓
关闭
31.5 采购订单
草稿
↓
待审核
↓
已审核
↓
已下单
↓
部分到货
↓
全部到货
↓
完成
↓
关闭
三十二、没有 MRP 时采购计划最合理的定位
这里尤其需要注意。
既然系统没有 MRP,那么:
采购计划就不应该设计成一个非常复杂的“自动计划运算系统”。
更合理的定位是:
生产订单
↓
BOM需求
↓
缺料分析
↓
系统建议
↓
人工计划人员确认
↓
采购计划
也就是说:
系统负责算,计划人员负责判断。
例如系统计算:
主板缺50
但计划人员可能知道:
其他仓库可以调拨20
于是采购计划只录:
30
这样更符合没有 MRP 的实际管理模式。
三十三、建议系统重点建设“缺料分析”,而不是强行建设 MRP
如果目前企业并没有使用 MRP,那么 ERP 第一阶段真正值得建设的是:
生产订单缺料分析
建议页面展示:
| 物料 | 需求量 | 当前库存 | 已分配库存 | 在途采购 | 可用量 | 缺料量 |
|---|---|---|---|---|---|---|
| 主板 | 100 | 30 | 0 | 20 | 50 | 50 |
| 电源 | 100 | 120 | 0 | 0 | 120 | 0 |
| 外壳 | 100 | 20 | 0 | 0 | 20 | 80 |
| 风扇 | 200 | 100 | 0 | 40 | 140 | 60 |
然后提供:
【生成采购计划】
按钮。
这样业务操作会非常直观:
选生产订单
↓
查看缺料
↓
确认缺料
↓
生成采购计划
三十四、整个系统最核心的五句话
没有启用 MRP 的情况下,可以这样理解五张单据:
生产计划
我们准备生产什么?
生产订单
我们正式安排这一批生产什么?
采购计划
为了完成这些生产任务,我们预计需要买什么?
请购单
我们正式向公司申请采购什么?
采购订单
最终决定向哪个供应商、以什么价格购买什么?
三十五、最终推荐业务流程
对于没有 MRP 的制造型 ERP,可以采用下面这套比较清晰的业务流程:
销售订单
│
▼
生产计划
│
│ 人工计划
▼
生产订单
│
│ BOM版本
▼
BOM展开
│
▼
物料需求
│
│ 库存
│ 在途
▼
缺料分析
│
│ 人工确认
▼
采购计划
│
▼
请购单
│
│ 审批
▼
采购订单
│
▼
到货
│
▼
质量检验
│
▼
采购入库
│
▼
生产领料
│
▼
生产
│
▼
完工入库
三十六、总结
在没有启用 MRP 的 ERP 中,整个业务的核心不是复杂的计划运算,而是建立一条清晰、可以追溯的:
需求
↓
人工计划
↓
生产执行
↓
物料需求
↓
缺料分析
↓
采购申请
↓
采购执行
对应单据就是:
销售订单
↓
生产计划
↓
生产订单
↓
采购计划
↓
请购单
↓
采购订单
其中真正连接生产和采购的核心并不是某一张单据,而是:
生产订单 + BOM + 库存 + 在途采购 = 缺料需求。
因此,在当前没有 MRP 的情况下,系统最值得优先做好的是:
生产计划管理
↓
生产订单下达
↓
BOM准确展开
↓
库存可用量计算
↓
生产缺料分析
↓
采购计划生成
↓
请购与采购执行
这套模式虽然没有完整 MRP,但已经可以形成一套比较完整的制造型 ERP 闭环。
而且将来如果企业需要增加 MRP,也不需要推翻现有设计。
因为未来 MRP 只是把现在:
人工计划
+
人工选择生产订单
+
缺料分析
+
人工计划采购
升级成:
系统自动综合计算
后面的:
生产订单
采购计划
请购单
采购订单
这些核心业务单据仍然可以继续沿用。