企业管理

0

ERP之物料管理原理篇(一)

头像
小财

写在前面的话

一直想写一本ERP方面的书,要通俗易懂的,还要带真正练习的,其实是有点不自量力了。然后为了这个“带真正练习的”,就和一位朋友花了多年的时间将一套带过程评价的ERP软件开发好,算是有了“带真正练习”的基础了,但是,然后发现自己写作的激情在这几年中慢慢消退,也可能是能力也在慢慢退化了,总是坐在电脑前一晃几个小时过去,楞是写不出几句话。虎年伊始,在新年的欢愉和疫情的烦扰交织下,还是决定动手写了,毕竟这几年里,除了自己,还有搭档朋友的始终如一的帮助,也不去管最终写成怎样的东西了。

虽然所写的也不是什么值钱的东西,但我还是希望以后可以整理成书,所以麻烦大家如果转载也注明一下出处。


ERP之物料管理

制造业里的物料管理是十分复杂的,哪怕是中小企业,仓库里的物料种类多达上百甚至上千的情况其实是常见的,而对于那些产品线丰富、产品组成复杂或产品迭代速度快的企业,物料管理的难度更高。传统的物料管理流程和方法多以经验为准,致使物料管理决策过于简单,经营管理者之间缺乏合作与协调,面对复杂多样的市场需求,无法有效地管理物料,往往造成生产缺料、库存紧张、订单延误、物料浪费等局面。

在企业的生产管理模式上,中小企业与大型企业还是有很大的差异的。大型企业往往综合考虑生产能力、市场预期等复杂因素,进行一系列复杂的数学建模和计算,来安排资金筹备、人事管理、物料管理、生产计划等等的工作,但中小企业可使用的储备资金有限,所生产的产品受市场波动影响较大,因而它们的生产任务、采购计划、人事安排等工作往往是以订单驱动的,有些中小企业也会做一些简单的市场预测,但是面对不确定的市场环境,大部分企业的预测并不能反应真实的市场需求。因而“以订单定生产”是大部分中小企业的生产管理模式。

所以同样是采用ERP管理,大型企业的ERP与小型企业的ERP有着很大的不同,这是它们之间的管理模式的不同决定了的。ERP的理论是从国外引进,市面上绝大部分的ERP书籍都是以大型企业的为模型,绝大部分的ERP案例也是取自大型企业的案例,这些管理的模式在中小企业里其实并不适用。读者在学习ERP管理的时候,需注意这些差异。

下面逐步为大家讲解企业的物料管理原理及案例。

物料清单

物料清单(Bill of Materials),习惯上也称BOM清单,是指为生产某个产品所需的所有的物料信息的详细清单。假设本公司生产家用计算机,目前主要生产产品编号为CP001,名称为”家悦H50“的计算机,该产品销售给消费者的时候,消费者直接可见的是一个大包装纸皮箱,箱子内装有主机1台、显示器1台、键盘鼠标1套、电源线1条、显示器数据线1条,这是一份产品清单,但并不是BOM清单。BOM清单里的信息还包含了产品的结构组成和详细的物料组成,有些BOM清单还包含了价格的信息(为便于读者理解,暂不考虑价格因素)。

本文档案例中所涉及的物料名称如表1:

表1 本文档所涉及的物料信息表

物料编号物料名称单位
CP001家悦H50
BCP001主机
WL001内存
WL002CPU
WL003硬盘
WL004主板
WL005机箱
WL006电源
WL007键盘
WL008鼠标
WL009显示器
WL010外包装箱

约定:为简便起见,本文档中BOM清单里无论是成品、半成品还是原材料,统一用“物料“表示。如果某物料已经不可拆分,则没有BOM结构,也没有BOM编号,但若该物料还可拆分,则该物料具有其单独的BOM结构以及BOM编号。


图1 家悦H50的结构图

