1信息系统一般控制审计(上)(来源:《中国注册会计师》,2018-09-12)编者按:在信息化环境下,企业运用信息技术编制财务报表,设计和执行内部控制。注册会计师在对企业的财务报表进行审计时,必须考虑信息技术的影响。同时,信息化也对注册会计师的审计技术和方法带来革命性变化。为了帮助注册会计师应对信息化带来的挑战,中国注册会计师协会资助普华永道中天会计师事务所研究编写了《信息系统环境下的财务报表审计》一书,即将出版。本刊约请作者加以摘编,分期连载,以飨读者。注册会计师在完成信息系统审计工作计划之后,就要进入信息系统审计的执行工作。我们将对信息系统审计的执行工作从信息系统一般控制、应用控制和数据三个领域分别阐述。信息系统一般控制是整个信息系统审计的基础和内核,对被审计单位的应用控制和数据保驾护航,对整个财务报表产生普遍性的影响。如果信息系统一般控制没有得到有效设计或运行,依赖于其上的自动控制和手工控制就如建立在沙滩上的城堡,无法对财务报表提供有效的支撑。因此,如果信息系统一般控制和应用控制均在审计范围内,我们一般应该先安排执行信息系统一般控制的审计工作。在大致确保一般控制整体有效的前提下,再进行相关的应用控制审计的执行工作。如果一般控制整体无效或部分无效,我们需要评估无效的控制点对依2赖其上的应用控制的影响,确认是否仍然可以依赖该应用控制点,以及在此背景下该应用控制点的审计策略和方法是否需要有所调整。简言之,应用控制是否有效并可以被依赖、以及如何测试将在很大程度上取决于一般控制的有效性。因此,信息系统一般控制审计在整个审计过程中具有举足轻重的作用。一、系统建设(一)系统建设活动中与审计相关的特定风险注册会计师在执行财务报表审计时,需要考虑被审计单位的信息系统建设活动可能对审计工作产生的影响。例如,信息系统建设活动是否与财务报表相关?相关程度如何?如果新建的信息系统与财务报表不相关(如工程辅助设计系统),注册会计师并不需要将其纳入审计范围。反之,注册会计师需要进一步考虑系统建设活动中与财务报表审计相关的特定风险,如表1所示。表1信息系统建设生命周期各阶段的主要审计风险系统建设阶段主要风险项目启动系统建设活动偏离企业战略目标;企业的项目治理混乱,项目间产生冲突。系统分析与设计设计方案偏离项目目标,不能完全反应真实的用户需求。编码开发与配置系统编码和配置可维护性差,增加出错概率;系统编码和配置版本混乱,开发质量降低。测试与质量保证测试不充分,系统存在重大错误或缺陷;系统实际表现与用户预期之间存在偏差,突出表现在自3动控制机制、报表等方面。数据清洗、转换与迁移进入新系统的数据不准确、不完整。程序实施实施发布切换失败,系统不具备承接企业日常事务处理的能力;培训不充分,用户未完全掌握系统操作技能。(二)系统建设活动的重点关注领域注册会计师应当根据对被审计单位信息技术环境的了解、财务报表对信息技术的依赖程度,以及可能使财务报表产生重大错报的信息技术相关风险评估情况,确定对财务报表认定有直接或间接影响的信息系统。如果被审计单位的系统建设活动涉及以下几类信息系统,注册会计师通常需要予以关注:1.财务系统:通常涵盖总账、固定资产、应收账款、应付账款等模块,是被审计单位日常会计核算的基础应用系统。其功能定位决定了这类信息系统对财务报表认定具有直接影响。因此,如果被审计单位在审计期间进行了财务系统的开发活动,注册会计师通常应当将财务系统纳入信息系统审计范围,并对与该系统开发相关的风险和控制的设计与执行给予充分的考虑和评估。2.报表平台:通常包括三类,一类是专门执行合并报表编制的平台,能够根据配置自动执行合并抵消,并出具合并层面的财务报表,如OracleHyperion产品;第二类是从业务系统抽取数据生成报表,供财务人员做账时查询;第三类是支持企业对外报送信息的系统,如根据税务法律法规,专门生成符合报税格式和规范的财务报表。如果4注册会计师确定这类信息系统对财务报表认定具有直接影响,通常应当将其纳入信息系统审计范围。3.业务系统:通常是支撑被审计单位生产经营活动开展的事务处理与管控系统,具体表现形式多样。如制造业企业的ERP系统,零售企业的POS系统、进销存系统、客户关系管理系统,商业银行的贷款系统,电商的订单处理系统等。值得注意的是,在现代企业中,业务端与财务端在信息技术的推动下逐渐融合,如SAP、Oracle等ERP产品,财务相关的功能往往作为ERP系统的一个模块而存在;或者系统之间存在着自动化的接口,财务系统通过接口与业务系统同步数据并进行账务处理;或者业务系统能够生成相关的报表,供财务人员查询并做会计核算和账务处理。在这样的信息技术运用环境中,业务系统应当被认为对财务报表认定具有直接影响,通常应当将其纳入信息系统审计范围。4.工作流系统:通常能够根据用户角色和权限,以及工作流的配置和定义,自动触发并处理各类工作请求。常见的形式是办公自动化系统。注册会计师需要谨慎对待此类系统,并评估工作流处理的对象对于财务报表认定是否具有直接或间接影响。例如,主营业务的采购或销售合同条款的录入与审批在办公自动化系统中执行,审批通过后,合同条款自动经由数据接口同步进入ERP系统作为采购或销售事务结算的依据,在这种情形下,办公自动化系统处理的对象对于财务报表认定具有直接的影响。还有一类工作流系统,处理信息系统相关的工作请求,如系统变更、后台数据更正等。虽然与被审计单位开展5的生产经营活动并不直接相关,但却是信息系统一般控制的基础管控平台,注册会计师通常应当予以充分考虑。(三)系统建设审计领域相关控制的一般要素注册会计师需要确定财务报表审计对信息系统的依赖程度,并在此基础上对纳入审计范围的信息系统的系统建设领域相关控制进行了解、评估和验证,系统建设审计领域相关控制的一般要素包括:1.对开发和实施活动的控制和管理;2.项目启动;3.系统分析与设计;4.编码开发与配置;5.测试与质量保证;6.数据清洗、转换与迁移;7.程序实施;8.记录和培训;9.职责分离。系统建设各阶段面临的财务报表审计相关特定风险与控制目标、COBIT5模型及常见控制措施的对应关系如表2所示。表2风险与控制目标、COBIT5模型及常见控制措施的对应关系系统建设阶段风险控制目标与COBIT5模型的映射关系常见控制措施项目启动系统建设活动偏离企业战略目保证系统开发活动与企AP002企业制定完善的系统开发制度与6标;企业的项目治理混乱,项目间产生冲突。业战略一致,且经过管理层的正式授权。AP003AP005AP012BAI01规范,并贯彻执行。企业对系统开发可行性进行充分研究,系统开发决策经过企业管理层的正式授权。系统分析与设计设计方案偏离项目目标,不能完全反应真实的用户需求。保证系统的分析设计与用户需求保持一致。AP012BAI02BAI03BAI04系统分析与设计方案需要得到用户的正式认可。编码开发与配置系统编码和配置可维护性差,增加出错概率;系统编码和配置版本混乱,开发质量降低。保证系统开发的高质量。AP012BAI03BAI10项目组制定并发布正式的程序编码规则。项目管理人员执行开发质量复核。7利用技术工具建立源代码与配置管理库并执行版本控制。建立配置基线。测试与质量保证测试不充分,系统存在重大错误或缺陷;系统实际表现与用户预期之间存在偏差,突出表现在自动控制机制、报表等方面。保证系统中不存在重大的错误或缺陷,能够达到用户的预期。AP012AP011制定完善的系统测试计划。测试中发现的问题应及时得到跟进与解决。用户应参与最终的验收测试并做出正式的测试结论。数据清洗、转换与迁移进入新系统的数据不准确、不完整。保证数据迁移的完整性、准确性与一致性。AP012AP011制定完善的数据清洗、转换与迁移计划。用户应参与数据8迁移,由独立人员验证迁移前后数据的完整性、准确性与一致性并做正式记录。程序实施实施发布切换失败,系统不具备承接企业日常事务处理的能力;培训不充分,用户未完全掌握系统操作技能。保证系统上线的平稳有序。AP012BAI05BAI06BAI07BAI08DSS04制定完善的程序实施计划,建立并测试应急回滚机制。用户经过充分培训并考核合格。开发环境、测试环境、生产环境严格分离。严格控制生产环境的发布权限。程序实施需要得到企业管理层的正式授权。9(四)系统建设审计领域控制测试的执行根据《中国注册会计师审计准则第1211号——通过了解被审计单位及其环境识别和评估重大错报风险》,注册会计师应当根据被审计单位的特定信息技术环境,对财务报表重大错报风险进行识别,了解并评价与财务报表审计相关的内部控制。就系统建设审计领域的内部控制而言,识别和了解与企业财务报告相关的内部控制,并确定控制测试的性质、时间安排和范围,通常需要关注内容见表3。表3确定系统建设审计领域控制测试时的考虑对开发和实施活动的整理管理:被审计单位是否对系统开发活动建立了正式的规章制度,是否有明确、成熟的系统开发方法论?被审计单位是否对系统开发项目建立了完善的实施计划?被审计单位是否明确了系统开发活动中所涉及的人员的角色和职责?被审计单位如何确保业务负责人和信息技术负责人充分参与了系统开发的关键活动,如需求定义、测试计划制定,以及测试结果的评价与跟进?管理层如何监督系统开发活动,以及相应的控制手段?项目启动、系统分析与设计:系统开发活动是否与被审计单位整体业务发展目标一致?是否与完善内部控制目标一致?项目团队是否具备充分的业务、技术知识与能力?包括内部控制方面的知识与能力。业务相关方和数据所有者是否已经充分识别?10需求规格定义是否充分?与其细节是否一致?项目团队是否充分考虑到了财务报告编制、企业内部控制与信息系统的依赖性?需求定义、分析与设计是否经过相关方的正式认可?编码开发:被审计单位是否定义了软件编码规范?如果使用外购软件包,被审计单位在系统选型、客制化和实施时如何考虑企业的应用控制目标?被审计单位如何对信息系统进行了版本控制?被审计单位如何考虑对应用集成和数据的依赖?测试与质量保证:被审计单位如何确保测试计划充分体现了分析与设计阶段定义的需求?被审计单位如何确定系统测试的性质与程度?技术和业务人员是否执行了适当的系统测试工作,并认可测试结果?被审计单位如何确保与财务报告相关的内部控制的设计和运行的有效性经过了充分的测试?如何确保经过测试后的软件在实施前未被篡改?如何控制代码库迁移?如果使用外购软件包,如何确定对软件包的配置符合业务的需要,以及内部控制的要求?数据清洗、转换与迁移:如何确保新老系统平台之间的数据字段映射是准确的?11如何确保清洗、转换后的数据是完整、准确、一致的?数据清洗、转换与迁移的计划中如何考虑关键的系统间接口的因素?程序实施:程序实施是否经过业务部门和技术部门的合理授权?被审计单位是否建立并遵循了标准的实施发布切换流程?如何确保实施发布切换的程序是经过充分测试并经过管理层授权发布的版本?如果程序在不同的地理位置运行,被审计单位如何确保各地的程序版本是正确的?是否存在实施后评估?实施后评估如何应对、检讨重大的实施风险?记录和培训:系统文档,如用户手册、技术文档等,是否编制完善?被审计单位如何确保用户、运维人员充分理解系统文档中的内容?被审计单位是否对用户、技术人员进行了充分的培训?职责分离:整个系统开发过程中的职责分离是如何贯彻执行的?开发环境、测试环境与生产环境是如何分离的?这些环境的访问控制如何?必须指出的是,以上考虑并非在任何情况下均适用,也并不能完全涵盖所有情况。注册会计师需要结合被审计单位的信息技术环境和特定风险做出职业判断。在执行系统建设领域的审计工作时,注册会计师需要充分考虑其12审计发现对企业财务报表审计是否存在直接影响,并据此评估对审计程序的性质、时间安排和范围的影响。系统开发审计领域常见的审计发现及其影响列示见表4。表4系统建设审计领域常见审计发现及其影响常见审计发现对财务报表审计的影响未对迁移前后数据的完整性、准确性