MRP 并不神秘:生产什么、采购什么
物料清单、毛需求与净需求、库存、在途订单和提前期,配一个两层结构的完整算例。
一笔大订单进来,要求六周后交货。车间主任说材料足够;采购说三聚氰胺板的供应商要三周才能到货;仓库只找到系统显示数量的一半。到了第四周,生产线因为一个没人订购的零件停了下来,而另一种原料却重复采购了两次,占掉了半个库房。
解决这种混乱的方法有一个专业名称:MRP(物料需求计划)。它不是一款软件,而是一种方法。本文用一个可以在电子表格里复现的例子来讲解。
你需要的基本要素
- 物料清单(BOM):一个单位产品需要哪些组件、各需多少。它分层级:成品是第 0 层,直接组件是第 1 层,组件的组件是第 2 层。
- 需求:已确认的订单,以及(如果你使用的话)预测,并附带日期。
- 可用库存:实物库存减去已分配给其他订单的数量。
- 计划接收量:已下达的采购单和正在进行的生产订单,并且会在需求日期之前到位。
- 提前期:从下单或开始生产到组件可用所需的时间。
- 安全库存与采购批量:你希望保留的最低缓冲,以及供应商的销售单位(整箱、倍数)。
公式
组件毛需求 = 父项净需求 × BOM 中的单位用量
净需求 = 毛需求 − 可用库存 − 计划接收量 + 安全库存(结果为负则取零)
下达日期 = 需求日期 − 提前期
最容易被忽略的一点:组件的毛需求要按父项的净需求计算,而不是父项的毛需求。如果你已经有成品桌子,就不需要再为它们准备桌面。
分步方法
- 按 BOM 层级排列物料,从第 0 层开始。
- 计算成品的净需求及其日期。
- 展开 BOM:用该净需求乘以每个组件的用量,得到组件的毛需求。
- 计算每个组件的净需求,扣除库存和计划接收量,加上安全库存。
- 按批量取整(采购批量或生产批量)。
- 减去提前期,确定每张订单的下达时间。
- 下降一层,重复上述步骤,直到外购原料。
- 复核建议,然后再转为正式订单。
两层结构算例
假设一家家具厂接到一笔 200 张桌子的订单,要求第 6 周交货。物料清单如下(数字均为假设):
- 第 0 层:桌子。
- 第 1 层:每张桌子 1 块桌面(自制)和 4 条桌腿(外购)。
- 第 2 层:每块桌面用半张三聚氰胺板(外购,按 10 的倍数采购)和 2.4 m 封边条(外购)。
初始数据:
| 物料 | 可用库存 | 计划接收量 | 安全库存 | 提前期 |
|---|---|---|---|---|
| 桌子 | 20 | 0 | 0 | 1 周(组装) |
| 桌面 | 30 | 50(生产中) | 0 | 1 周(生产) |
| 桌腿 | 120 | 200(第 3 周到货) | 0 | 2 周(供应商) |
| 三聚氰胺板 | 10 | 0 | 5 | 3 周(供应商) |
| 封边条 | 300 m | 0 | 0 | 1 周(供应商) |
第 0 层和第 1 层
| 物料 | 毛需求 | − 库存 | − 计划接收 | + 安全库存 | 净需求 | 需求时间 | 下达时间 |
|---|---|---|---|---|---|---|---|
| 桌子 | 200 | 20 | 0 | 0 | 180 | 第 6 周 | 第 5 周 |
| 桌面(180 × 1) | 180 | 30 | 50 | 0 | 100 | 第 5 周 | 第 4 周 |
| 桌腿(180 × 4) | 720 | 120 | 200 | 0 | 400 | 第 5 周 | 第 3 周 |
注意,桌面和桌腿是按 180 张净需求计算的,而不是按订单的 200 张。
第 2 层
| 物料 | 毛需求 | − 库存 | − 计划接收 | + 安全库存 | 净需求 | 按批量取整 | 需求时间 | 下达时间 |
|---|---|---|---|---|---|---|---|---|
| 板材(100 × 0.5) | 50 | 10 | 0 | 5 | 45 | 50 | 第 4 周 | 第 1 周 |
| 封边条(100 × 2.4 m) | 240 m | 300 m | 0 | 0 | 0 | 0 | — | — |
MRP 的结果是五项具体决策:
- 第 1 周:采购 50 张三聚氰胺板。
- 第 3 周:采购 400 条桌腿。
- 第 4 周:生产 100 块桌面。
- 第 5 周:组装 180 张桌子。
- 封边条:无需采购,库存足够。
如果工厂按 200 张桌子“凭感觉”计算,就会买 800 条桌腿和 100 张板材。另外,如果在途的 200 条桌腿是第 6 周而不是第 3 周到货,就不应计入:计划接收量只有在需求日期之前到位,才能抵减需求。
为什么 MRP 只给建议,由人来决定
计算是机械的,决策却不是。MRP 并不知道:
- 第 4 周桌面生产线已被另一笔订单占满(产能)。
- 桌腿供应商在采购 500 条时会给更好的价格。
- 库存里有一种同样适用的替代材料。
- 资金部门本月付不了这笔采购款。
- 客户可能会修改订单,不妨再等等。
因此 MRP 的结果是建议:计划人员逐条复核,接受合理的,调整其余的,然后才转为生产订单或采购订单。
常见错误
- BOM 过时:设计变更没有同步到物料清单,整个计算都会出错。
- 库存不可靠:系统库存与实物不符,MRP 就是在虚构的数据上计算。循环盘点是必要条件,不是奢侈品。
- 提前期过于乐观:采用供应商承诺的交期,而不是实际兑现的交期。
- 忽略损耗:如果切割桌面会产生边角料,BOM 应当用损耗系数把它算进去。
- 单位混用:供应商按张卖板材,BOM 却按平方米消耗;没有明确的换算,数量就对不上。
- 按父项毛需求展开:会把库存已覆盖的需求重复计算。
- 每月只运行一次 MRP:需求每周都在变,计划也应随之更新。
- 每天把所有计划推倒重来:这是另一个极端。冻结未来几周的订单,只调整更远期的部分。
判断是否有效的指标
- 缺料停线次数:生产线每月因等待组件而停工的次数。
- 建议接受率:被接受的建议数 ÷ 生成的建议数。如果偏低,说明主数据(BOM、提前期、库存)与实际不符。
- 库存准确率:盘点结果与系统一致的物料数 ÷ 盘点的物料数。
- 订单准时率:在计划日期完工的生产订单数 ÷ 总数。
交给系统来做
产品不多时,用包含这些表格的电子表格就足够了。当物料清单有多个层级、订单每周都在变化时,像 MKA 这样的 ERP 可以展开配方、将需求与库存进行比对,并提出生产和采购建议,由你逐行接受或拒绝(查看计划与 MRP)。