在以用友、金蝶、新中大、金算盘、和佳、四班、SAP、ORACLE、QAD、INFOR、IFS等为首国内国外软件厂商近二十年的不遗余力推广,如今,ERP系统(姑且不论这些是否为真正ERP系统,如有兴趣可在我的另外一篇文章了解什么才是真正的ERP系统)遍地开花。一些稍具规模的企业不懈努力,不止一次地推动ERP系统在企业上线,这些轰轰烈烈的现象,造就了大批ERP顾问人士。这些所谓的ERP顾问们制作绚丽的PPT,到处演放,大肆讲解ERP;在BBS记录心得体会和高见,开自己的博客以大师自居传授ERP之道,可以笔者20年的信息化实践和在国家大中型工厂14年工作经历以及10多年对ERP的潜心研究看来,他们的亲身经历不够,了解太过肤浅,一知半解居多,他们的错误高于正确,以讹传讹,皆是拗论,若任其泛滥,则误人子弟,危害极大,浪费宝贵的时间和金钱,大大伤害了应用企业热情和美好愿望,所以特对ERP中的BOM进行解释和讨论,以正视听,拨乱反正。
一、什么是BOM
BOM的英文全称为Bill of Material,中文翻译为BOM,也称为“BOM”或产品结构表、产品结构树,在某些工业领域,称为”配方”、“要素表”或其它名称。BOM是计算机可以识别的产品结构数据文件,是联系与沟通企业各项业务的纽带,是PDM/ERP等信息化系统中最重要的基础数据。
美国生产与存货管制协会 (American Production and Inventory Control Society,APICS) 将BOM定义为:一份包含次装配件、零组件及原料的清单,此清单详细列为装配某一成品所需各种物料的种类与数量。更进一步说,BOM可以定义为:制造某一母项目(包括最终装配成品、次装配件、制程零组件及半制程零组件)所需所有直接零件(次装配件、零组件、半制程零组件、原料)的种类与数量清单。所以BOM又可称为产品结构表 (Product Structure) 或材料表。
BOM通常是以阶层式的方式 (Level-by-Level) 来呈现,最终产品定义为阶层0 (Level 0),而组成结构定义为Level 1,组成结构的子件则定义为Level 2,其子件再接续的子件定义为Level 3,以此类推,一直展开至基础的零件或原料为止。BOM用来描述产品结构的,某一产品品由哪些原料或半成品所组成的,且说明其彼此间的组合过程。
如上图,成品A,是由二个原料B,及1个半成品C所组成,而半成品C则是由二个原料D及三个原料E所组成。依其组成关系,A为B、C的母件,B、C为A的子件;C为D、E的母件,D、E为C的子件。如果A之上再无母件,A可称为成品,C为自制或委外的半成品,B、D、E则为采购件,采购件不可能是母件。A对B、C,或者C对D、E的上下关系,称为单阶。如果对整个结构而言,上中下各阶,称为多阶或全阶。综上所述,BOM就是或者说仅是表明物料的组成关系而已。
二、BOM知多少
经常听到大家讨论BOM的类型和作用,有按照产品生命周期划分的:设计类BOM(EBOM)﹑工艺类BOM(PBOM)和制造类BOM(MBOM);还有按照使用范围来划分的:狭义的BOM、广义的BOM、扩展的BOM;还有按照用途分的:销售BOM、制造BOM、设计BOM、维修BOM、成本BOM、外贸BOM、采购BOM等。
这里不对每一BOM作详细的解释,因为已经有太多的详尽介绍,而这些资料很容易得到,我们从使用角度来分析,这么多的BOM,在应用时候怎么分得清?记得住?在我负责的项目中,也有产品是按这样设计的。姑且不说产品设计有多麻烦,工作量无端增加出有几倍,单在项目培训时花费的时间和精力就多了去。不说初接触ERP的客户,就我们入道一些时间的那些工程师、顾问们也经常是一知半解、一头雾水,弄不明白它们之间的不同点,搞不清关系和内在联系,特别是在ERP系统中如何衔接,;在培训现场,我们往往是讲的激情四射、唾沫乱飞,听众却昏昏欲睡,在操作的时候就是区分不了,怎么也用不对,由此可见,这么多的BOM很难用好,或者说没有办法用好。那设计这么多的BOM用意何在?简直是把简单的事情复杂化。我的体会就是BOM没有那么多,就一个。
三、BOM包含工艺吗
BOM说明物料的所有组成零件、材料以及各个组成零件材料的数量,以图形的方式呈现这一件产品的结构。可以清楚的知道一个产品需要那些零件、构成数量是多少,以方便企业作业。
通常的基本思路认为:BOM仅仅是描述了产品的物料结构,需要扩展工艺流程信息和资源信息才能成为完整的最终的BOM或者扩展的BOM。
我的观点是:BOM 不包含工艺信息,就是物料的组成关系。工艺流程信息和资源都是在物料相关的主文件中定义,通过BOM为基础串联起来。所以,BOM 中不应该包含工艺信息。
四、BOM与CAD的关系
设计部门既是BOM的设计者,又是BOM的使用者。在设计部门(CAD),BOM与零件明细表对应。
设计部门在接到定单后按照定单的要求,一般情况下有三种设计思路——自顶向下形式设计、自底向上形式设计、由中间向两头形式设计。无论那一种设计方式,在图号的组织上都是一致的,都是按照图号来合并产品信息,形成该产品的总明细表、标准件汇总表、外购件汇总表、外协件汇总表等,在需要的时候还能生成产品图纸目录。顺便说一下物料编码,有时一个相同的零件由于属于不同的产品,也就有了不同的图号,因此物料编码不能采用图号。需要说明的是,不要将零件明细表与BOM信息混淆,零件明细表是技术文件,BOM是产品信息汇总。设计部门中的零件明细信息表不能直接转化为BOM,需要设计部门、工艺部门和生产部门的共同协作完成。
就使用而言,无论何时,当产品结构发生变化,或者客户更改技术文件、涉及质量问题或对某个零件进行重新改进设计时,为确保BOM的准确性,都必须以设计变更通知为依据。在设计变更通知文件的指导下,设计部门通过BOM信息表中获取所有零件的信息及其相互间的结构信息。只有得到这些信息,才能对其进行定义、描述或修改,从而使生产能正常地运行下去(特别是客户的紧急更改通知)。根据设计变更通知编号,在PDM支持下,可以方便地检索变更信息,指导生产、装运和售后服务等生产活动。
在实际生产运行过程中,设计变更是导致数据不准确的重要因素,因此一定要有一套行之有效的设计变更通知管理方法来管理设计变更通知。由于要涉及销售、采购、生产、工程技术、财务等部门,因此一般由企业的高级主管直接管理设计变更通知。这一过程须经过设计变更通知确认、分析、审批、文件和监督五个步骤。
五、BOM的用途
在制造环境中,不同的部门和系统都为不同的目的使用BOM,每个部门和系统都从BOM中获取特定的数据。主要的BOM用户有:
设计部门
当产品结构发生变化,或对某个零件进行重新设计,设计部门都要提供相应信息,只有得到这些信息,才能对BOM进行定义,描述或修改。
工艺部门
工艺部门提供各零件的制造工艺和装配件的装配工艺。并确定加工制造过程中应使用的工装,模具等。
生产部门
生产部门是BOM的主要使用单位,利用BOM来安排生产任务。
营销部门
该部门利用BOM可进行快速产品报价。
产品成本核算部门
该部门利用BOM中每个自制件或外购件的当前成本来确定最终产品的成本。
物料需求计划(MRP)
BOM是MRP的主要输入信息之一,它利用BOM决定生产计划项目时,需要哪些自制件和外购件,需要多少,何时需要。
成本计算如果将各采购件的采购成本与各成品的人工成本,按照BOM的结构从最低层逐层往上汇总,即可以得到其上各阶成品及其半成品的直接制造成本;如再将制造费用也纳入逐层的计算中,就可以得到产成品的制造总成本,这种成本称为卷叠成本(Rolled-up Cost)卷叠成本类似于标准成本,主要是用来做内部管理之用,可用它来模拟:
(1)物料改变(设计变更)对产品成本所产生的影响;
(2)人工成本的改变对产品成本产生的影响;
(3)不良率的改变对产品成本产生的影响;
(4)新产品的标准成本,以作为拟订售价的参考。
六、BOM在MRP运算中的作用
对计划系统的影响
对于MRP和MPS(主生产计划)来说,BOM是不可缺少的关键因子。生产计划的安排,是根据BOM的层次来下达的。对于MRP物料来说,制造类型的物料在MRP运算后系统一般会产生计划的加工单(一般称为MRP物料加工单)建议,BOM层次越多,产生的建议加工单越多,这些加工单都需要下达到生产车间完成,无疑是一项庞大的工作。相反,层次越少,这些加工单/子加工单越少。因此,根据企业实际生产组织方式来定义BOM层次,是合理和科学的。
同时,这些加工单,加上MPS(主生产计划)派生出来的加工单(一般称为MPS物料加工单),加上模拟的加工单,会一起进入工单排产系统进行排程调度,很显然,BOM层次越多,排程调度产生的工作中心、设备、人员等安排就越细致,可以细致到每个工序和设备。这样,需要准备的资料和基础数据就越多,对管理水平的要求就越高,需要下达的任务就细致,细致到不可以实现操作的地步,反而没有了实用性意义。因此,需要综合考虑管理实际水平和需求来定义BOM的层次。
对成本核算系统的影响。
由于BOM在核算成本时候所起的重要作用,BOM层次多少,对成本计算的影响非常大。由于层次多,虽然对材料成本影响不大,但是对工艺工序数据要求细致苛刻,某一道工序人工费率、机时费率出现偏差,最终成本差别非常大,正所谓"差之毫厘,谬以千里"。而本身在企业中,各项人工设备工时本身由于工人、设备效率和利用率的问题衡量指标的难度就很大,从而更加加大了成本核算系统实施和实际应用的难度。
七、BOM中的替代关系设置
任何一个物料组建的BOM均是唯一的,系统只能识别或自动生成一个BOM,组建替代BOM的目的是为了扩大该物料组建的通用性。
以一个气雾剂产品的组件为例,一个气雾剂产品有一只半成品、一个小盒、说明书、罩壳等等组件,但是罩壳由于颜色和孔径的不同,会有好多种,这只气雾剂用一种蓝色的罩壳 ,既可以用这个厂家的这种,编码为A,也可以用另一种,编码为B或另一种C,那么,编码A为bom默认的罩壳,B和C均为替代BOM,如果生产该产品,由于供应不足,没有A时,可以用B/C完成这个订单的组成。国外一些软件的做法是首选A,如果启用替代的物料,需要手工更改物料。明显设计上有缺陷,如何改进在本文最后部分给出了答案。
归纳替代情况,一般用得比较多的情况是这个产品在不同的工厂或是在一些特殊情况下,会使用不同的材料,但生产出来的成品视为同一个时,这时就会使用到这种替代。在实际运作中,有如下的情况:
AB两种物料完全可以混用。可以不区分AB,采用一个物料编码。
AB两种物料可以互相代用。如何用由计划员确定。我们称之为指定替换。
AB两种料在一种产品中可以互相代用,只有当A库存不足,才用B。我们称之为缺货替换。
AB两种物料可以互相代用。但从规定日期开始使用B。我们称之为到期替换。
AB两种物料可以互相代用。但按一定的比例使用AB。我们称之为按比例替换。
AB两种物料可以互相代用。但在声音使用一定数量的A后才用B。我们称之为按够量替换。
AB两种物料可以互相代用。由客户指定使用A或B。我们称之为按客户要求替换。
AB两种物料可以互相代用。订单指定使用A或B。我们称之为按订单求替换。
B代替A,A将退出历史舞台,B完全替代A。 这种情况应该认为是设计变更,通过变更通知解决。
八、BOM会退出ERP舞台吗
大家都知道ERP是以生产为核心的,而生产的核心是物料需求计划-MRP,实现MRP的关键技术就是BOM。现在有一种超前且大胆的说法:BOM方法将被淘汰。其理由是MRP方法存在着两个重大的缺陷:
BOM从本质上是一种静态的方法,无法表现出生产过程这个运动和变化的过程。
没有资源约束和生产能力约束,给出的计划既无法实现合理,也无法实现优化。
并认为是由于BOM先天功能上的不足造成的,其实是他们没有弄明白BOM的功能,把BOM的功能放大了。
在本文开始的BOM定义中,已经说明BOM仅表示出物料的组成关系,说明需要那些子件的数量而已,不安排生产作业计划。
我的结论是:BOM不会退出ERP舞台,随着的认识加深和亲自体验,BOM将真正发挥他应该有的作用。
九、建立BOM应注意的问题
BOM是系统中最重要的基础数据库,它几乎与企业中的所有职能部门都有关系,ERP系统中BOM构造的好坏,直接影响到系统的处理性能和使用效果。因此,灵活地构造BOM是十分关键的。就一般情况而言,构造BOM应注意以下方面。
在BOM中,每一个项目(零件)必须有一个唯一的编码。对于同一个项目,不管它出现在哪些产品中,都必须具有相同的编码。对于相似的项目,不管它们的差别有多么小,也必须使用不同的编码。
为了管理上的方便,有时可以将同一零件的不同状态视为几个不同的项目,构造在产品的BOM中。
BOM中的零件,部件的层次关系一定要反映实际装配过程,在实际装配中,有时不一定把某些零件装配成某个有名称的组件,或者由于工艺上的考虑需要将某些零件归在一起加工(例如箱子与箱盖)。形成临时组件,但这些组件在产品的零件明细表和装配图上并没有反映出来,但必须在计划管理中反映出来,这就需要在BOM中设置一种物理上并不存在的项目,通常称为”虚单”或”虚拟件”,其目的是简化MRP的编程过程和减少零件之间的影响。
根据生产实际情况,有时为了强化某些工装,模具的准备工作,还可以将这些工具构造在BOM中。这样就可以将一些重要的生产准备工作纳入计划中。有时为了控制某个重要的零件在加工过程中的某些重要环节,比如,进行质量检测等,还可将同一个零件的不同加工状态视为不同的零件,构造在BOM中。
为了满足不同部门获取零件的不同信息,可以灵活地设计BOM中每个项目的属性。例如,计划方面的,成本方面,库存方面,订单方面。
十、BOM管理要点
BOM内容的准确性
BOM输入时,自上而下建立,先输入母件,再建立其各子件物料的基本用量信息等,如发现错误或变化,应该尽快修改。正确的BOM,是生产订单及委外用料的依据,否则,会造成发料错误,后果甚为严重。尤其在设计变更前后,应该特别注意检查各生产订单用料及委外用料的内容,以免出现错误。
物料BOM不准确是多数企业的常见现象,其将造成供应的内容、数量不符合所需,MRP、MPS等规划将因此而错误,产生很大的损失。应该随时印出、查核,以尽最大能力,确保BOM的正确性。
BOM的变更
设计变更引起BOM变更。设计变更时应该在新的生产订单、委外单审核前,完成BOM的修改,以免带出原有的用料内容。如果在设计变更期间,已经带出不正确的用料内容,应在生产订单用料及委外用料中修改。
生效日期功能协助用料更换过程的管理,设定原有子件的有效截止日(失效日),如到2009/11/30止,及设定新子件的生效日,如2009/12/01起。则从2009/12/01起,销售订单、生产订单、委外单、采购订单、MRP、MPS等,都以新的子作为准,不考虑再使用原有的旧子件。
在原子件尚未用完前,可以修改各生产订单、委外单的专属特殊用料内容,以调整使用量,充分运用在适当的销售订单上。
物料编码与BOM
BOM包含用料的内容、用料数量。工序中的半成品该不该编码,原则是:
(1)会进入仓库,需要定期盘点数量;
(2)需要统计在制中的数量,或者会销售给客户(包括委外单位和供应商);
(3)需要委外加工的、需要进出厂房都应编订物料编码,而物料中只要是:需要计算成本、需要依销售订单或生产计划(生产订单、委外)而备料、应预测其
需求量,都应该将物料建立在BOM中。列入BOM的各物料,MRP、MPS展开时,都会依各时点而规划其需求量,以及时刚好地供应所需,保证客户销售订单可以准时交货,而不积压库存。
未列入BOM的物料,应该是较不重要、容易进货、单价不高的物料。
十一、 BOM功能设计
BOM建立时,可对子件物料设定有效期间,作为生产订单、委外单用料选择的依据。也为MRP、MPS展开的依据。所有无效(过期或未到期)的子件,皆不予列入考虑。
提供BOM的拷贝功能,当建立相类似成品的BOM时,节省资料输入时间。
提供全结构物料的整批取代与整批删除作业,以利快速变更所有各项BOM。
提供多阶或单阶方式,以母件查子件的BOM展开查询,或报表。
提供多阶或单阶方式,以子件查母件的BOM内溯查询,或报表。
可以汇总方式,进行BOM的汇总查询及报表。即不分阶层,而将各阶层同一用料的用料加总,并显示所有用料内容及用料量。
检查建立的BOM,是否有逻辑上的错误。如子件而成为自我母件。
检查BOM中所有组成物料是否已存在于物料基本资料中。
建立母件的结构批量,该BOM所输入的子件用量,是依据一个单位母件,或者百千单位母件的的基准量,子件依此基准量而计算使用量。
BOM的表示方法:单阶式、多阶式、阶列式、汇总式。
单级展开BOM
单级展开格式显示某一装配件所使用的下级零部件。采用多个单级展开就能完整地表示产品的多级结构。对应很多企业(特别是产品零部件数量繁多的企业)的分组明细表即是单级BOM的具体形式。
多级展开BOM
多级展开BOM显示某一装配件所使用的全部下级零部件。采用一个多级展开就能完整地表示产品的多级结构。对应很多企业(特别是产品零部件数量比较少的企业)的产品明细表即是多级BOM的具体形式。
缩行展开
缩行展开格式是在每一上层物料下以缩行的形式列出它们的下属物料。同一层次的所有零件号都显示在同一列上。缩行展开的格式是以产品制造的方式来表示产品的。
汇总展开
汇总展开的格式列出了组成最终产品的所有物料的总数量。它反映的是一个最终产品所需的各种零件的总数。而不是每个上层物料所需的零件数。如某一零件用于多个装配件,汇总展开的清单就有助于确定合适的采购数量。这种格式并不表示产品生产的方式,但却有利于产品成本核算,采购和其他有关的活动。
单层跟踪
单层跟踪格式显示直接使用某物料的上层物料。这是一种物料被用在哪里的清单,它指出的是直接使用某物料的各上层物料。
汇总跟踪
汇总跟踪的格式显示所有含有各零件的高层次物料以及每一物料所用零件的数量。这是一张扩展了的”用在哪里”的清单,它列出了所有含有零件的高层次物料。”所需数量”表示装配成该层次的物料所需的零件总数。
缩行跟踪
缩行跟踪的格式指出了某零件在所有高层物料中的使用情况。它可查找直接或间接地使用某零件的所有高层物料,采用这种格式很有价值。
矩阵式的BOM
矩阵式的BOM是对具有大量通用零件的产品系列进行数据合并后得到的一种BOM。这种形式的BOM可用来识别和组合一个产品系列中的通用零件。在下面的输出格式中,左面列出的是各种通用零部件,右面的上部列出了各个最终产品,下面的数字表示装配一个最终产品所需该零件的数量。”#”表示该产品不用此零件。对于有许多通用零件的产品,这种形式的BOM很有用处。但矩阵式BOM没有规定产品制造的方式,它没有指出零件之间的装配层次,因此,不能用于指导多层结构产品的制造过程。
加减BOM
这种BOM有时又被为”比较式”或”异同式”BOM。它以标准产品为基准,并规定还可以增加哪些零件或去掉哪些零件。一个特定的产品就被描述为标准产品加上或减去某些零件。下表说明专用产品A/1是在标准产品A上增加零件F和G,同时增加部件C数量到2个,并去掉零件1-1-1制成。这种方法能有效地描述不同产品之间的差异,但不能用于市场预测,也不太适用于MRP。
模块化BOM
在实际应用中,由于产品规格是多变的,零件表按产品结构特点来划分的话,可以分为以下几种:
产品单一,规格基本没有变化。
产品规格多样,可以选择装配
产品系列化,但同一系列中性能变化。
不同产品系列,多种选择装配。
模块化BOM用于由许多通用零件制成的并有多种组合的复杂产品。例如在汽车制造业,装配一辆汽车可选择不同的发动机,传动机构,车身,部件,装潢以及其它东西,不同的选择可组合成不同的最终产品。模块化方法既为顾客提供了较广的选择范围,又使零件的库存下降。在汽车及农业设备等工业上,这种方法得到了广泛的应用。当一条生产线上有许多可选特征时,就能得到许多种组合,这时就不可能在主生产计划中对它们分别预测。如果按照MRP的需要在计算机内为每一种最终产品存储一个独立的BOM。则文件记录的存储和维护费用就很大。解决这一问题的办法就是采用模块化BOM。模块化BOM按照装配最终产品的要求来组建模块。模块化的过程就是将产品分解成低层次的模块。按照这些模块进行预测就比直接对最终产品进行预测要准确。模块化可以得到两个不同目的:
十二、BOM及相关数据项目如何设计
基于上文对BOM的理解、分析,以本人ERP项目经验ERP产品设计经历,建议的BOM数据项目、工艺主文件数据项目、物料主文件数据项目、工序主文件数据项目如下,这些设计进一步说明了BOM概念、相关关系和用途,供感兴趣的同行参考。
BOM数据项目
(1)母件物料ID;(2)母件BOM版本号;(3)母件BOM版本生效日期;(4)母件BOM版本失效日期; (5)子件物料ID;构成母件的物料;(6)所使用的子件BOM版本号;
(7)母件对子件的单位用量;若子件用途为“联产品”或“副产品”或“余料”或“料头”时,则表示产量或余量;非固定数量可不填写或为0﹔ (8)子件生效日期;(9)子件失效日期; (10)子件BOM属性;取值为:必备件、必选件、可选件、虚拟件,默认为必备件;(11)子件的预测比例;若子件BOM属性为“必选件”或“可选件”,该数据项目可用;若子件BOM属性为“必选件”,则该母件的所有直接子件的预测比例之和必须为100%;(12)子件用途;默认为空,取值为空,表示是正常的子件;否则取值为“联产品”或“副产品”或“余料”或“料头”;(13)子件替换方式;取值为:缺货开始替换、到期开始替换、按比例替换、按订单要求要求替换、按客户替换、指定替换;(14)子件分摊成本比例;若子件用途为“联产品”或“副产品”或“余料”或“料头”时,该数据项目可用;(15)备注;
工艺主文件数据项目
工艺主文件描述每种制造物料的加工顺序及过程,应该包含的主要数据项目如下:(1)物料ID;(2)工艺ID;(3)该工艺的制造合格率;(4)工序ID;(5)该工序加工批量;(6)该工序对子件的损耗率;(7)该工序领料标志;(8)该工序倒冲领料标志;(9)该工序质检标志;(10)该工序物料搬运标志;
物料主文件数据项目:
物料主文件的数据项目最多,这里仅列出与BOM有关的数据项目。(1)物料ID;(2)物料属性;取值为:制造、外购、外包;(3)物料计划属性;取值为:P-主生产计划,M-MRP,O-其他;(4)批量规则;取值为:一对一、固定批量、批量增量、固定期间;(5)制造批量;(6)制造提前期;(7)默认计划员;(8)默认制造部门;
(9)采购提前期;(10)采购策略;取值为:一对一、固定批量、批量增量、固定期间;(11)默认采购员;(12)默认供应商;(13)安全库存数量;(14)默认存放仓库;(15)默认外包单位;(16)外包提前期;(16)BOM中低阶码;
工序主文件数据项目
详细描述各种工时情况及分类信息,它是能力计划、车间作业管理、成本管理的基础。应该包含的主要数据项目如下:(1)工序ID;(2)默认工作中心ID(3)使用工装ID(4)工序等待时间;(5)工序排队时间;(6)工序加工时间;(7)工序搬运时间;(8)工序准备时间;(9)工序材料费用;(10)工序工时费用;(11)工序分摊费用;(12)工序生效日期;(13)工序生效日期;
工作中心数据项目
工作中心是生产能力平衡及物料投放的场所,是组织生产、费用发生和作业成本管理的基本单元,应该包含的主要数据项目如下:(1)工作中心ID;(2)所属部门ID;(3)采用工厂日历;(4)工作中心利用率;(5)工作中心效率;(6)操作人员ID;(7)辅助人员ID;(8)所属机器设备ID
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:如何正确理解BOM概念?