图1是CP001(家悦H50)产品的结构图,从图中可以看到,CP001是由半成品BCP001(主机)和物料WL007(键盘)、WL008(鼠标)、WL009(显示器)、WL010(外包装箱)组成,其中,BCP001(主机)是个半成品,需要企业进行生产,而WL007(键盘)、WL008(鼠标)、WL009(显示器)、WL010(外包装箱)是企业采购的。图2是半成品BCP001(主机)的结构图,从图中可以看出,BCP001(主机)是由物料WL001(内存)、WL002(CPU)、WL003(硬盘)、WL004(主板)、WL005(机箱)、WL006(电源)组成。图3是CP001(家悦H50)的完整结构图。

从图1、图2中还可以得知每种物料所需的数量。


图2 主机的BOM结构图


图3 完整的CP001结构图

从图1、图2的BOM结构图将产品所需的物料进行整理,得到表2和表3的信息,这两个表都是相关产品的所谓物料清单(BOM清单)。

表2 CP001(家悦H50)的BOM清单

BOM编号BOM20220207001
BOM名称家悦H50
物料编号物料名称所需数量
BCP001主机1
WL007键盘1
WL008鼠标1
WL009显示器1
WL010外包装箱1


表3 BCP001(主机)的BOM清单

BOM编号BOM20220207002
BOM名称家悦H50
物料编号物料名称所需数量
WL001内存2
WL002CPU1
WL003硬盘1
WL004主板1
WL005机箱1
WL006电源1

物料需求

前面说到“以订单定生产”是大部分中小企业的生产管理模式,那么企业在接到一张订单的时候,需考虑哪些问题呢?有两个问题是企业首要考虑的。

  1. 能否完成这张订单的生产并如期交付?
  2. 完成这张订单估算的成本(订单报价的重要参考)是多少?

第2个问题留待后面讨论,我们先看第1个问题。第1个问题的本质是判断“能不能做”,如果接下订单后,在排产或生产的过程才发现因为缺料或所采购的物料无法按时到位,就会造成订单无法完成或无法按时交付,企业就会蒙受经济损失,因而准确的物料计算和管理是解决第1个问题的关键点。

下面以一个案例来逐步展开说明。

假如企业接到客户A的一张订单(设订单编号为D0001),需要订购500台CP001,那么企业为生产这500台电脑,需要准备哪些物料进行生产呢(或者说,为了满足这订单而有哪些物料的需求呢)?

要搞清楚具体的物料需求,就需要综合表2和表3这两张物料清单表的信息进行计算。根据表2和表3的信息,可以得到生产1台家悦H50的物料需求(如表4)

表4 1台家悦H50的物料需求

物料编号物料名称所需数量
WL001内存2
WL002CPU1
WL003硬盘1
WL004主板1
WL005机箱1
WL006电源1
WL007键盘1
WL008鼠标1
WL009显示器1
WL010外包装箱1


根据表4的信息,可计算订单D0001(500台家悦H50)的物料总需求表(表5):

表5 客户A订单D0001的物料总需求表

客户名称客户A
订单编号D0001
订购产品家悦H50
订购数量500
物料需求总表
物料编号物料名称单台所需数量订单所需数量
WL001内存21000
WL002CPU1500
WL003硬盘1500
WL004主板1500
WL005机箱1500
WL006电源1500
WL007键盘1500
WL008鼠标1500
WL009显示器1500
WL010外包装箱1500


库存情况与采购需求

通过计算得到如表3的物料需求表后,在进行下一步的生产工作前,需要落实这些物料从哪里而来(物料来源),是仓库里已经有可用的物料,还是需要全部向原材料供应商订购?或者是仓库只有部分可用的物料,不足的部分需要采购?

无论是上述所说的哪种情况,在下一步工作前,需先查询可用的库存,以确认已有多少物料可用,是否足料,如果不足的话还缺哪些物料,缺多少等。假设现有的库存情况如表6:

表6 现有的库存情况

物料编号物料名称现有库存安全库存可用库存
WL001内存13141001214
WL002CPU441100341
WL003硬盘12211001121
WL004主板15951001495
WL005机箱371100271
WL006电源12501001150
WL007键盘12461001146
WL008鼠标704100604
WL009显示器625100525
WL010外包装箱550100450

