4. 物料需求计划(MRP):MRP运算逻辑、BOM结构、净需求计算

各位工程师朋友,咱们今天聊聊MRP。说实话,我刚入行那会儿,觉得MRP就是个自动算数的工具,把订单往里一扔,系统就告诉你该买啥、该做啥。后来吃过几次亏才明白——MRP的运算逻辑,本质上是一套「供需平衡」的推演游戏。你想想看,工厂里最怕什么?不是订单少,而是明明有料却做不出货,或者料堆成山但客户要的型号偏偏缺。

好,咱们直接进入正题。

4.1 MRP的运算逻辑:从需求到供应的推演

MRP的核心逻辑,说白了就是三个步骤:需求展开 → 毛需求计算 → 净需求计算。我习惯把它比作「剥洋葱」——从最外层的成品订单,一层层剥开BOM,算出每一层物料的需求。

核心公式:

净需求 = 毛需求 - 现有库存 - 在途订单 + 安全库存

嗯,这里要注意:毛需求是「客户要多少」,净需求是「你还得再弄多少」。我在项目中遇到过一家做小家电的工厂,他们每次MRP跑出来都显示缺料,但仓库里明明堆着半成品。后来一查,原来是BOM层级设错了,半成品被当成了独立需求件,根本没参与MRP运算。你看,逻辑本身不复杂,但细节能坑死人。

4.2 BOM(物料清单)结构:MRP的骨架

BOM是什么?就是产品的「配方」。没有BOM,MRP就是无源之水。我个人习惯把BOM分成三种常见结构:

  • 单层BOM:只列直接物料,适合简单组装品。比如一个包装盒,直接就是纸板+印刷+胶水。
  • 多层BOM:按层级展开,从成品到原材料。比如一台电脑,先拆成主板、硬盘、外壳,主板再拆成芯片、电容、PCB板。
  • 模块化BOM:按功能模块组合,适合配置型产品。比如汽车,发动机模块、内饰模块、电子模块,每个模块独立展开。

我建议你在搭建BOM时,一定要控制层级深度。超过6层的BOM,MRP运算效率会明显下降。我曾经帮一家机械厂优化过BOM,他们一个产品拆了12层,结果每次MRP跑完都要半小时。后来我们把中间层合并,压缩到5层,运算时间直接降到3分钟。

小技巧:BOM中的「虚拟件」是个好东西。比如一个组件在工艺上需要先组装,但库存管理上不需要单独管理,就可以设成虚拟件。MRP会跳过它,直接展开到下一层物料。

4.3 MRP的净需求计算:实战中的关键

净需求计算,是MRP最核心也最容易出错的地方。咱们用一个例子来演示:

场景:客户要100台产品A,每台A需要2个零件B和1个零件C。现有库存:A有10台,B有50个,C有20个。在途订单:B有30个下周到货,C有10个下周到货。安全库存:B设了20个,C设了10个。

第一步:计算毛需求

  • A的毛需求 = 100台
  • B的毛需求 = 100 × 2 = 200个
  • C的毛需求 = 100 × 1 = 100个

第二步:计算净需求

  • A的净需求 = 100 - 10 = 90台(不需要安全库存,因为成品一般不设安全库存)
  • B的净需求 = 200 - 50 - 30 + 20 = 140个
  • C的净需求 = 100 - 20 - 10 + 10 = 80个

注意:安全库存的加减方向别搞反了。安全库存是「缓冲」,所以净需求要加上它。我曾经见过一个新手把安全库存当成了库存来减,结果净需求算出来是负数,系统直接跳过了采购建议,导致产线停了两天。

你看,这个计算过程其实不复杂。但实际项目中,BOM层级一多、物料种类一多,就容易乱。我建议你养成一个习惯:每次跑完MRP,先抽查几个关键物料的净需求,手动算一遍验证。别全信系统,系统也是人设的规则。

4.4 MRP运算逻辑流程图

下面我用一张SVG图,把MRP的完整运算逻辑画出来。你一看就明白:

MRP运算逻辑流程图 客户订单 / 预测 毛需求计算 BOM展开(逐层分解) 净需求计算 生成采购/生产计划 输入数据 • 现有库存 • 在途订单 • 安全库存 • 提前期 输出结果 • 采购建议 • 生产工单 • 委外计划 • 物料预留 关键参数 • 批量规则 • 损耗率 • 替代物料 • 低层码

这张图把MRP的运算路径画得很清楚。从客户需求出发,经过毛需求、BOM展开、净需求,最后生成计划。右侧和左侧是输入输出参数,你跑MRP之前,一定要把这些参数确认好。

4.5 实战中的避坑指南

最后,我分享几个实战中容易踩的坑:

  • BOM版本混乱:我曾经遇到一家工厂,工程部改了BOM但没通知计划部,结果MRP按旧BOM跑,采购了一堆用不上的料。建议你建立BOM版本管理机制,每次变更必须走审批流程。
  • 提前期设置不合理:MRP的排程依赖提前期。如果采购提前期设得太短,系统会一直催货;设得太长,库存又会积压。我建议你每季度复盘一次提前期,根据供应商实际表现调整。
  • 忽略低层码:MRP是按低层码逐层计算的。如果低层码设错了,会导致物料需求重复计算。比如一个零件既出现在第2层又出现在第3层,系统会算两次。嗯,这个坑我踩过,后来花了三天才把数据清干净。

我的个人习惯:每次MRP跑完后,我会导出「例外信息」报表,专门看那些提前或延期的建议。这些异常往往能暴露出BOM或参数的问题。别只看正常数据,异常数据才是宝藏。

好了,MRP的核心逻辑就讲到这里。你想想看,其实MRP不神秘,它就是一套「要什么、有多少、还差多少」的算账逻辑。但要把这套逻辑跑顺,BOM的准确性、参数的合理性、流程的规范性,一个都不能少。下次你跑MRP之前,不妨先检查一下这三个方面,保证能少踩很多坑。


专注资料整理