浅谈金蝶K3的MRP、MTO与ETO对面向订单企业的解决方式小批量、多品种,面向订单设计、生产,是当前越来越多的外资和民营企业的最典型最广泛的生产模式,这种类型的企业强调的是以销售订单驱动采购和生产,从而实现最大限度地满足市场和客户的需求。对于现在市场快速变化的挑战上,如果继续采用传统按库存生产的模式,将会造成更多的库存和资金积压,它们需要一个支持面向面向订单设计、生产模式的系统来管理日常动作来提高企业竞争力。面向订单作业的企业,无论是产品还是材料,在实际管理中,都有可能,要求要严格按订单来管控与之相关的所有业务,这种需求,实际上是面向订单的企业的客户所要求的,在企业中,同一种材料,有可能来自不同的供应商,即便来自同一供应商,出于品质管理或者其他目的,客户往往也会要求企业区分得很清楚,不同混在一起。例如,某电脑厂商,有可能同时接到IBM和DELL的服务器代工订单,相对而言,对材料的品质要求,IBM有可能要严于DELL,他会要求给DELL采购的材料,不允许用在其订单产品上。企业面向订单作业(设计、生产)的管理需求,是对企业自身管理水平提出的挑战,同时也是对金蝶K3ERP软件产品提出的挑战。一、在谈论之前MRP、MTO与ETO之前,我们先了解其相关概念。MRP,是指物料需求计划:MaterialRequirementPlanning,是指根据各种需求(订单、预测、主生产计划),考虑产品结构(BOM)、库存、物料基础资料等信息将需求转化为对物料的需求计划(生产什么、什么时候生产,采购什么、什么时候采购)。MTO,是指面向订单生产:MakeToOrder,产品在接到订单前是设计好的。接到订单后才采购物料,然后进行生产。这种方式下,整个交货提前期包括物料采购时间、生产时间、交货处理时间。ETO,是指面向订单设计:EngineeringToOrder,是指接受客户订单后,将客户需求进行定义并设计产品。首先定义产品规格,然后开发物料清单,订购所需物料并保留生产能力。整个交货提前期包括设计时间、物料采购时间、生产时间、交货处理时间。MTS,是指面向库存生产:MakeToStock,是在接到客户订单之前就已经完成产品生产的生产类型。产品的生产依据预测而非客户订单,接受客户订单后就直接从成品仓库出库,生产的目的是为了补充库存。交货提前期只是交货处理时间。二、在继续讨论之前,我们先来看一个产品的物料清单和产品结构图:产品产品A(1套)层次物料计量单位用量1半成品X个11半成品Y个22材料a个0.52材料b个3三、假设,再次作出MPS/MRP计划之前:产品A已经有两个销售订单还没有完全完成生产:订单SE001#数量1000套,订单2#数量3000套。假设出货时间及所有物料需求时间,是当天;计划运算的顺序,是先订单SE001#,而后订单SE002#库存情况:产品A库存800套,其中为订单SE001#准备的500套,为订单SE002#准备的300套半成品X无库存。半成品Y库存1800个,其中为订单SE002#准备的1400个,库存备用的400个材料a的库存900个,其中为订单的SE002#准备的500个,库存备用的400个材料b的库存无库存。其他材料均无库存。预计量与已分配量情况:半成品X的生产任务单数量200个,为销售订单SE002#准备,材料分配情况初步按BOM所要求,但应客户要求,可能会有变更(本任务单为手工增加)。其他,诸如计划订单、采购申请与订单、生产任务单、委外任务单等均无。销售订单再计划运算要求:按各产品、半成品和物料的计划分配情况,正确确定各销售订单的成品、半成品和物料的再计划需求数量,并进行相关业务的严格管控。四、基于K3V10.4的MPS与MRP的讨论在现有金蝶K3V10.4版本下,要实现上述控制,至少相关MPS\MRP计划参数要设置如下:净需求=毛需求-现有库存-预计入库量+已分配数量第一情况,在不考虑库存锁定、预计量单据锁定和严格跟单算法的设置的情况下MPS/MRP对销售订单SE001#的运算结果是:产品A净需求200套:订单毛需求1000套-期初可用库存800套半成品X净需求无:毛需求200个-预计入库计划200个半成品Y净需求无:毛需求400个-期初可用库存1800个材料a净需求无:毛需求无-期初可用库存900个+生产已分配量100个材料b净需求无:毛需求无-期初可用库存1800个+生产已分配量600个做完销售订单SE001#的运算之后,我们就会发现:由于没有进行锁库,本应分配给销售SE002#的产品A300套,结果分配作了销售订单SE001#的预计量;下展的半成品、物料自然也得不到正确的数量。此外,本属于销售SE002#的半成品X的生产任务单,也分配作了销售订单SE001#的预计量;其他的材料计划分配情况亦如此。在审核并投放销售订单SE001#的基础上作销售订单SE002#的计划运算。MPS/MRP对销售订单SE002#的运算结果是:产品A净需求2000套:订单毛需求3000套-期初可用库存800套-预计量入库200套(销售订单SE001#)半成品X净需求2000个:毛需求2000个-预计量入库200个+计划已分配200个(销售订单SE001#)半成品Y净需求2600个:毛需求4000个-期初可用库存1800个+计划已分配量600个材料a净需求200个:毛需求1000个-期初可用库存900个+生产任务已分配量100个材料b净需求6000个:毛需求6000个-预计量入库600个+计划已分配量600个做完销售订单SE002#的运算之后,我们就会发现:由于没有进行锁库,本由销售订单SE001#产生的预计量任务单据的产品A500套,结果分作了销售订单SE002#的预计量,并且由于没有进行预计量锁单,本应属于销售订单SE001#的计划/生产任务单200套,结果分作给了销售订单SE002#预计量;下展的半成品、物料自然也得不到正确的数量。此外,本属于销售SE001#的半成品X的生产任务单,结果分作了销售订单SE001#的预计量,销售订单SE002#还得多生产200套;其他的材料计划分配情况亦如此。显然,上述运算结果,对面向订单管理的企业来说,是令人无法接受的,我们基本上可以作如下的结论:在不考虑库存锁定、预计量单据锁定和严格跟单算法的设置的情况下,其不能正确确定各销售订单的成品、半成品和物料的再计划需求数量,因为这种设置与操作,连运算出来的各单产品的再计划的毛需求都是错误的。第二情况,在考虑库存锁定、但不考虑预计量单据锁定和严格跟单算法的设置的情况下在运算前,首先要销售订单锁库,其中订单SE001#的500套,为订单SE002#的300套MPS/MRP对销售订单SE001#的运算结果是:产品A净需求500套:(订单需求1000套-订单锁库500套)+(其他期初库存300套-其他锁库300套)半成品X净需求300个:毛需求500个-预计入库计划200个半成品Y净需求无:毛需求1000个-期初可用库存1800个材料a净需求无:毛需求150个-期初可用库存900个+生产已分配量100个材料b净需求1500个:毛需求900个+生产已分配量600个做完销售订单SE001#的运算之后,我们就会发现:在进行成品锁库之后,销售订单SE001#的成品再计划数量得到正确的数值500套;但是,本属于销售SE002#的半成品X的生产任务单,仍还是分配给了销售订单SE001#,其他的材料计划分配情况亦如此。在审核并投放销售订单SE001#的基础上作销售订单SE002#的计划运算。MPS/MRP对销售订单SE002#的运算结果是:产品A净需求2200套:(订单需求3000套-订单锁库300套)-(其他期初库存500套-其他锁库500套)-预计量入库500套半成品X净需求2200个:毛需求2200个-预计量入库500个+计划已分配500个(销售订单SE001#)半成品Y净需求3600个:毛需求4400个-期初可用库存1800个+计划已分配量1000个材料a净需求450个:毛需求1100个-期初可用库存900个+生产任务已分配量250个材料b净需求6600个:毛需求6600个-预计量入库1500个+计划已分配量1500个做完销售订单SE002#的运算之后,我们就会发现:虽然进行了成品锁库,但是由于没有进行预计量锁单,本应属于销售订单SE001#的计划/生产任务单500套,结果分配给了销售订单SE002#,造成销售订单SE002#的再计划数量仍是错误的。下展的半成品、物料自然也得不到正确的数量。对于“在考虑库存锁定、但不考虑预计量单据锁定和严格跟单算法设置操作”,显然,仍无法满足我们的销售订单再计划运算要求,究其原因,最主要是预计量被随意分配,没有被管控。第三情况,在考虑库存锁定和预计量单据锁定、但不考虑严格跟单算法的设置的情况下在运算前,首先要销售订单锁库,其中订单SE001#的500套,为订单SE002#的300套。由于需求先求证销售订单SE001#的运算结果,所以运算前对销售订单SE001#进行预计量锁单。MPS/MRP对销售订单SE001#的运算结果是:产品A净需求500套:(订单需求1000套-订单锁库500套)+(其他期初库存300套-其他锁库300套)半成品X净需求300个:毛需求500个-预计入库计划200个半成品Y净需求无:毛需求1000个-期初可用库存1800个材料a净需求无:毛需求150个-期初可用库存900个+生产已分配量100个材料b净需求1500个:毛需求900个+生产已分配量600个做完销售订单SE001#的运算之后,我们就会发现:在进行成品锁库之后,销售订单SE001#的成品再计划数量得到正确的数值500套;但是,本属于销售SE002#的半成品X的生产任务单,仍还是分配给了销售订单SE001#。上述计算结算似乎同第二种情况“在考虑库存锁定、但不考虑预计量单据锁定和严格跟单算法设置操作”,对销售订单SE001#的再计划结果一致,我们先不管这一点,继续进行销售订单SE002#的运算。在审核并投放销售订单SE001#的基础上,先作销售订单SE002#的预计量锁定,然后再作销售订单SE002#的计划运算。MPS/MRP对销售订单SE002#的运算结果是:产品A净需求2700套:(订单需求3000套-订单锁库300套)-(其他期初库存500套-其他锁库500套)-(预计量入库500套-其他订单锁单分配500套)半成品X净需求2700个:毛需求2700个-预计量入库500个+计划已分配500个(销售订单SE001#)半成品Y净需求4600个:毛需求5400个-期初可用库存1800个+计划已分配量1000个材料a净需求700个:毛需求1350个-期初可用库存900个+生产任务已分配量250个材料b净需求8100个:毛需求8100个-预计量入库1500个+计划已分配量1500个现在,在做完销售订单SE002#的运算之后,我们就会发现:在进行了成品锁库、且进行了预计量锁单的情况下,销售订单SE002#的成品再计划数量得到正确的数值2700套;而本应属于销售订单SE001#的计划/生产任务单500套,也不会再像第一种设置和第二种设置情况下,再分配给销售订单SE002#。在这里,也许,有心的朋友会问:为什么前面提到的“半成品X的生产任务单数量200个,为销售订单SE002#准备”,在进行上述运算时,却是在销售订单SE001#运算时作了预计量、而不是按讨论前提,应作为销售订单SE002#的预计量呢?请再次注意我们在前面的假设前提:“半成品X的生产任务单数量200个,为销售订单SE002#准备……(本任务单为手工增加)”转述一段金蝶关于预计量锁单冲销算法的说明:=======================================================================================MPS/MRP计算之前或者之后,对销售订单或者产品预测单进行锁单,MPS/MRP计算中,可以考虑库存、以及来自其他需