数据是ERP系统的基础,不要让数据毁了ERP!

 影响一个ERP项目的因素有很多,数据无疑是其中很重要的一项,正所谓“正确的诊断源于准确的信息,准确的信息基于可靠的采集”,当我们抓住数据这个根基,大处着眼,小处着手的时候,我们距离ERP成功的日子就不会太远。


  很难想象没有数据的ERP是什么样子的。然而,实际情况又是如何的呢?


  根据AMT的研究,在那些上线不成功或者上线后掉线的案例中,有高达70%的项目都有一个共同的直接原因,那就是在数据上出了问题。有的是在数据还没有准备好,诸多数据不准确、不完整的情况下就仓促上线;有的则是业务没有理顺,出现一数多据的情况,不知道该相信哪个数据;还有的是上线运行后操作人员未及时更新业务数据导致系统内的数据失真等等,虽然数据问题的表现不尽相同,但最终的结果都是一样的,那就是大家忙了数月得到的是一个没有数据的ERP系统。


  这确实是一个让人笑不起来的笑话。


  于是,人们在惊愕、困惑、迷茫后,终于发出了这样的呐喊:不要让数据毁了ERP。


数据的重要性


  经验表明,作为管理改造工程的ERP项目,花在系统实现和技术准备上的时间并不多,80%以上的时间是花在了贯穿全程的三大任务上,即全程的宣传培训、全程的数据准备和全程的管理变革。这三个全程缺一不可,其中尤以数据准备工作量最大。


  说到数据在ERP项目中的重要性,恐怕没有人会否认。大家最常挂在嘴边的一句话是“三分技术、七分管理、十二分数据”,以此来表达对数据的高度重视。然而数据问题成为ERP项目高失败率的主要原因之一这不争的事实,又不得不让人反思症结到底在哪儿。


为什么数据是一个大问题?


  很多企业在没有上信息化之前使用手工方式进行管理。手工方式下的数据,更多的是以部门为单位进行管理的。部门之间用单据进行业务数据的流转,部门内用台账进行数据记账,月底通过对账保持部门内和部门之间数据一致。这种延用了几十年的管理方式,与利用信息化进行数据管理的思想和实现手段有很大差距。


  手工数据的特点是:分散、口径不一致、冗余、不规范。这样一来,同一数据在同一时间点上,会在不同部门、以不尽相同的描述和内容表现出来,在时间和空间上也是不一致的。这显然与ERP所追求的同一数据在系统中保持惟性、共享性的理念有很大差别。再加上由于历史的原因,企业中的很多数据要么不全,要么账实不符,企业往往要在上ERP的同时清产核资工作,这无形中加重了ERP数据准备的难度。


