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的每一层一个身份标识。嗯,这里要注意,编码规则一旦定下来,改起来非常麻烦。
常见的编码方式有两种:
- 顺序编码法:比如01、02、03……简单直观。但扩展性差,中间想插入一层?不好意思,得重新排。
- 层级编码法:比如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设计时,有人会犯这个错。我曾经在审核一个客户的BOM时,发现一个螺丝既属于A组件又属于B组件。结果MRP跑出来,采购数量翻了一倍。你说冤不冤?
2.4 实战中的设计原则
说了这么多,我总结几条实战原则:
- 原则一:层级不要超过7层。超过7层,系统性能会下降,维护也困难。我一般控制在5层以内。
- 原则二:每个节点只属于一个父节点。这是树形结构的基本要求。别搞成网状结构。
- 原则三:编码要有扩展性。用层级编码法,预留足够的位数。比如1.1.1,后面可以扩展到1.1.1.1。
- 原则四:虚拟件要慎用。虚拟件是为了方便管理而设的,但用多了会让BOM变得复杂。我只有在处理通用件时才会用。
一个小技巧:设计BOM结构时,先用手画草图。别急着上系统。画几遍,结构就清晰了。我每次做新项目,都会先在白板上画树形图,跟工程师们讨论。等大家都认可了,再录入系统。这样能避免很多返工。
好了,BOM结构设计这块,核心就是这些。记住,结构是BOM的骨架。骨架歪了,后面所有工作都会出问题。你想想看,是不是这个理?