ERP业务知识–04-生产订单模块

生产订单模块——流程的起点与 BOM 展开,基础数据是地基,现在我们要盖楼了。生产订单是整个核心流程的起点,理解它,就理解了 ERP 业务流程的”发令枪”。

一、生产订单是什么

生产订单(Manufacturing Order,简称 MO)是一张制造指令。它告诉生产部门:生产什么、生产多少、什么时候开始、什么时候完成。 在 AperBio ERP 里,生产订单有两种来源类型:
来源类型编码规则前缀业务含义
自制生产MO企业自行组织生产
委外生产MO-S委托外部供应商加工
自制生产和委外生产在流程上基本相同,区别在于委外生产需要指定委外供应商。

二、生产订单的创建流程

2.1 核心输入项

生产计划员创建生产订单时,需要填写以下信息:
字段来源说明
生产物料物料档案(自动带出)选择成品或半成品物料
生产数量手工录入计划生产数量,必须为正数
BOM 版本BOM 管理(自动带出)选择已审核的 BOM 版本
计划开工日期手工录入不得早于创建日期
计划完工日期手工录入不得早于计划开工日期
来源类型下拉选择自制生产 / 委外生产
项目项目选择器必选,归集维度

2.2 自动带出逻辑

系统在创建时会自动完成以下动作:
  1. 根据选择的物料,自动带出物料名称、规格、单位
  2. 根据物料检索已审核的 BOM 版本
    • 只有一个已审核版本 → 自动填入
    • 有多个已审核版本 → 默认选最新版本,允许切换
    • 没有已审核版本 → 提示”请先到 BOM 管理模块维护”

三、BOM 展开——最关键的一步

生产订单创建后,系统会自动执行 BOM 展开,计算出所有底层物料的需求数量。这是整个流程中最核心的计算逻辑。

3.1 BOM 展开的规则

  1. 多级展开:从顶层产品开始,递归展开到最底层物料(采购件)
  2. 跳过虚拟件:BOM 中标记为”虚拟件”的中间层级不生成独立需求行
  3. 数量计算:每层需求数量 = 父层需求数量 × 子件单位用量
  4. 损耗率计算:单层需求数量 = 理论用量 × (1 + 损耗率)
  5. 合并汇总:同一底层物料在多条 BOM 路径中出现时,按生产订单维度汇总净需求

3.2 展开示例

假设产品 A 的 BOM 结构为:
产品 A(生产 100 个)
├── 半成品 S01(用量 1,损耗率 2%)
│   └── 铝材 R04(用量 1.5,损耗率 5%)
├── 钢材 R01(用量 2,损耗率 5%)
├── 塑料 R02(用量 0.5,损耗率 3%)
└── 螺丝 R03(用量 8,损耗率 1%)
BOM 展开计算过程:
钢材 R01:100 × 2 × (1 + 5%) = 210 kg
塑料 R02:100 × 0.5 × (1 + 3%) = 51.5 kg
螺丝 R03:100 × 8 × (1 + 1%) = 808 个

铝材 R04(经半成品 S01 路径):
  100 × 1 × (1 + 2%) × 1.5 × (1 + 5%) = 162.5 kg
展开结果展示在 BOM 展开明细表中,每张行记录包含:
  • 物料编码、名称、规格
  • BOM 路径描述(如 “A→S01→R04″)
  • 单位用量、损耗率
  • 理论需求数量、含损耗需求数量
  • 已计划数量、可计划数量(实时从生产计划单模块统计)

四、生产订单的状态机

每张单据都有生命周期状态。生产订单的状态流转如下:
                    ┌──────────┐
                    │   创建    │  (10)
                    └────┬─────┘
                         │
                    ┌────▼─────┐
                    │   已审核  │  (20)
                    └────┬─────┘
                         │ 开工
                    ┌────▼─────┐
                    │  执行中   │  (30)
                    └────┬─────┘
                         │ 完工
                    ┌────▼─────┐
                    │   完工    │  (40)
                    └────┬─────┘
                         │ 关闭
                    ┌────▼─────┐
                    │   关闭    │  (90) — 终结态
                    └──────────┘

特殊路径:
  创建 → 取消 (00)         — 审核前取消
  执行中/完工 → 关闭 (90)   — 强制关闭
状态转换规则:
动作起始状态目标状态条件
保存创建必填字段完整,BOM 自动展开
审核创建已审核BOM 版本已审核、展开已完成
开工已审核执行中
完工执行中完工
关闭完工关闭
强制关闭执行中/完工关闭需填写原因
取消创建取消需填写原因
审核后锁定:已审核的生产订单不可编辑、不可删除、不可取消。这是为了保证数据的准确性——一旦审核通过,所有下游单据都基于这个数据生成,随意修改会导致数据不一致。

五、生产订单的业务规则

编号规则说明
MO-R001物料必选必须选择已启用的物料
MO-R002BOM 版本必选必须选择已审核的 BOM 版本
MO-R003数量为正生产数量必须 > 0
MO-R004日期逻辑完工日期 ≥ 开工日期 ≥ 创建日期
MO-R005审核后锁定已审核状态不可编辑
MO-R006取消后不可逆取消状态不可回退
MO-R007限制删除已有下游单据的订单不可删除
MO-R008BOM 展开强制审核前必须执行过 BOM 展开
MO-R009委外供应商委外生产类型需指定委外供应商
MO-R010项目必选生产订单必须选择项目

六、异常场景

编号场景处理方式
MO-E001物料无 BOM不允许审核,提示先维护 BOM
MO-E002BOM 循环引用系统检测到循环后终止展开并报错
MO-E003BOM 展开后无采购件允许通过,但下游计划步骤无物料可计划
MO-E004修改已生成计划的订单阻止修改,提示先处理生产计划单
MO-E005取消时已生成计划允许取消,系统提示生产计划单同时作废

七、小结

生产订单是整条业务链的起点。它的核心职责有两个:
  1. 下达生产指令:告诉车间要生产什么、生产多少
  2. 驱动物料需求:通过 BOM 展开计算需要采购哪些物料
理解生产订单,就理解了 ERP 如何把”生产计划”转化为”采购需求”。 下一篇我们继续:生产计划单——生产订单与采购计划之间的桥梁。
这是「ERP 业务知识系列」第 4 篇,系列共 15 篇。

发表评论