如何进行数据准备?


  数据准备是一项庞大而繁琐的工作,所以越早进行越好。并且应该贯穿ERP项目实施的全过程。那么一个ERP项目应该如何从一团乱麻中理出头绪,在ERP系统上线前后分步骤地做好数据准备呢?为了说明问题,先讲一个成功推进数据准备的案例吧。


  老李是某钢铁集团信息部的负责人,在公司的多个业务和管理岗位上供过职,对公司上上下下的情况都很熟悉,也算是一个老钢铁了。


  公司的ERP项目刚刚启动,他就隐约感到数据是一个大问题,因为企业几十年沉淀下来的数据量巨大,且有很多不全、不准、不一致的现象,要想在上线之前将这些情况搞清楚,就必须尽早下手。在咨询公司的帮助下,他抽调专人组成数据组,与ERP项目实施并行开展工作。按照计划,他分为三大步骤,首先是让各业务部门先盘点统计一番,摸清家底,这花了大半个月;之后是对收集上来的数据分类整理,制定统一的编码规则,这花了两个多月的时间,这步完成后,基础数据也就基本完成了;第三步是下发编码规则,并要求业务部门按新编码重新整理现有数据,并在上线之前一个月内实物盘点,在上线之前拿出期初数据。经过一番周密的安排和大量的工作,数据准备终于和项目实施同步完成,并且数据的质量是有保证的。


  从这个案例中我们可以看出数据准备的步骤和一般规律。


  第一步:搞清楚有哪些数据要准备。


  我们可以简单地将ERP实施所要准备的数据分为两大类:即静态数据和动态数据,也可称为基础数据和事务数据。


  静态数据是指开展业务活动所需要的基础数据,如物料基本信息、客户、供应商数据、财务的科目体系等。静态数据的特点是它在整个数据的生命周期中基本保持不变,同时它是动态数据的基础,公司所有业务人员通过调用静态数据来保持同一数据在整个系统中的惟性。


  动态数据是指每笔业务发生时产生的事务处理信息。例如销售订单、采购订单、生成指令等。动态数据按照时点来分,又可以分为期初数据和日常数据。其中上线时点的数据对ERP上线前的数据准备尤其重要,它代表系统在期初上线这样时间点上,公司动态数据的当前状态,我们称其为期初数据(或者称为初始数据)。期初数据既包括上线时点所有物料库存的数量、金额,财务科目的余额,也包括那些未完未结的业务单据,象未交货的销售订单、未付款的采购订单等。


  不论是静态数据还是动态数据,在ERP系统中都必须是惟一的。为了保证数据的惟一性,就要给这些数据编码。所以,在进行两大类数据准备之前,另一项更基础的工作必须先完成,那就是编码规则。


  我们可以将数据的分类和数据准备的先后次序列表如下,并对每项数据设计一个收集表,下发到各部门,摸底调查。



  在所有的数据中,物料数据是数量最多、分布最广的。这里所指的物料包含的范围很广,既包括原材料、半成品、产成品,也包括设备、固定资产等。物料分类则是根据物料的某些属性对物料进行归类,例如一个机械厂将其物料分为:产品、部件组件、零件、铸件、锻件、刀具、量具、夹具及其他工装等。所以要首先把工作重心放在物料数据准备上。


  第二步:制定编码规则和完成基础数据收集。


  在明确有哪些数据要准备后,就可以着手编码了。实际上,数据准备工作中最难的是制定编码规则,这也是最占用时间的工作。一个考虑周全的编码体系需要跨部门反复讨论。不同的数据可能有不同的编码结构,但必须遵询共同的编码原则:


  1)惟一性


  必须保证一个编码对象仅被赋予一个代码,一个代码只反映一个编码对象。


  2) 实用性


  编码体系应当符合企业的业务特点和管理需求,既充分考虑企业发展对信息编码的需求、又兼顾企业的现状。要从实用性出发,掌握好编码的颗粒度,过细的编码不实用,过粗的编码不管用。


  3) 统一的编码结构


  编码由一个或者若干不同分类角度的分类码构成,统一的编码结构含意如下:


  任何对象在其整个生命周期内标识码保持不变,所有分类码具有相同的编码结构。图示为三段柔性分类码结构,并且采用顺序码作为二级代码,以确保编码的惟一性。



分类码的结构


  分类码各段之间可以具有隶属关系,构成树状结构。


  4) 标准化


  编码应提高标准化程度,充分考虑到与外部环境的接轨而尽可能与相关国家、行业标准相吻合。例如使用国家标准所确定的行业分类作为行业编码,邮政编码作为地区编码等。


  5) 便于ERP系统处理


  由于编码将在计算机信息处理系统中得以实现,故编码应当符合数据处理的要求,便于用计算机处理。


  6) 易用性


  编码应尽可能好记易用。所以要在满足要求的情况下尽可能的短小,常用的编码应尽量避免字母与数字混合,以提高录入效率。


  实际上,编码问题绝不仅仅是一个技术问题,也不只是ERP实施小组的事情。它牵涉到不同的部门,需要考虑管理现状、业务特点、历史数据等方方面面。所以合理组织人力和安排充足的时间十分重要。一般的做法是在项目实施小组中成立跨职能部门的数据小组,由专人负责,各职能部门的人员都要参加数据小组,视工作难度和工作量来确定是专职还是兼职参与。


  完成编码规则后,依据编码规则逐条确定静态数据和编码,从而完成整个静态基础数据的整理工作。


  第三步:期初数据准备和系统上线。


  有了基础数据,就有了ERP运行的基础。但ERP上线后,系统里的数据是不是能够反映现实情况,就要看期初数据能不能及时准确地录入系统了。


  由于期初数据反映的是上线那个时间点的数据,因此过早准备是没有意义的,这些事务处理数据都是动态的,每天都在变化。因此完成期初数据准备需要更精密的时间表,通常会这样安排计划:


  根据ERP项目的实施进度,确认上线时间,并进行项目管控。


  在上线之前一个月内进行全面的库存盘点,并在财务上进行盘盈盘亏处理。盘点时使用新的编码规则。


  要求各业务部门在上线之前尽可能处理完未结清的订单和应收应付单据,以减少手工和系统切换的难度,同时也降低日后对账的工作量。


  在上线之前两周,集中人力将静态数据导入或者录入系统。


  在上线时点将库存期初、科目余额和未结单据录入系统。可视数据量的多少适当提前或者滞后录入,但要保持系统中的数据与实际情况相符。


  在上线后的一个月内,通过核对手工账和实物,检查系统数据是否准确,并查出差异所在,进行调整。


  谈到对账,这里再多说几句。由于ERP的系统实现不是简单的模拟手工作业,因此在系统上线前后,业务处理方式可能会不同,会有一些数据是对不上的。对不上的原因除了确实账实不符、账账不符外,前后的统计和管理的口径不一致也是导致数据根本对不上的一个重要原因,毕竟数据的标准都不一样了。比如为了核算准确而增加的过渡科目会导致另一些科目余额不一致,虽然这并不影响最终的财务报表。


  在处理这类数据的时候,要从理解系统的逻辑关系出发,寻求数据的平衡,懂得哪些应该删除、哪些应该合并、哪些应该完善。懂得如何取舍是上上功夫。


