2. BOM结构设计:单层BOM与多层BOM、BOM的层级编码规则、BOM的树形结构设计

好,咱们进入BOM设计的核心环节——结构设计。

说实话,我见过太多企业,BOM数据一塌糊涂。原因在哪?就是结构没设计好。你想想看,一个产品几百上千个零件,如果结构混乱,ERP系统根本跑不起来。今天我就把我在实战中积累的经验,掰开了揉碎了讲给你听。

2.1 单层BOM与多层BOM:你该用哪个?

先搞清楚基本概念。单层BOM,就是只描述父件和子件的直接关系。比如一张桌子,桌面、桌腿、横撑,直接列出来。多层BOM呢?它会一层层展开,直到最底层的原材料。

单层BOM的特点:

  • 结构简单,维护容易。我早期做项目时,小工厂特别喜欢用这个。
  • 但问题也很明显——没法做成本滚算。你想知道一个螺丝的成本?得手动去查。
  • 适合产品结构简单、层级少的企业。比如做包装箱的,纸板+印刷,两层搞定。

多层BOM的特点:

  • 能完整反映产品的装配逻辑。从成品到零件,清清楚楚。
  • 支持MRP运算。系统会自动算出你需要采购多少、生产多少。
  • 缺点就是维护成本高。层级一多,变更管理就头疼。

我的建议:只要你的产品超过3个层级,或者有外协加工件,直接上多层BOM。别犹豫。我在一家做汽车零部件的企业见过,他们硬撑着用单层BOM,结果每次物料需求都算不准,库存积压严重。后来改成多层BOM,问题才解决。

2.2 BOM的层级编码规则:别小看这个

层级编码,说白了就是给BOM的每一层一个身份标识。嗯,这里要注意,编码规则一旦定下来,改起来非常麻烦。

常见的编码方式有两种:

  1. 顺序编码法:比如01、02、03……简单直观。但扩展性差,中间想插入一层?不好意思,得重新排。
  2. 层级编码法:比如1.1、1.1.1、1.2……这个灵活。我习惯用这个。为什么?因为你可以随时在任意层级插入新节点,不影响其他编码。

举个例子,一个自行车的BOM层级编码:

1.0 自行车
  1.1 车架组件
    1.1.1 车架主体
    1.1.2 前叉
  1.2 车轮组件
    1.2.1 轮圈
    1.2.2 轮胎
    1.2.3 辐条
  1.3 传动组件
    1.3.1 链条
    1.3.2 牙盘
    1.3.3 飞轮

避坑指南:我曾经在一个项目中,客户要求用纯数字流水号做层级编码。结果产品升级,中间多了个半成品层,所有编码都得改。那叫一个痛苦。后来我坚持用层级编码法,再也没出过这种问题。

2.3 BOM的树形结构设计:画出来才清楚

树形结构,是BOM最直观的表达方式。我每次做项目,第一件事就是画树形图。画完,整个产品的结构就一目了然了。

下面这张图,是我用SVG画的一个典型BOM树形结构。你可以看到,从成品到零件,一层层展开,每个节点都有清晰的父子关系。

BOM树形结构示例 成品A 组件B 组件C 组件D 零件B1 零件B2 零件C1 零件C2 零件D1 原材料 原材料 成品 组件 零件 原材料

你看,树形结构的好处就是——一眼就能看出产品的装配关系。哪个零件属于哪个组件,哪个组件又属于哪个成品,清清楚楚。

注意:树形结构设计时,要避免“交叉引用”。什么意思?就是一个零件不能同时属于两个不同的父件。这在物理上不可能,但在BOM设计时,有人会犯这个错。我曾经在审核一个客户的BOM时,发现一个螺丝既属于A组件又属于B组件。结果MRP跑出来,采购数量翻了一倍。你说冤不冤?

2.4 实战中的设计原则

说了这么多,我总结几条实战原则:

  • 原则一:层级不要超过7层。超过7层,系统性能会下降,维护也困难。我一般控制在5层以内。
  • 原则二:每个节点只属于一个父节点。这是树形结构的基本要求。别搞成网状结构。
  • 原则三:编码要有扩展性。用层级编码法,预留足够的位数。比如1.1.1,后面可以扩展到1.1.1.1。
  • 原则四:虚拟件要慎用。虚拟件是为了方便管理而设的,但用多了会让BOM变得复杂。我只有在处理通用件时才会用。

一个小技巧:设计BOM结构时,先用手画草图。别急着上系统。画几遍,结构就清晰了。我每次做新项目,都会先在白板上画树形图,跟工程师们讨论。等大家都认可了,再录入系统。这样能避免很多返工。

好了,BOM结构设计这块,核心就是这些。记住,结构是BOM的骨架。骨架歪了,后面所有工作都会出问题。你想想看,是不是这个理?

专注资料整理