MRP 运算
MRP(物料需求计划)根据生产计划、销售订单和销售预测,按物料清单逐层展开,算出每个物料还缺多少、什么时候要,给出「自制件开工单、采购件下采购订单」的建议。生产计划员确认建议后一键下达,生成草稿工单和草稿采购订单。
页面入口
生产制造 → 生产计划 → MRP 运算
MRP 运算在 生产计划 页面发起(勾选已确认的计划后点击「MRP 运算」),本页面用于查看运算记录和结果、调整建议、下达,以及维护销售预测。

页面从上到下分为三块:运算记录、运算结果、销售预测。
运算记录
| 列 | 说明 |
|---|---|
| 运算号 | 系统自动生成,前缀 MR。点击行即在下方显示该次结果 |
| 参与计划 | 参与运算的计划号;下方灰字为需求来源,如「生产计划、销售订单、销售预测 3 个月」 |
| 结果行数 | 本次运算涉及的物料行数 |
| 待下达 | 还没有下达的建议行数,没有时显示「无」 |
| 运算人、运算时间 |
每页显示 5 条。进入页面时默认显示最近一次运算;从生产计划页面发起运算后会直接定位到新运算。
运算结果
结果列表
| 列 | 说明 |
|---|---|
| 物料(低层码) | 「L0」「L1」「L2」…为物料的低层码,并按层级缩进。L0 是计划的产品,L1 是它的直接子件,依此类推 |
| 方式 | 物料属性:自制、采购、委外、虚拟件 |
| 毛需求 | 上层需求(计划、订单、预测,或上层建议数量按 BOM 展开)的合计 |
| 库存 | 全部仓库的现有库存 |
| 在途 | 采购件、委外件为未完成的采购订单数量;自制件为未完工工单的未完工数量 |
| 已分配 | 未结束工单中尚未领用的用料数量,这部分库存已被占用 |
| 安全库存 | 物料主数据中设置的安全库存,计算时预留 |
| 净需求 | 大于 0 时以橙色突出显示 |
| 建议数量 | 按批量规则取整后的建议下单 / 生产数量;待下达的行可以直接修改 |
| 日期 | 「需」为需求日期;「开工」(自制件)或「下单」(采购、委外件)为建议日期;虚拟件显示「虚拟件」 |
| 供应商 | 采购、委外件的供应商,默认取物料的默认供应商,待下达的行可以更换;下方显示单价 |
| 状态 | 待下达 / 已下达(下方显示生成的单据号)/ 已作废 / 无需处理 |
计算方法
系统按以下步骤计算:
收集需求:勾选的生产计划(产品、数量、需求日期);勾选「计入销售订单的未计划需求」时,加上已审核、未完成的销售订单中还没有生成生产计划的未出库数量;计入销售预测时,加上本月起若干个月的预测数量(扣减同月已有的销售订单,需求日期取该月 1 日,早于今天的按今天)。同一物料的需求合并,需求日期取最早的。
多级展开:按默认物料清单逐层展开。物料属性为「采购」的物料即使有 BOM 也不展开;属性需要 BOM(自制、委外、虚拟件)却没有启用的默认 BOM 时,运算报错并提示物料名称。
计算低层码:同一物料可能出现在多个产品、多个层级中,低层码取它在所有 BOM 中出现的最深层级。系统按低层码从上到下逐层计算,保证一个物料的所有上层需求都汇总完了再计算它,不会重复或遗漏。
计算净需求:
净需求 = 毛需求 - (库存 + 在途 - 已分配 - 安全库存),结果小于 0 时按 0 计。
批量规则取整,得到建议数量(见下文)。
计算建议日期:建议日期 = 需求日期 - 提前期。
向下层传递:自制、委外件的建议数量按 BOM 用量(含损耗率)展开为下一层的毛需求,下层的需求日期就是本层的开工 / 下单日期。
示例:计划生产 20 台主机,主机库存 9、在途 2、已分配 0、安全库存 5,净需求 = 20 - (9 + 2 - 0 - 5) = 14 台,建议生产 14 台;再按 BOM 把 14 台展开,主板的毛需求为 14 块……
物料属性对运算的影响
物料属性在「仓库 → 物料管理」的物料编辑抽屉「生产计划」分区中维护(需要相应权限)。
| 物料属性 | 运算方式 | 下达结果 |
|---|---|---|
| 自动(未设置) | 有启用的默认 BOM 按自制,否则按采购 | 同自制 / 采购 |
| 自制 | 计算净需求,按 BOM 展开子件 | 草稿生产工单 |
| 采购 | 计算净需求,有 BOM 也不展开 | 按供应商合并的草稿采购订单 |
| 委外 | 计算净需求,同时按 BOM 展开需要提供给加工商的子件 | 向供应商(加工商)下草稿采购订单 |
| 虚拟件 | 不入库的中间组件:不扣库存、不建议生产,毛需求原样传给子件,状态为「无需处理」 | 不下达 |
批量规则
建议数量在净需求的基础上依次处理:
- 不低于物料的最小批量;
- 采购、委外件不低于默认供应商的最小起订量;
- 向上取整到批量倍数的整数倍;
- 启用了序列号管理的物料取整数。
例如净需求 37、最小批量 50、批量倍数 20:先取 50,再向上取整到 20 的倍数,建议数量为 60。
净需求为 0 时建议数量为 0,状态为「无需处理」。
提前期
| 物料 | 提前期取值 |
|---|---|
| 物料计划属性中设置了提前期 | 优先使用该提前期 |
| 自制件 | 默认 BOM 的生产提前期 |
| 采购、委外件 | 默认供应商供货价格中的采购提前期,没有时为 0 |
再次运算与作废
每次新运算后,之前所有运算中还没有下达的建议自动变为「已作废」(鼠标移到标签上提示「之后又运行了 MRP,本次未下达的建议已作废」),避免按过时的库存和在途数据重复下单。已下达的建议不受影响。
调整与下达
- 在运算记录中选择要下达的运算(通常是最新一次)。
- 对「待下达」的行可以:
- 修改建议数量(修改后立即保存);
- 采购、委外件更换供应商,单价自动改为该供应商的供货价格。
- 勾选要下达的行(只有「待下达」的行可以勾选)。
- 可选:在右上角选择「工单完工 / 采购收货仓库」,作为生成单据的默认仓库。
- 点击「下达所选(n)」并确认。系统提示生成的单据号。
下达规则:
- 自制件:每行生成一张草稿生产工单(来源标记「MRP」),数量为建议数量,计划开工为建议日期,计划完工为需求日期,使用默认 BOM,备注「MRP 运算号」。只有一个生产计划参与运算时,该计划产品的工单关联到计划(完工后计划可以自动关闭)。
- 采购、委外件:按供应商合并,每个供应商生成一张草稿采购订单(来源「MRP」),交货日期取这些行最早的需求日期;单价优先取结果中的单价,否则取供货价格。
- 建议数量为 0 的行不能下达;采购、委外件没有供应商时提示「请先为采购 / 委外件指定供应商」。
- 下达后的行状态变为「已下达」,并显示生成的单据号。
生成的工单需要到 生产工单 中下达,采购订单需要到「供应链 → 采购订单」中审核。
销售预测
页面底部的「销售预测」用于维护未来月份的预测需求,MRP 运算时可以选择计入。

- 列表显示本月及以后的预测:月份、物料、预测数量、备注,可按物料编码或名称搜索。
- 点击「预测」新增,填写物料、月份、预测数量(必填,大于 0)和备注;在操作列可以「修改」「删除」。
- 运算时,预测数量会扣减同一月份已审核、未完成的销售订单数量,剩余部分作为需求。
与其他模块的联动
| 方向 | 说明 |
|---|---|
| 读取 | 生产计划、销售订单、销售预测(需求);物料清单(结构、用量、损耗率、生产提前期);仓库库存;采购订单与生产工单(在途);工单用料(已分配);物料的安全库存、计划属性;供应商供货价格(默认供应商、提前期、最小起订量、阶梯价) |
| 生成 | 草稿生产工单、草稿采购订单 |
注意事项
提示
MRP 不区分仓库,库存取全部仓库的合计;不使用替代料(替代料只在 齐套分析 中手工切换);同一物料的需求合并后取最早日期,不按周、按天分段计算。
注意
- 下达前请先确认库存、在途数据已经是最新的;如果期间又发生了大量出入库,建议重新运算。
- BOM 层级超过 50 层时运算会提示可能存在循环引用。