数据生命周期管理


  至此,整个ERP项目上线之前的数据准备宣告完成。但作为一个完整的系统,上线还只是ERP应用的开始。相比前期的痛苦,上线后保持数据的“纯洁”更显得重要。所谓“打天下难,守天下更难”。在数据从产生到消亡的整个生命周期中,保持数据的准确性、时效性是一项长期的工作。在系统运行期间,还要做到以下几点:


  -成立专门的编码维护部门,根据编码规则添加新的编码。


  -上线后,需要对部分业务流程和操作规程调整,以适应系统内的数据流转。


  -应用管理员及时处理系统中的异常数据。


  -定期对数据备份,确保数据完整,在出现数据灾难时可以恢复到最近一个数据点,最大限度地减少损失。


  -清理垃圾数据和已经失效的数据。


  -根据业务和管理的需要,增加新的数据项或者更改原数据定义等。


保证数据质量的方法


  数据质量是数据的生命,因为错误的数据没有任何现实的意义,反而是系统无法上线或者掉线的导火索。保证数据质量是时时刻刻要做的事情。在这方面,经验更显宝贵,不过我们还是可以探询出一些成型的方法:


  在上线前做数据收集时,要事先做好下发表格。如果数据量较少,可以用Excel模板做表格,并锁定不允许修改的部分,以利于汇总、排序。如果数据量比较大,最好另编一个小程序,以自动控制重复的数据,同时便于同步检查。


  在上线时,先通过管理措施减少期初数据量,再对每一条期初数据都要力保准确。要尽早对账,因为越晚对账数据的差异越大,越难对得上。


  在上线后,要从管理上严格要求业务处理与数据录入同步进行,不能积压单据一次性补录。


  做好以上几点,可以控制住数据质量。但不管如何努力,数据都不大可能百分白的准确。我们所谈的数据准确是指数据的错误率控制在可以接受的范围之内,并逐步求精。企业要有一套高效的管理制度保证及时发现并处理数据差异。在ERP实施期间,企业要为数据的损失做好“买单”的准备,有时重复工作是不可避免的,也可能会因处理账实不符而需要财务费用。在ERP应用期间,短期的对不上账,只要是控制在范围之内,就可以接受,俗话说“一段浊水、一段清水”,只要坚持严格管理和定期核查,数据质量很快就会提高。


  咨询公司有一套数据质量的评估方法,在系统运行一段时间后做数据评估是提高数据质量必不可少的工作。实际上,不少企业通过数据评估,往往能够发现以前所忽视的管理上的问题,经过几轮调整后,企业实施ERP的效益就体现出来了。


总结


  影响一个ERP项目的因素有很多,数据无疑是其中很重要的一项,正所谓“正确的诊断源于准确的信息,准确的信息基于可靠的采集”,当我们抓住数据这个根基,大处着眼,小处着手的时候,我们距离ERP成功的日子就不会太远。


