ERP环境下的系统控制分析审计初探
ERP(即Enterprise Resource Planning,企业资源规划),是20世纪90年代初发展起来的一个全新的企业管理系统,体现了现代企业先进的管理理念和管理方法,它建立在信息技术高度发达的基础上,是以系统化的管理思想为企业决策者和员工提供决策运行管理平台。企业由于实施ERP系统导致其管理流程发生巨变,从而使得内部控制的环境与之前大不相同,内部控制的重点由对人的控制为主转变为对人、计算机和互联网的控制,风险控制点也随之发生改变。为此,我们只有树立数据审计理念,从ERP系统控制入手分析企业内控风险,全面开展系统数据分析审计,才能真正提高审计工作效率,实现审计工作目标。
所谓系统数据审计方法,即在ERP环境下,从企业系统控制入手分析内控风险的薄弱环节,筛选对应的系统数据表,进行数据的多视角、多方式结合分析的一种审计思路。
一、以系统控制为把握内控薄弱环节
ERP系统的应用使企业的内部经营管理环境和内部控制方式发生了变化。相当一部分内部控制点已建立于系统的应用程序中,由系统自动执行各种检验、核对、判断、监督以及各种功能权限的控制;企业形成了管理控制与系统控制并重、人机控制相结合的全方位综合性控制,内部管理权限的严密性以及关键风险点的设置成为ERP环境下内部控制的重点。因此,审计人员应更加关注系统的内部控制。
(一)管理制度分析。
制度管理是企业ERP系统安全运行、合理高效利用和数据真实完整的重要前提。了解被审计单位ERP系统相关的管理制度,可以帮助审计人员从总体上了解ERP系统的管理运行情况,初步分析ERP系统可能存在的风险控制点。管理制度分析的包括以下主要内容。
1.管理制度的完整性。即管理制度是否足够保证ERP系统运行正常,包括三方面:一是对系统管理员和岗位操作员进行管理的人员类管理制度;二是对硬件设网络设施、应用系统进行管理的技术类管理制度;三是对ERP的业务操作进行管理的流程类管理制度,重点是基础数据和关键数据的录入和审核制度。
2.管理制度的科学性。每项制度的各项规定是否明确、是否具有可操作性,制度之间的相关规定是否统一。
3.管理制度的有效性。每项制度是否得到有效执行。
(二)系统权限分析。
了解系统权限主要从ERP系统权限设计与ERP企业的组织架构、ERP系统角色与权限、ERP系统用户与角色对应、岗位的职责控制这几个层层递进的方面来进行。ERP系统一般由财务管理、供应链、人力资源等多个模块高度集成,每一模块都有相应的关键控制点,关注被审计单位ERP系统权限配置,分析是否存在某个或某些成员同时履行不相容的职责和操作权限。系统权限分析包括以下主要内容。
1.ERP系统权限设计与ERP企业的组织架构。
ERP权限用于系统检查用户操作权限。在ERP系统用户进行某项工作操作时,系统需要执行相应事务码对应的功能,该事务码是系统用于检查ERP权限的标识。ERP权限设计是企业整体权限实施的核心,是企业内部控制的基础。
2.ERP系统各模块的角色划分及其权限,重点关注敏感角色的权限配置情况。
3.获取ERP系统用户与角色的对应关系表和用户授权结果表,重点关注拥有多重角色的用户和超级用户。
多重角色用户在ERP系统中拥有一个以上的角色。通常情况下,岗位相当于角色,一个用户处于某一岗位,就拥有相应角色。但是大型企业通常员工较多,导致ERP系统中的角色体系十分庞杂,有些企业通常在ERP中建立一套通用角色、复合角色和单一角色所构成的角色体系来对用户进行授权,这样就会导致某个用户拥有多个角色。拥有多重角色的用户的系统权限可能被逐渐放大甚至有失控的危险。
一般ERP产品会在系统内置入特定的超级用户,“超级用户”拥有操作软件所有功能的所有权限,是最高管理账户。超级用户有可能直接篡改业务数据,造成被审计单位数据不真实。审计人员需要摸清企业是否应用了超级用户,有哪些人是超级用户,超级用户的权限内容,是否有对应的日志记录可使其被监督。
4.明确系统用户的权限是否设有期限。
5.获取企业ERP系统的岗位职责分配表,重点关注企业对关键岗位的职责控制,以及其控制是如何通过ERP系统的权限、角色、用户的设置来实现的。
(三)系统运行分析。
ERP系统运行分析包括运行环境和运维方式两个方面。运行环境是ERP系统运行的载体,ERP运行环境的安全性、稳定性是ERP系统数据信息可靠性的有效保障。运维方式反映了企业的经营规模、安全目标和管理体系的匹配程度,也是分析审计风险的一个参考依据。系统运行分析包括以下主要内容。
1.ERP运行环境的构成,主要包括应用软件环境、数据库环境、硬件环境、网络环境、安全环境等,其中重点是数据库环境。
2.ERP系统的部署方式,主要了解ERP系统是集中部署还是分布式部署,是由一套软件系统构成还是多套ERP系统软件构成。
3.ERP系统日常运维方式。集团企业ERP系统运维方式通常有两种方式,一种是企业自行组织开发或与ERP厂商联合开发的ERP系统,被审计单位自己负责ERP系统的运维。另一种是企业使用标准化的ERP产品,由ERP厂商或第三方负责运维。
4.ERP系统运行中的重大问题和突发事件,解决情况和造成的影响。
(四)系统实施分析。
系统实施是指企业从启动ERP系统建设项目开始,经过规划业务蓝图、确定系统需求、设计开发与测试、安排系统部署等环节,直至ERP系统上线的全过程发生的事务。该建设过程与ERP生产厂商开发ERP产品的过程相区别,是ERP系统在企业内的建设过程。对于某些直接购买ERP产品而未重新进行二次开发的企业来说,该过程可能不存在确定系统需求、设计开发与测试等环节。
审计人员可以通过编制发放调查表的方式了解被审计单位建设的主要信息系统的静态基本情况,该调查表要素包括系统名称、系统类别、应用范围、所有者、系统状况、主要用途、开发商或集成商、体系架构、硬件环境、数据库管理系统、数据年生产量及主要业务年交易量、评审验收情况、文档资料情况(需求说明书、概要设计说明书、测试分析报告、用户操作手册、软件维护手册、数据库表结构等)。在此基础上调查了解以下主要内容。
1.被审计单位ERP项目需求阶段的业务蓝图、需求分析报告和用户需求规格说明书。
业务蓝图是ERP界通用的一种企业建模方式。业务蓝图通过对公司业务现状进行的需求调研分析,梳理出企业未来的物流、资金流和信息流的业务模型;业务蓝图用一种企业客户易于理解的方式来描述复杂的过程,是一种直观明了的描述方法。他使用少量的符号,以集合的方式进行组织,定义了某人在特定的时间、采用特定的方法去做特定的事情。在业务蓝图基础之上可以建立起ERP系统业务的规划、上线方案等,从而建立起企业整体应用的ERP系统框架。
2.被审计单位ERP项目设计阶段的系统概要设计文档和数据库概要设计文档。特别是系统应用架构和数据库表结构。如果被审计单位是自己开发的ERP系统或与ERP厂商合作开发的系统,可直接获取ERP系统的数据字典等数据结构性文档。
3.被审计单位ERP项目实施各阶段的系统授权手册、基础数据设置清单、标准参数配置文档、基础数据设置报告、用户操作手册、软件维护手册、项目实施阶段报告、系统实施阶段里程碑文件等文档。
4.企业资产重组引起ERP系统结构变化情况。
5.获取业务模块基础静态表和动态表。
(五)业务流程分析。
ERP系统的业务流程基于ERP企业的业务流程,贯穿企业各种业务的各种管理对象,形成物流、资金流、信息流的变化过程,是ERP系统的核心内容,也是进行审计数据分析的核心内容。审计人员可以通过书面或者口头询问、召开调查会议、发放调查表(问卷)、查阅文件、实地察看、利用以往审计的资料与经验以及学习对被审计企业有重大影响的法规等方法,调查了解以下主要内容。
1.获取ERP系统整体业务流程的规划设计文档,了解ERP系统整体业务流程和各子系统间业务数据的关系,明确企业的业务流程和各子系统之间的数据控制和关联性。
ERP系统业务流程规划设计遵循职责完整原则、职责分离原则、目标驱动原则、跨职能扁平化原则、流程运作效率原则等多项原则。
ERP整体业务流程和各子系统间业务数据的关系:ERP系统业务流程处理的对象实质是数据,可以将ERP系统数据分为基础性数据和事务性数据;ERP 系统的各个子系统之间根据企业内部生产经营的业务流程关系,利用数据接口进行与流程相对应的数据共享与处理。如了解到物流系统基础数据中的供应商同时也进入财务管理系统,是应付账款的核算单元,在审计中可以在物流系统中抽取供应商明细表核对应付账款中往来情况。
2.获取ERP系统核心业务流程的业务流程图和数据流图。
业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表。
数据流图(Data Flow Diagram,DFD)是从数据流转和加工分析角度,以图形的方式来表达系统的逻辑功能要求、数据在系统内的数据流向和逻辑变换过程,是结构化系统分析方法的主要表达工具。
业务流程图和数据流图之间的关系:业务流程图是物理模型,数据流图是系统的逻辑模型,数据流图是提供给软件研发人员理解业务流程需求处理的图示。
3.核心业务流程与法律、法规和制度的符合程度。
4.了解和分析核心业务流程涉及哪些数据表及关键、关联字段。
二、以系统数据为主做好数据分析准备
根据审计人员调查了解的情况,判断数据获取和数据分析的可能性和依据,搭建数据化审计的现场环境,为数据获取和数据分析做好充分准备。
(一)系统数据获取依据。
可由审计组聘请的专家或计算机专业技术人员在做好下列工作准备的前提下,为获取系统数据提供依据。
1.分析管理制度对系统数据保管、备份、运维及相关硬件设施的保护等情况,从制度层面确定系统数据获取的可能性。
2.明确ERP系统是集中部署还是分布部署,从而选择数据的获取方式。企业如果部署了多套ERP系统,其相应的ERP数据环境就变得复杂,系统数据获取的难度也随之变大。
3.了解ERP系统的数据库环境,分析数据库设计是否严谨。如果被审计单位的ERP系统是标准的ERP产品,则被审计单位的数据库环境也就相对简单。反之如果被审计单位的ERP系统是非标准ERP产品或是异构的ERP系统,则被审计单位的数据库环境也会变更加复杂。
4.了解ERP系统运行的年限和已启用的模块,分析实施各阶段里程碑文件,明确ERP系统实施的关键时间点、启用模块时间表、上线单位时间表等,从而划定需获取数据的时间和业务范围。
(二)系统数据分析准备。
审计组数据分析人员应全面熟悉下列内容,为数据分析做好准备。
1.了解数据库的表结构,为数据分析做好准备。
2.了解被审计单位ERP系统业务数据之间的关系,可以帮助审计人员验证各个业务系统数据的完整性、准确性和真实性。
3.分析数据完整性约束,包括数据有效性、取值域检查、实体完整性、引用完整性、取值合法性、商业规则、一致性等约束。
(三)搭建数据审计环境。
ERP环境下的审计现场,应搭建用于ERP运行和适于审计人员研究系统、了解控制、获取数据的审计环境,该环境包括硬件设备与网络环境、软件环境及安全性要求等内容。根据上述数据获取依据,审计组可以选择直接访问被审计单位ERP环境、搭建被审计单位ERP模拟环境和搭建审计专用服务器数据库环境三种方式开展数据审计。
直接访问被审计单位ERP环境的优点是数据真实可信,缺点是由于直连被审计单位真实的ERP环境存在诸多权限上的限制(如只读限制),数据分析的灵活性较差;搭建被审计单位ERP模拟环境的优点是便于模拟被审计单位使用ERP系统的配置情况,易发生内控风险的节点,缺点同样是数据分析的灵活性较差;搭建审计专用服务器数据库环境的优点是数据分析灵活,但缺点是缺乏全面、可信的系统数据。
审计现场环境搭建可以由审计人员提出需求,请被审计单位熟悉ERP配置管理的工作人员予以实施,最后由审计组计算机审计人员根据需要进行完善。
三、以数据分析为主制定审计应对措施
ERP环境下的内部控制系统是由人工控制和系统自动控制共同实现,通过ERP系统实施控制活动是典型的自动控制,但不是内部控制活动的全部内容。因此,人工处理所带来的风险,加上ERP系统环境本身的风险,共同构成了ERP环境下的风险。按照内部控制的不同环节可分为数据录入、数据篡改、业务差错和业务违规等4大类风险,每类风险在系统数据上的表现形式和导致的问题结果都各不相同。审计组应按不同风险表现形式分析存在重要问题的可能性,确定审计事项,制定系统数据分析的主要审计步骤和方法。
(一)数据录入风险。
1.制度缺陷或未执行导致系统数据表字段录入内容错误或记录时间滞后。
举例分析:将未经批准的业务录入系统,或已经发生的业务未及时录入系统,如少计、多计收入或支出。
审计步骤和方法:筛选制度缺陷或制度未执行所影响的系统数据,通过数据的趋势变化分析或审计抽样的方法核实数据与实际业务的差异,分析原因和后果。
2.数据库设计未满足数据的完整性约束导致系统数据表字段录入内容错误或缺失。
举例分析:数据录入不完整,业务要素记载不全,如应收账款或应付账款未按客户单位进行明细核算。
审计步骤和方法:筛选录入不完整的系统数据,分析业务要素记载不全的原因和由此导致的后果,发现隐藏其中的违法违规行为。
3.外挂小软件导致系统数据表字段录入内容错误或输出信息内容录入错误。
举例分析:通过输入、输出小软件随意修改输入、输出信息,如随意修改发票收款人信息。
审计步骤和方法:获取小软件处理的所有数据,与系统数据进行关联分析,分析两者差异的原因和由此导致的后果,通过延伸审计相关单位,发现隐藏其中的违法违规行为。
4.业务模块动态基础数据初始录入不正确,导致系统数据表字段内容录入错误。
举例分析:企业系统上线前在完成动态数据清理工作时,将有效资产转到帐外,如企业将固定资产、对外投资或债券通过系统上线转入账外。
审计步骤和方法:获取财务、物资等业务模块动态基础数据表,与系统上线前的相关账册、报表核对,分析两者差异的原因和由此导致的后果,查找账外资产去向。
(二)数据篡改或丢失风险。
1.超级用户(或系统操作员)的权限配置不合理,导致系统数据表记录条数不全。
举例分析:为了某种目的通过超级用户(或系统操作员)删除某项业务记录,如删除购销业务流水和会计凭证等,使业务记录缺失。
审计步骤和方法:筛选相关用户操作的系统数据,查找缺失的流水号,分析记录缺失的原因和由此导致的后果。
2.篡改业务数据,导致系统数据表字段内容错误。
举例分析:为了某种目的通过超级用户(或系统操作员)修改某项业务记录,如会计凭证反映的经济事项或金额与实际不符。
审计步骤和方法:筛选相关用户操作的系统数据,通过数据关联分析或审计抽样的方法,找出差异并分析原因和由此导致的后果。
3.篡改计算规则方面的业务模块静态基础数据,可能导致数据表计算结果错误。
举例分析:篡改各种减值准备的提取比例导致数据表计算结果错误,如减值准备计提方法及比例、应收款项计提减值准备的方法及金额,费用提取的比例或范围等错误。
审计步骤和方法:获取静态基础数据,通过复算的方法查找数据差错的具体金额。
4.突发事件,没有得到有效解决,导致系统数据表内容大量丢失。
举例分析:因企业服务器遭受人为恶意攻击或非法侵入导致数据库故障,如果其备份周期较长,往往只能恢复到最近一次有效备份时点的数据,该时点之后的数据表内容则大量丢失。
审计步骤和方法:查看突发事件记录档案,了解突发事件时点和解决情况,查询相关数据表的时间记录字段确定丢失内容造成的损失,对丢失内容涉及的重大业务事项逐一检查,防止国有资产损失。
(三)业务差错风险。
1.用户使用的熟悉程度较低,导致系统数据表字段内容错误。
举例分析:经济业务记录经常出现与实际内容相反的问题,如将会计凭证的借贷金额记反。
审计步骤和方法:对新上线业务进行审计抽样,找出差错并分析原因和由此导致的后果。
2.系统流程存在断点,导致系统数据表字段内容错误、记录时间滞后。
举例分析:大量已发生业务未及时入账,甚至存在挪用资金的问题,如财会人员挪用资金炒股。
审计步骤和方法:筛选系统流程存在断点的关键数据表,将上下游数据进行关联分析,找出差异并分析原因和由此导致的后果。
3.模块之间未能有效集成,导致系统数据表字段内容错误。
举例分析:不同部门对同一业务记录不一致,如收款人名称在不同模块间不一致。
审计步骤和方法:筛选不同模块之间的关键数据表,将上下游数据进行关联分析,找出差异并分析原因和由此导致的后果。
4.各子系统之间关联性差,导致相关子系统数据表记录时间和内容不一致。
举例分析:集团公司内部上下游公司相关业务发生后的记录存在较大时间差异,如一方采购业务入账,一方还未做销售入账。
审计步骤和方法:筛选子公司之间或母子公司之间关联交易数据,进行对比分析,找出差异并分析原因和由此导致的后果。
(四)业务违规风险。
1.多重角色的用户权限被放大,导致系统数据表记录内容违规。
举例分析:虚构业务套取企业资金或挪用单位财物,如以虚假资产处置减少实物资产价值。
审计步骤和方法:筛选相关用户操作的系统数据,逐一检查相关业务的合法性和合规性,并分析原因和由此导致的后果。
2.篡改供应商、分销商和客户等业务模块静态基础数据,导致系统数据表记录内容违规。
举例分析:修改不符合企业管理规定供应商或分销商的关键数据,如国有公司、企业的董事、经理利用职务便利,自己经营或为他人经营与所任职公司、企业同类的营业,获取非法利益。
审计步骤和方法:获取基础数据表,筛选供应商、分销商和客户基础信息,通过与国家审计数据平台或社会公共信息平台的企业基础信息关联分析,并延伸调查相关个人信息,逐一审计不合规业务,并分析原因和由此导致的后果。
3.系统核心业务流程违反法律、法规和制度的相关规定,导致系统数据表记录内容违规。
举例分析:系统业务流程本身没有控制可以控制的违规业务,如企业超限额对外投资或担保。
审计步骤和方法:获取违规业务流程对应的数据表,通过与法定业务流程涉及的条件或要求对比,逐一审计不合规业务,并分析原因和由此导致的后果。
ERP环境下,系统处理是否合规、合法、安全可靠,与系统的处理和控制功能有直接关系。ERP系统的这些特点及其固有的风险,决定了审计人员要花费较多的时间和精力来了解和审查ERP系统的功能,以证实系统处理的合法性、正确性和完整性,以及系统数据的准确性、及时性和可靠性;同时,确定风险控制的薄弱环节和由此产生的系统数据,再进行数据的多视角、多方式结合分析,避免审计的盲目性和无序性,提高审计工作的质量和效率,降低审计风险,这就是本文需要研究解决的问题。