BOMBill of Materials,物料清单)是描述一个产品由哪些零部件、材料、软件、包装和工艺相关项目组成的结构化清单。

OEMODMEMS(电子制造服务)JDM(联合设计制造) 项目里,BOM 是设计、采购、制造、成本、质量和售后之间共享的核心工程语言。

核心问题

产品不能只靠一个名称或图纸量产。工厂需要知道具体使用哪些物料、每个物料用几个、哪个版本、允许哪些替代料、谁供应、成本多少、是否需要序列号追溯。

BOM 解决的是“把产品结构转化为可采购、可制造、可计算成本、可追溯的清单”的问题。

核心对象

对象含义工程关注点
BOM item一行物料或组件名称、料号、规格、数量、版本
Part number内部或供应商料号不能随意复用
Revision版本号决定设计、采购和生产是否匹配
Quantity单台产品用量影响成本和采购需求
Approved vendor认可供应商控制质量、交期和认证
Alternate part允许替代物料必须经过工程和质量确认
Reference designator元器件在电路板上的位置标识用于贴片、维修和失效分析
Unit cost单项成本用于报价和毛利分析
Traceability field批次、序列号或供应批信息支撑 RMA 和质量追溯

一个简化 BOM 行可以长这样:

item: 10
part_number: CAP-0603-10UF-16V-X5R
description: capacitor, 0603, 10uF, 16V, X5R
quantity: 12
approved_vendors: vendor_a, vendor_b
revision: A2

这行表达的不是“随便买一个 10uF 电容”,而是把规格、封装、耐压、介质、数量、版本和认可供应商都固定下来。

核心机制

BOM 通常形成树状产品结构:

finished product
  -> main board assembly
    -> PCB
    -> IC
    -> resistor
    -> capacitor
  -> enclosure
  -> cable
  -> packaging
  -> firmware image

成本估算可以用一个最小模型表示:

unit_material_cost = sum(quantity_i * unit_price_i)
  • i 表示 BOM 中的一行物料。
  • quantity_i 是生产一台成品需要的该物料数量。
  • unit_price_i 是该物料单价。
  • sum(...) 表示把所有物料行的成本加总。

这个公式只计算物料成本,不包括加工费、测试费、损耗、关税、物流、库存资金、返工和售后成本。因此报价时不能把 BOM 成本误认为完整产品成本。

常见 BOM 类型包括:

  • EBOM:工程 BOM,反映研发设计意图。
  • MBOM:制造 BOM,反映工厂实际生产、工序和包装结构。
  • SBOM:软件物料清单,描述软件组件、版本和许可证。
  • Service BOM:维修 BOM,描述备件、替换件和售后组件。

工程用途

  • 采购计划:按订单和产量计算物料需求。
  • 成本核算:估算单台成本、报价、毛利和降本空间。
  • 量产导入:把研发设计转成工厂可执行的采购和装配清单。
  • 替代料管理:在缺料或降本时控制哪些物料可以替换。
  • 质量追溯:通过批次、供应商和版本定位问题范围。
  • 售后维修:通过备件结构和版本信息处理 RMA

边界与常见坑

  • BOM 不等于图纸:图纸描述形状、连接和设计细节,BOM 描述物料结构和用量。
  • BOM 不等于 SKU:SKU 是可售规格,BOM 是构成这个规格的物料结构。
  • EBOM 和 MBOM 不能长期脱节:研发改了物料但制造 BOM 没更新,会造成采购、生产和质量事故。
  • 替代料不是随意等价:封装相同不代表性能、寿命、认证、温度范围和可靠性相同。
  • 版本管理必须严格:同一料号不同 revision 混用,会让失效分析和售后追溯变得困难。
  • 软件和固件也可能进入 BOM:联网设备的固件版本、证书、配置和软件组件会影响合规、安全和售后。
  • 只看物料成本会低估真实成本:加工、测试、良率、损耗、库存和售后都要进入完整成本模型。

相关术语