附录:ERP基础数据收集8个步骤!


  ERP的主要作用就是对企业信息的整合,而信息的载体和表达都要通过数据完成。对项目实施来讲,基础数据的准备工作难度最大。


  首先,基础数据涉及面广,涵盖了企业中所有可见信息和不可见信息。物料基本信息,产品结构数据,会计科目,供应商客户信息,部门、工厂、仓库、车间信息等等属于可见信息,这些信息在手工作业中也会用到。不可见信息如单据类型、仓库性质、计划参数等,这些信息在手工管理信息时是不会涉及到的,它们会影响到系统计算。


  另外,基础数据准备的工作量大,以上各类信息的记录数从几个到几十万都有,而每条记录包含的字段又可多达上百个,两者的乘积简直是天文数字,通常造成项目延期的原因有90%来自于基础数据整理。


  数据的正确性是最重要的,基础数据是许多程序正确运行的基础,如物料计划和生产计划就是根据物料文件设定的提前期、库存量、BOM结构等计算得到的,如果其中任何一个数据与实际不符,计划结果就将没有任何指导意义。


  正是因为基础数据具有这些特征,从而造成了收集准备工作量大、难组织,一般需要多个部门协调,投入的人力和时间都比较多,见效周期长,因此阻力也是很大的。


  为了帮助企业更有效地实施ERP,下面谈一下如何快速、低成本、低错误率地完成基础数据准备。


第一步:确定工作范围


  首先根据ERP项目范围确定哪些数据需要准备,然后确定参与部门和人员配备,进而确定工作计划,切记不可将所有工作只交给一个部门甚至一个人做,必须对此项工作的艰难程度有充分的认识。工作计划中还要注意安排定期的会议,以方便工作人员之间沟通。


第二步:建立必要的编码原则


  ERP软件对数据的管理是通过编码实现的,编码可以对数据进行唯一的标识,并且贯穿以后的查询和应用,建立编码原则是为了使后面的工作有一个可以遵循的原则,也为庞杂的数据确定了数据库可以识别的唯一标识方法,所谓磨刀不误砍柴工,大家切不可急于求成,忽略了这些重要的工作。


  另外,编码原则的制定属于企业级标准的建立,应该按照ISO9000的标准制定和管理,尤其对于量大的基础数据(如物料主文件的编码)必须由多个部门共同确定方案。


第三步:建立公用信息


  建立的公用信息包括公司、子公司、工厂、仓库、部门、员工信息、货币代码等基本信息。这些数据会在其他基础数据中被引用,并且数据量不大,可以利用较少的时间和人力完成。如果整理其他数据的时候发现缺少公用信息再补的话,整体效率和进度会大打折扣。


第四步:BOM结构的确定(根据企业情况可选)


  如果企业应用生产系统、计划或产品研发模块,BOM就是必须的基础数据。这里首先应该明确原料到半成品、半成品到产品的级次关系,这步工作的难点是半成品设定的问题。如果半成品设定层次少或层次不设定,今后的统计分析就不能细化;如果半成品设定多,就会大大增加数据量。如果遇到下列情况,那么半成品要设置编码管理:对半成品建立库存账、或者采用安全库存管理、半成品对外销售或用于售后服务,除此以外半成品尽量不用编码,也不用录入软件系统,BOM 每多一层,相应增加BOM数据量的同时还会增加物料信息的数据量,我个人的观点是尽量少的BOM阶次可以使这项工作处于可控状态。


第五步:收集第一手资料,将原来的离散数据从不同部门集中


  在这些离散数据中,仅物料基本信息一项,字段就包括生产、采购、销售、库存、财务的信息。在这步中,应利用统一格式的表格在各个部门间交叉流转,让各部门将与自己相关的数据填入表格,完成后传递给下个部门,以此类推,直到完成此步工作。在工作中应注意传递的安排,传递路径需提前确定。为了保证工期,可以让不同部门同时开始,然后交叉传递,或者一个部门完成一小部分后就传递给下个部门。同时,将每张发出的表格统一编号(唯一),并在部门间交接时作好记录,这样不仅可以控制进度,还能避免数据丢失。


