工厂里"生产计划排不出来",表面看是两个原因:一是不知道产能够不够,二是不确定物料齐不齐。前者靠排产规则和工时数据,后者几乎全部压在一样东西上——BOM。
很多工厂的 BOM 是"给客户看的那张表":结构两三层,写着成品由哪些零件组成,配着图片。这张表能报价,但撑不起生产计划。真正撑得起计划的 BOM,要能一层层展开到最末级物料,每一层都有准确的用量、损耗、替代关系和生效版本。缺了这些,计划只能靠老师的经验估。
一、BOM 到底是什么
狭义上的 BOM(Bill of Materials,物料清单)就是产品结构(Product Structure):描述一个产品由哪些物料、按什么层次、用多少数量组成。它是树状的——成品挂在最上层,下面是部件、组件,最下面是采购件和原材料。
一张能用的 BOM,至少有六个字段是跑不掉的:
- 父项与子项:谁包含谁,层级关系必须清楚。
- 单位用量:生产一个父项要消耗多少子项。注意单位统一,一个按"个"、一个按"千克",算出来必错。
- 损耗率:实际投料要多于理论用量,比如注塑、裁切、喷涂都有损耗。不写损耗率,算出来的需求永远偏少。
- 替代料:主料缺货时用哪个料替代、按什么比例替代。没有替代关系的 BOM,一缺料就停线。
- 虚拟件:有些层级只是为了管理方便(比如"包装组件"),实际不单独入库。虚拟件要标出来,否则系统会凭空生成一堆莫名其妙的工单。
- 版本与生效日期:产品改设计是常态,BOM 必须带版本。同一个产品两个版本并存,采购就会买错料。
二、生产计划要回答的问题,全部依赖 BOM 展开
计划本质上要回答四个问题:
- 要做什么、做多少 —— 用成品需求减去现有库存,得出净需求。
- 要买什么、买多少 —— 把净需求按 BOM 逐层展开成原材料和采购件需求。
- 什么时候买、什么时候做 —— 用交期倒推,扣掉采购提前期和加工提前期。
- 能不能做 —— 结合工艺路线与产能,看设备与人力是否冲突。
四个问题里有三个靠 BOM 展开(专业说法是 MRP 展开:把独立需求变成相关需求)。BOM 不准,展开出来的数字就是错的,计划从第一行就站不住。
三、一个算例,把"展开"讲清楚
假设要交 100 台成品 A,结构是三层:
| 层级 | 父项 | 子项 | 单位用量 | 损耗率 |
|---|---|---|---|---|
| 1 | 成品 A | 半成品 B | 1 | 0 |
| 1 | 成品 A | 采购件 C | 2 | 1% |
| 2 | 半成品 B | 原料 E | 3 | 2% |
| 2 | 半成品 B | 采购件 F | 1 | 0 |
先算毛需求。A 交 100 台,B 需要 100 个,C 需要 200 个。B 再展开:E 需要 300,F 需要 100。
再算损耗。C 损耗 1%,实际要买 200 ÷ (1 − 1%) ≈ 202 个;E 损耗 2%,实际要投 300 ÷ (1 − 2%) ≈ 307。注意是除以(1−损耗率),不是乘以(1+损耗率)——这两种算法在小损耗时差别很小,损耗一大就差得离谱,很多厂的"总是差一点料"就出在这里。
然后扣库存。如果 B 仓里还有 30 个可用,那 B 只需要生产 70 个,E 与 F 的需求跟着变成 70 对应的量:E 约 215,F 70。这一步是 BOM 与库存的结合点,也是"有 BOM 但计划还是不准"的常见原因——库存不准,减出来的净需求就错。
最后倒推时间。假设 E 采购提前期 7 天、B 加工 3 天、A 装配 2 天,那么从成品交期往回推 12 天,E 的采购单就必须下出去。晚一天,交期就保不住。这就是"什么时候买"的答案,靠的是 BOM 加提前期,不是靠人催。
四、BOM 不准,会以这五种方式暴露出来
缺料停线,而且总缺同一种料
典型症状是某颗螺丝、某个胶件反复缺。这说明损耗率没设或设小了,或者 BOM 里根本没这个料(有些辅料被认为"不值钱"就没进 BOM)。
库存虚高,账面有货实际没有
BOM 用量写大了,采购就会多买,账面越滚越大;实际生产用不了那么多,实物和账面慢慢分离。反过来用量写小了,就是持续缺料。
呆滞料越堆越多
改设计之后没更新 BOM,或者新旧版本同时在用,采购按旧版本继续买,旧料最后全变成呆滞。
成本算不准,报价靠猜
材料成本是按 BOM 用量 × 单价累计出来的。BOM 不准,单台成本就是错的,报价要么接单即亏,要么高得接不到。
交期承诺失准
计划按错的 BOM 排,采购按错的量买,最后交期必然靠加班和空运补,成本摊在看不见的地方。
五、怎样把 BOM 做准
第一,明确谁维护。BOM 是技术文件,应该由工程/技术部门维护,生产、采购只能提修改申请,不能各自改。最常见的管理失控就是"谁都能在系统里改用量"。
第二,版本与变更单(ECN)。每次改设计都必须走变更单:改哪一层、从哪一批生效、旧料怎么处理(用完、退回、报废)。生效日期要写具体到天,不要写"尽快"。
第三,一次只改一处。同时改用量、改供应商、改结构,出了问题查不出原因。改完用一张真实工单验证实际领料量对不对。
第四,三层以上的产品必须有清晰层级。不要把所有料平铺在成品下面,那样看不出装配顺序,也算不出半成品的生产计划。
第五,定期核对。每季度抽两三个主力产品,用实际领料单反查 BOM 用量差异。差异超过 3% 就要查原因,别等到年底盘点才发现。
第六,把损耗率当数据管。损耗率不是拍出来的,应该用一段时间的实际领料 ÷ 理论用量反算,再留一点安全余量。季节性、设备状态都会影响损耗,固定一个数用三年是不现实的。
六、BOM 之外还要配什么
光有 BOM 还不够,还需要三样东西配合:准确的库存(否则净需求算错)、提前期数据(采购与加工的周期,否则排不出时间)、工艺路线与产能(否则排出不能执行的计划)。BOM 是骨架,这四样合起来才是一份能落地的计划。系统层面,这就是工厂管家 ERP里 BOM、库存、采购、生产几个模块必须一起用的原因——只开一个模块,链条断在哪里都看不见。
给现有 BOM 做一次体检,八项就够
不用等系统上线,现在就能查。拿两个主力产品,逐项打勾:
- 成品到最末级物料,层级是不是完整,中间有没有断层的"空壳"部件?
- 每个子项的单位是否统一(个/千克/米),有没有出现 0.001 这种明显不对的用量?
- 关键物料有没有写损耗率?损耗率最近一次校正是什么时候?
- 有没有替代料,缺主料时采购知道该买什么?
- 虚拟件是否标注,避免系统生成不该有的工单?
- BOM 版本是不是唯一?旧版本是否已失效并注明失效日期?
- 最近三次改设计,是否都同步改了 BOM 与库存处理方式?
- 抽三个子项,用实际领料量反算偏差,是否都在 3% 以内?
八项里打不了勾超过三项,说明 BOM 还处在"能报价、不能排产"的阶段,先补基础再谈计划优化。
七、常见疑问
BOM 要做几层?
按实际装配层级来,不要为了好看强行加层,也不要为了省事强行压平。判断标准:某一层需要单独下达生产任务、单独入库、单独核算成本,就该单独成层。
辅料、包材要不要进 BOM?
要,尤其是会消耗成本的辅料。可以不参与排产,但必须参与需求计算与成本核算,否则单台成本永远偏低。
客户经常改配置怎么处理?
用"可选件/配置 BOM":把不变的做成通用 BOM,把变动的做成可选组,接单时按客户配置生成具体 BOM。不要为每个订单单独建一套 BOM,否则数据量会失控。
没有 BOM 能不能先上 ERP?
能开单,但排产和采购建议这两块基本用不起来,系统会退化成"记账工具"。如果暂时没有完整 BOM,建议先做主力产品的,一个产品跑通再扩展。
怎么验证 BOM 准不准?
最简单的办法:拿最近完成的一张真实工单,把实际领料量与 BOM 理论用量逐项对比,看差异率。差异大的项就是要修的地方。这比在会议室讨论一整天有效。
八、想系统地整理一遍 BOM
如果你的工厂正卡在"计划排了执行不了",建议先做一次 BOM 体检:抽两个主力产品,按实际领料反查用量,看结构层级是否清楚、损耗率是否有依据、版本是否唯一。这一步通常能找出七成问题。
需要 ERP 方案交流或 BOM 梳理支持,可以致电 13827550139(微信同号)或 0758-2773716,也可以通过联系我们说明行业与产品结构。入门操作可以看ERP 系统入门,系统整体能力见ERP 系统能做什么。



