← 返回应用场景

MRP 缺料怎么算:展开需求、扣除可用量,再生成采购建议

MRP 最容易算错的地方,是重复扣订单预留,或把已经分配的在途再次用于新需求。本文用 100 套生产计划演示从 BOM 毛需求到 150 件净缺口、200 件采购建议的完整计算。

通用场景示例,非真实客户案例。文中数据用于说明方法,不代表已交付结果。

直接结论:先定义本次需求范围,再分别扣除尚未占用的库存和按时可用的未分配在途;净缺口与按包装取整的采购量要分开显示。

适用读者:需要从生产计划生成物料需求和采购建议的计划、采购及仓库人员。

计划数量之外,还要明确需要哪天可用

MRP 的输出应同时说明需要多少物料、需要何时可用。ERPNext 官方文档也将数量、需要日期和采购或制造提前期列为计划要素。下面给出一个独立的简化算例,不代表任何 ERP 的默认算法。假设本次计划生产 100 套产品,每套需要 X 物料 3 件,BOM 版本已确定,不计损耗,因此毛需求为 300 件。

本次计划尚未包含在其他工单的预留中,所有库存和在途取同一时点快照。若本计划已产生预留,重算时应把本计划的已有预留计入它可用的供应,不把它当成其他需求的占用再次扣除;这属于计算归属的识别,不要求先释放实际预留。

先算出能给本计划使用的供应

X 物料的示例供应口径
项目原始数量本计划可用量
当前合格库存120 件扣其他需求已预留 10,剩 110
需要日前可用的在途100 件扣已分配其他需求 40,剩 60
需要日之后的在途50 件本次按时可用量为 0

这里 110 已经扣过库存预留,60 已经扣过在途分配,后续公式不再扣 10 或 40。“可用日期”包含本例要求的到货验收时间;运输到达但还不能领料的数量不能提前填入。

150 件缺口为什么对应 200 件建议采购

假设本次计算要求领料后保留安全库存 20 件,且这 20 件没有预先从上述 110 件可用量中剔除,则净缺口 = max(0, 300 + 20 − 110 − 60) = 150 件。供应商每包 100 件、只接受整包采购,且没有更高 MOQ,因此建议购买 200 件。

按计划领料后的预计余额为 110 + 60 + 200 − 300 = 70 件,其中 20 件是安全库存目标,50 件来自整包取整。报表应同时列出净缺口 150、建议采购 200 和预计余量 70,不能用一个“缺料 200”掩盖采购约束。

日期改变时,数量也可能改变

如果原先可用的 60 件在途延期到需要日之后,净缺口变为 300 + 20 − 110 = 210 件,整包建议采购 300 件。系统应指出缺口扩大是哪个采购行的日期变化造成的,而不是只覆盖总数。反过来,已存在但未及时关联的采购单必须先纳入供应,避免重复下单。

建议下单时间可按需要日向前扣除采购与入库准备时间,采用哪种日历应明确。算出的日期已过去时,应标为需要协调交期的例外,不把日期悄悄改成今天并假定仍能准时生产。

采购建议需要可以追溯到需求

建议行保留计划编号、BOM 版本、物料、毛需求、可用库存、可用在途、缓冲数量、净缺口、取整规则与需要日期。采购批准后关联生成的订单行;后续重算识别已建立的供应。测试至少覆盖库存预留、在途已分配、在途延期、包装取整和同一计划重算,确认每一笔供应只被使用一次。

MRP 净缺口与采购建议计算单

计划编号 / BOM 版本 / 生产数量 / 需要日期:
物料 / 单位 / 单套用量:
毛需求 = 生产数量 × 单套用量:
合格库存:;其他需求预留:;本次未占用库存:
需要日前可用在途:;已分配其他需求:;本次未分配在途:
需要日之后的供应(仅展示,不扣本次缺口):
安全库存目标:;是否已经在可用库存中扣除:
净缺口 = max(0, 毛需求 + 尚未扣除的安全库存目标 − 本次未占用库存 − 本次未分配在途)
MOQ / 包装倍数:;建议采购量:
预计领料后余额:;其中取整余量:
建议下单日 / 采用日历 / 日期异常:
已关联采购单行:;本次计算版本:

可直接选中文本,手动复制。

参考来源

您是否也遇到类似问题?

从一个表格、一项功能或一段流程入手,找到适合您的优化方案。

沟通我的需求