第六步:数据检查


  (1)完整性检查:完整性即记录数量是否完整。可以请企业中有经验的人员复查或计算一下总数,将其和历史数据比较。同时还要检查字段的完整性,所有的ERP软件都有必须输入的字段,如果缺少这些字段就会造成系统的不稳定,如物料的提前期、默认仓库等。另外还有一些非软件要求的必须输入的字段,对企业今后的业务和统计分析有用的字段也要列入检查范围,例如客户分类和所属地区等。


  (2)正确性检查:正确性的范围很广,这里不做一一说明,可以由企业自己根据需要制定检查原则。有些错误如会计科目是资产类型的,但是因为人为错误输入成负债类型的,再比如有的物料是采购来的,但是录入成自制件,这样的错误在系统上线前必须发现并改正。


  (3)唯一性检查:数据的唯一性应该从两个角度检查,常见错误有多个实物编成同一个编码,如果以后录入系统,成熟的ERP软件会提示编码已经存在,并拒绝接受。同时一个实物对应多个编码的现象也必须杜绝,这种错误ERP软件是发现不了的,必须利用人工查找,否则在上线后会发生多个账务错误。


  在改正错误的同时,要做好资料版本的控制,这个工作在多部门参与的数据整理工作中尤为重要。曾经有个客户,多个部门都在同时修改一份相同的资料,修改之后的文档中只有自己的一部分数据是正确的,其他部门数据还是错误的。在录入数据时,无论以谁的数据为准都是不行的,必须用正确的数据替换错误数据后进行合并才行。由此可见,针对每类数据都应该设置负责部门和负责人员,每次修改后由负责人员将文档的版本更新,同时旧版本数据也要保存。这样做可将误操作的损失降低到最小。


第七步:将数据录入软件系统


  录入前应该将基础数据原始档案归档,对于以电子文档保存的数据,应该将数据备份好,并注明整理人员、完成时间和最后版本,如果是打印的纸介质,应该将其保存在专门的文件柜中,作为重要文档管理。


  接下来的的录入工作是艰巨而枯燥的重复工作。通常的录入方法有手工录入和利用工具导入这两种。这些方法各有利弊。


  (1)所有软件都提供录入界面,可以调集人员将数据逐条录入,或者利用软件的复制功能复制类似的数据,然后进行关键字段的修改。这种方法比较安全,完善的ERP软件会在录入的同时自动查错,大多数前期未查出的错误可以在录入时被系统提示并禁止录入,由此保证数据的准确性。这种方法的缺点是工作量大,完成时间和记录条数是倍数的关系。如果数据量不大,推荐利用此方法,安全、可靠,事后检查工作量也小。


  (2)如果项目组中有数据库高手,并且用人工录入在人力和时间上都不能实现,可以采用直接导入数据库的方法,这样做的优点是效率高,完成时间与数据表个数成倍数关系。缺点是隐含错误多,不易检查,曾经有个客户在上线几个月后发现有问题,反复检查后发现是数据中有个字段空缺造成的,但是录入的数据是可以由系统自动填写默认值的。如果采用此方法,应该在前面的检查工作中设定严格的检查步骤,尤其在正确性检查中,对重要字段要逐个检查,这项工作可以利用各种软件技术辅助人工进行。


  (3)另外一种方法结合了以上两种方法的优点。曾经有一个客户开发了一个程序模拟人工工作,基本原理是首先从电子表格中读一条记录的第一个字段(模仿人眼看数据的功能),然后在ERP录入界面中的相应字段录入该数据(模拟人手的操作),再次读下个字段,再次录入程序……此记录完成后转下一条记录。此方法利用程序的录入界面录入,继承了界面录入的差错功能,同时和数据导入相比,不需要人工干预,可以一天24小时的工作,速度也是很高的,不过需要高水平的程序员,至今还只见过一个客户成功采用过此方法。


第八步:系统检核


  完成录入工作后仍然不能彻底放松,必须再次检查,此时最好的方法是利用软件程序测试数据,例如将数据库备份成一个新的数据库,将企业常用的流程在新数据库中做一遍,通过检查结果的正确性来验证基础数据的正确性。



  在收集和整理这两个步骤中,各企业根据自身员工的技术和特长,通常会用一些工具软件辅助数据收集和整理工作,常用的有Excel、SQL server等。利用工具软件不仅能大大提高收集和整理的效率,更大的优势是能够查错,下几条简单指令就可以发现大部分错误,如果依靠人工比对检查,所需的时间和工作量都是企业无法承受的。


  ERP基础数据准备这项工作的重点不是在数据本身,严密的计划和合理的组织才是完成这项艰巨工作的最好手段。