通常企业为了生产过程更平稳,在库存管理中,设有“现有库存“、“安全库存“和”可用库存“,它们间的关系可用以下公式表达:

可用库存=现有库存-安全库存

注:为方便读者理解,本文案例中的安全库存一般情况下不可动用。

综合表5和表6的结果,比对物料的需求和可用库存的情况,可计算出哪些物料的库存是可以满足订单D0001的生产需求的,哪些是缺料需要另外采购的。计算结果如表7物料实际需求表:

表7 订单D001的物料实际需求表

客户名称客户A
订购产品家悦H50
订购数量500
物料编号物料名称单台所需数量订单所需数量可用库存是否足料缺料情况
WL001内存2100012140
WL002CPU1500341不足159
WL003硬盘150011210
WL004主板150014950
WL005机箱1500271不足229
WL006电源150011500
WL007键盘150011460
WL008鼠标15006040
WL009显示器15005250
WL010外包装箱1500450不足50

根据表7的试算结果,可以得到一份物料的采购申请单(如表8),企业为完成订单D0001,采购部门须按此采购申请单(设单号为CQ0001)完成物料的采购工作,否则后续的生产是无法正常进行的。

表8 采购申请单CQ0001

物料编号物料名称申请采购数量
WL002CPU159
WL005机箱229
WL010外包装箱50



基本的物料管理流程

简单归纳一下,从企业收到订单伊始,关于物料准备的几个主要步骤如下:

  1. 收到订单
  2. 根据产品的BOM清单计算该订单的物料总需求表
  3. 将物料总需求表和现有库存情况比对,计算缺料情况
  4. 如果不缺料,可安排下一步生产
  5. 如果存在缺料,将缺料信息生成采购申请单,安排采购


图4 基本的物料管理流程图

订单冲突

实际上,企业所面临的情况要复杂得多:

  • 企业同时在生产几十种产品,每种产品有独自的BOM清单
  • 企业同时管理的物料多达几百甚至几千种
  • 企业有多个供应商
  • 企业面对着多个客户
  • 客户对订单的交付期要求不同,有些甚至希望能加急交付
  • 各种原因导致的订单取消

……

当企业面临的情况复杂多变的时候,就很容易出错,下面接着前面的案例来说明。

企业在接到客户A的订单(编号为D001)后不久,又接到客户B发来的一张订单(设订单编号为D0002),客户B订购家悦H50(编号为CP001)400台, 通过BOM清单进行分解计算,得到该订单的物料总需求表(如表9)

表9 客户B订单D0002的物料总需求表

客户名称客户B
订购产品家悦H50
订购数量400
物料需求总表
物料编号物料名称单台所需数量订单所需数量
WL001内存2800
WL002CPU1400
WL003硬盘1400
WL004主板1400
WL005机箱1400
WL006电源1400
WL007键盘1400
WL008鼠标1400
WL009显示器1400
WL010外包装箱1400

此时查询库存情况进行比对,由于订单D001还没有开始排产,可看到库存情况还是表6的库存情况,那么在进行订单D002的物料试算的时候,就会得到如表10的计算结果,很显然,这是一个错误的计算结果。

表10订单D002的物料实际需求表(错误

客户名称客户B
订购产品家悦H50
订购数量400
物料编号物料名称单台所需数量订单所需数量可用库存是否足料缺料情况(错误的计算结果)
WL001内存280012140
WL002CPU1400341不足59
WL003硬盘140011210
WL004主板140014950
WL005机箱1400271不足129
WL006电源140011500
WL007键盘140011460
WL008鼠标14006040
WL009显示器14005250
WL010外包装箱14004500


为什么说这是一个错误的计算结果呢?因为针对订单D0002的物料计算,必须考虑前面的订单D0001的情况。例如表10中,WL010(外包装箱)是足够的,而事实上该物料的现有库存连满足订单D0001都不够,更别说加上订单D0002了,因而这是一个错误的计算结果。这种情况就是所谓的订单的冲突了。

这道理并不难理解,但是企业处理起来却并不容易。当企业面对各种复杂环境的时候,这是最常见的问题之一,尤其产品众多、订单量大、或者订单中途取消、中途插单等情况出现的时候,任何一个小环节的计算错误,都会导致整个企业的物料管理陷于混乱的状态。在没有实施ERP进行管理的企业,这种错误是一定会出现的。

留料管理

要解决这个问题,原理上也不难,只需要在订单确认后(确认承接这订单),对相应的物料进行“留料”就可以了,下一张订单到来的时候,查询的可用库存数据就不会与其它订单发生冲突。承接前面的例子说明。

当订单D0001确认后,除了生成表8的申请单,库存信息表也应该进行相应的留料操作,将打算用于生产D001的库存物料进行锁定,并更新可用库存信息,此时的可用库存数的计算公式如下:

可用库存=现有库存-安全库存-留料库存


表11 对订单D0001留料后的库存信息

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存13141000100214
WL002CPU4413411000
WL003硬盘1221500100621
WL004主板1595500100995
WL005机箱3712711000
WL006电源1250500100650
WL007键盘1246500100646
WL008鼠标704500100104
WL009显示器62550010025
WL010外包装箱5504501000

表11中留料库存数的计算过程如下:

订单D0001所需的某个物料与当前可用库存信息比较,

  • 如果可用库存足够,则留料库存数量为订单所需的数量。例如WL001,订单D0001所需的数量为1000,当前可用的数量为1214(参考表6),则留料库存量为订单所需的数量(1000)
  • 如果可用库存不足,则留料库存数量为可用库存。例如WL002,订单所需的数量为500,当前可用库存为341(参考表6),则留料库存量为可用库存量(341)。

当企业接到新订单D0002,在查询库存信息的时候,前面留料库存的部分就不能再用,只能使用当前的可用库存,如果可用库存不够,则应该生成相应的采购申请单进行物料的采购。表11是正确计算的订单D0002物料实际需求表。

表11 正确的订单D0002物料实际需求表

客户名称客户B
订购产品家悦H50
订购数量400
物料编号物料名称单台所需数量订单所需数量可用库存是否足料缺料情况
WL001内存2800214不足586
WL002CPU14000不足400
WL003硬盘14006210
WL004主板14009950
WL005机箱14000不足400
WL006电源14006500
WL007键盘14006460
WL008鼠标1400104不足296
WL009显示器140025不足375
WL010外包装箱14000不足400


表12是根据表11得到的采购申请单(设单号为CQ0002),采购部门将根据收到的采购申请单安排采购的工作。

表12 采购申请单CQ0002

物料编号物料名称采购数量
WL001内存586
WL002CPU400
WL005机箱400
WL008鼠标296
WL009显示器375
WL010外包装箱400

完整的物料管理流程图


图5 完整的物料管理流程图

一些特殊的情况处理

中小企业处在市场竞争的最前沿,应对的市场环境是十分纷杂的,但正因为这些企业的体量相对小,所谓“船小好调头“,相对容易调整生产以适应市场的变化。订单变更是这些中小企业最常碰到的问题之一,各种外部的环境或内部的因素都有可以导致订单的变更,有些订单还没开始生产就已经取消了,有些订单在生产过程中取消了,有些生产过程中加入新的订单等等,无论是何种原因造成的订单变更,都需要对相应的物料进行妥善的管理,不然会造成数据的混乱,材料的浪费。以下是一些常见的情况。

1、还没开始领料生产的订单取消

这种情况直接将该生产订单作废,同时解锁为该生产订单所进行的留料数量,重新进入可用库存中。例如表13是为订单D0001进行了留料后的库存信息,但由于后续与客户沟通取消该订单,如果该订单还没开始生产,则将该订单的留料库存数释放,转入可用库存中(如表14)

表13 为订单D0001留料后的库存信息

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存13141000100214
WL002CPU4413411000
WL003硬盘1221500100621
WL004主板1595500100995
WL005机箱3712711000
WL006电源1250500100650
WL007键盘1246500100646
WL008鼠标704500100104
WL009显示器62550010025
WL010外包装箱5504501000

表14 释放订单D0001留料后的库存信息

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存131401001214
WL002CPU4410100341
WL003硬盘122101001121
WL004主板159501001495
WL005机箱3710100271
WL006电源125001001150
WL007键盘124601001146
WL008鼠标7040100604
WL009显示器6250100525
WL010外包装箱5500100450

2、已经全部领料并开始生产的订单取消

以订单D0001为例,如果订单D0001已经开始生产,并且生产部门已经将所有为D0001保留的物料从仓库领出,则留料库存中的物料已经全数从仓库转到生产部门,相较表13,留料库存此时为0(已经全部领出),可用库存没有变化(如表15)

表15 订单D0001全部领料后的库存信息

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存13140100214
WL002CPU44101000
WL003硬盘12210100621
WL004主板15950100995
WL005机箱37101000
WL006电源12500100650
WL007键盘12460100646
WL008鼠标7040100104
WL009显示器625010025
WL010外包装箱55001000

但是当订单取消,有可能这些物料还没开始使用,或者已经部分使用,此时需要根据实际发生的情况,新建一张入库单,将尚未使用的物料重新进入库存系统中,并更新可用库存数量。假设经盘查,发现每种物料有200个还可使用,退回仓库中;经与客户协商其它已经加工不可归库的物料由客户承担损耗费用。在退回工作完成后,库存信息如表16-1和表16-2所示。损耗的物料部分如何处理是财务方面的工作,这里暂不讨论。

表16-1 退回可用的物料的库存信息表

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存13140100214+200
WL002CPU44101000+200
WL003硬盘12210100621+200
WL004主板15950100995+200
WL005机箱37101000+200
WL006电源12500100650+200
WL007键盘12460100646+200
WL008鼠标7040100104+200
WL009显示器625010025+200
WL010外包装箱55001000+200

表16-2 退回可用的物料后的库存信息表

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存13140100414
WL002CPU4410100200
WL003硬盘12210100821
WL004主板159501001195
WL005机箱3710100200
WL006电源12500100850
WL007键盘12460100846
WL008鼠标7040100304
WL009显示器6250100225
WL010外包装箱5500100200


3、已经部分领料并开始生产下的订单取消

仍以订单D0001为例,假设生产部门先领出部分物料进行生产,领料前的库存情况表如表12,领料情况如表17。

表17 生产部门领料情况

物料编号物料名称领料数量
WL001内存400
WL002CPU200
WL003硬盘200
WL004主板200
WL005机箱200
WL006电源200
WL007键盘200
WL008鼠标200
WL009显示器200
WL010外包装箱200

则领料后的库存信息如表18-1和表18-2,表18-1是计算过程,表18-2是计算的结果。

表18-1 领料后的库存信息表(计算过程)

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存13141000-400100214
WL002CPU441341-2001000
WL003硬盘1221500-200100621
WL004主板1595500-200100995
WL005机箱371271-2001000
WL006电源1250500-200100650
WL007键盘1246500-200100646
WL008鼠标704500-200100104
WL009显示器625500-20010025
WL010外包装箱550450-2001000

表18-2 领料后的库存信息表(结果)

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存1314600100214
WL002CPU4411411000
WL003硬盘1221300100621
WL004主板1595300100995
WL005机箱371711000
WL006电源1250300100650
WL007键盘1246300100646
WL008鼠标704300100104
WL009显示器62530010025
WL010外包装箱5502501000

如果订单取消,则需要将该订单相应留料库存释放,并根据物料损耗的实际的情况,将可用的物料退回仓库中。假设此时订单取消,经盘查每种物料尚有50个可退回仓库,则处理完成后的库存信息表如表19-1、表19-2和表19-3所示

表19-1 将留料库存释放

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存1314600-600100214+600
WL002CPU441141-1411000+141
WL003硬盘1221300-300100621+300
WL004主板1595300-300100995+300
WL005机箱37171-711000+71
WL006电源1250300-300100650+300
WL007键盘1246300-300100646+300
WL008鼠标704300-300100104+300
WL009显示器625300-30010025+300
WL010外包装箱550250-2501000+250

表19-2 将可用物料退回入库

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存13140100214+600+50
WL002CPU44101000+141+50
WL003硬盘12210100621+300+50
WL004主板15950100995+300+50
WL005机箱37101000+71+50
WL006电源12500100650+300+50
WL007键盘12460100646+300+50
WL008鼠标7040100104+300+50
WL009显示器625010025+300+50
WL010外包装箱55001000+250+50

表19-3 处理完成后的库存信息表

物料编号物料名称现有库存留料库存安全库存可用库存
WL001内存13140100864
WL002CPU4410100191
WL003硬盘12210100971
WL004主板159501001345
WL005机箱3710100121
WL006电源125001001000
WL007键盘12460100996
WL008鼠标7040100454
WL009显示器6250100375
WL010外包装箱5500100300


4、订单增加

假如客户觉得之前的订单所订购的数量不够,需要增加数量。这种情况直接增加一张新的订单即可,这里不再赘述。

小结与讨论

1、写作上的一些个人看法

ERP从诞生到今天,已经有很长的时间了,有人甚至觉得ERP的理论过时了,在传统的ERP理论上,又堆砌了一堆新的名词,在技术发展日新月异的今天,再掺一些技术术语,创造一堆炫目的名称,就像让人看年夜的烟花一样,令人目不暇给。然而在这些烟花散去后,定睛再看看,会发现大家所追求解决的,依然是“如何调度可用的资源使得企业的效益最大化”,这个目标再过几百年也不会有太大的变化。而物料,就是企业的重要资源之一,用专业点的术语来说,是企业的储备资金和生产资金,因而物料的管理在企业管理中是举足轻重的。ERP的原理是很严谨的,但内容也相当多,初学者学习起来难度其实很大,我知道读者学习ERP终究不是为了看烟花,因而在写作上,也就没打算堆砌这些烟花。

我尽量将一些原理性的、共性的东西抽取出来,厘清里面的逻辑,也尽量用简单的方法来描述。前面所写的案例,有几个其实很重要的地方做了简化的:

Ø 所有的物料都没有具体的型号或参数

Ø 还没考虑物料的价格的问题(后面我将另写《ERP之物料管理原理篇(二)》,专门讲述这个问题)

Ø 没有考虑物料的损耗率问题

2、看着原理不难,为什么企业做不好

阅读完前面的原理和案例,读者也许觉得这个原理其实很简单啊,和一个餐馆里有人来订座,餐馆给留座就是了,为什么企业往往做不好呢?又为什么说没有合适的ERP管理的话,物料管理一定会出问题呢?

首先,企业真正生产的产品,BOM结构和BOM清单是十分复杂的,一个产品包含100多种物料是很常见的,这些物料,哪怕其中的一种出现缺料、延误等问题,都会造成巨大的损失。

其次,企业一方面面临着一个多变的环境,同时企业内部是一个多部门多人合作的协作中心,企业一旦运作起来的时候,是一环扣一环的,其中任何一个环节出错,常常会出现多米诺骨牌一般的效应,造成整体的错误。例如,企业接到一个订单,如果没有做好物料的计算、及时的留料,会导致订单交付生产的时候才发现无法按时完成甚至是无法完成,一方面该订单有违约的风险,另一方面还会影响同时进行的其他订单也有各种风险,如果同时有几十张订单在进行的时候,可能直接使得这些订单全部无法按时交付。

最后,我介绍曾经历的一个真实案例。几年前曾帮一个企业做ERP的咨询,企业的规模并不大,在没有上ERP的时候,企业的负责人觉得企业不大,一眼看尽,管理也不会有什么大问题的,上ERP其实是只是锦上添花了。但当ERP上线运行以后,他才发现以前每年仅仅是物料的浪费就高达20多万元。



<待续>

下篇内容是:点水刃木:ERP之物料管理基础实战篇 --BOM清单管理(1)

点水刃木:ERP之物料管理原理篇(二)-BOM清单的价格


笔误在所难免,发现写得不对的,恳请不吝告知



本文转自 知乎,原文链接:https://zhuanlan.zhihu.com/p/464598962,如需转载请自行联系原作者
头像
丢弃