信息系统应用控制审计(下)
2018-09-11
本文继续探讨信息系统应用控制审计的相关内容,主要阐述注册会计师对信息系统应用控制的了解和识别,以及应用控制测试的原则和方法。
一、信息系统应用控制的了解和识别
应用控制从本质上来看,属于企业内部控制的一种特殊形态,即应用控制是被赋予了系统参与完成属性的一类内部控制。因此,了解和识别应用控制的基本方法和过程与其他内部控制是一致的。应用控制的了解和识别是伴随着整个内部控制的了解和识别的完成而完成的。
注册会计师一般通过对业务流程/循环端到端的了解来了解和识别被审计单位的内部控制(包括应用控制)。因此,要了解和识别被审计单位有哪些具体的应用控制,注册会计师在详细审计计划阶段需要完成的一项工作是进行业务流程/循环端到端的了解。在了解过程中,逐步识别穿插其中的应用控制。
业务流程/循环端到端的了解,顾名思义,就是从该业务流程/循环的起始点到结束的整个过程的了解。例如,对于销售循环端到端的了解包括从销售策略、销售定价与折让、销售订单、赊销信用、发货、开具账单、记录销售、收款、销售退回、坏账处理的完整流程。
在财务报表审计中,进行业务流程/循环的端到端的了解有两个目的:
1.通过从始至终的流程了解,识别企业潜在错报风险来源,从而帮助注册会计师执行更有针对性的审计策略和程序;
2.在业务流程的全程了解中,识别其中的内部控制并初步评估内部控制的设计是否有效。
在了解和识别过程中,注册会计师通常会用到各种实现工具和记录方式来辅助该阶段工作的完成。恰当的实现工具和记录方式不仅有助于提高审计质量,对于审计效率和效果的提升也是有着举足轻重的作用。在此,我们仅列举在此审计阶段所使用的一些常用方式。
(一)流程描述文档(Narrative)
在了解端到端的业务流程/循环过程中,注册会计师可以通过流程描述文档详细记录被审计单位的业务流转过程,通过文档梳理出流程的详细过程和细节。通过业务流程描述文档,注册会计师可以清楚的梳理出被审计单位从始至终的完整流程,有助于发现和识别其中的风险点及应对。这种文档没有固定的格式要求,常见的流程描述文档以Word文本方式进行记录。
(二)流程图(Flow Chart)
流程图是一种与流程描述文档配套的图形化记录方式,注册会计师可以使用流程图的方式分解流程的层次结构,如一级流程图、二级流程图和三级流程图,记录业务流程中的各个流程、控制活动及相关风险。一份完整的流程图通常包括图例说明、流程总览、子流程几个部分。对于子流程,通常会记录流程中的流程所有者,流程内容,实现方式,流程编号等。对于控制活动,与流程记录的要素基本相同,最大的区别在于,控制活动与风险相应而生,因此,控制活动与风险在图中往往成对出现。常见的流程图以Visio方式完成。
(三)风险控制矩阵(Risk &Control Matrix)
风险控制矩阵,顾名思义就是风险和控制组成的一个矩阵式表格。这一表格列式了一个流程/子流程中的风险点及应对(控制)。这个表格往往和流程图配套使用。
通常情况下,风险控制矩阵主要包括子流程、风险编号、风险描述、控制目标、控制编号、控制描述、控制频率、控制类型、财务报表对应科目/交易、信息处理目标、财务报表认定等关键要素。通过这个矩阵,注册会计师可以很清楚的看出各个业务流程中的内部控制点及对应的财务报表科目,并根据该控制点所应对的风险、实现的信息处理目标及与财务报表认定之间的关系,评估被审计单位是否对相关风险点建立了足够的内控应对机制,以确保该科目/交易的相关认定目标的实现。
矩阵中所列的控制点即为应用控制的具体内容。需要再次强调的是,应用控制是属于内部控制体系的一部分。应用控制是实现方式有系统参与的内部控制。因此应用控制具体控制点的了解和识别工作是伴随着审计过程中的各个业务流程中内部控制的了解和识别工作的完成而完成的。因此,如果在规划阶段经评估结论是需要在该审计项目中引入信息技术专家,则在本阶段业务流程端到端的了解及应用控制的了解及识别过程中,需要信息技术专家的参与注册会计师共同完成这项工作,以确保对于系统应用控制的准确了解及识别。
表1 收入与应收账款流程常见应用控制示例
以上列举的在了解和识别应用控制的过程中使用的记录方式是比较常见的一些辅助手段。经过长期的审计实践证明,这些记录方式对审计效率和效果的提升有着显著的作用。表1以收入与应收账款流程为例,举例说明一些常见的应用控制。
需要说明的是,以上列举的控制活动不一定对所有企业都是适用的。对应用控制的了解和识别结果是因企业而异的。注册会计师需要把握了解和识别应用控制的方法,并在审计过程中灵活运用,才能完全回答“做什么”的问题。
二、应用控制测试的原则和方法
应用控制和手工控制具有共同点,他们都属于内部控制,因此两者适用于通用的控制测试原则和方法。另一方面,应用控制与手工控制相比,又具有其独特性:应用控制是依赖于信息系统实现的控制活动。在信息系统一般控制持续有效的前提下,应用控制因为少有人工干预和判断而具有持续有效性、稳定性和连贯性。因此,这一特点又赋予了应用控制测试原则和方法的独特性。本文将着重阐述因应用控制测试的独特性而导致的应用控制测试与一般人工控制测试不同的方面和关注点。
由于应用控制的独特性是建立在一般控制有效的基础之上的,因此应用控制的持续有效运行与信息系统一般控制是否有效具有直接关系。信息系统一般控制、信息系统整体控制环境以及两者的审计发现都会对应用控制的测试方法产生影响。因此,在应用控制审计执行的方法介绍中,我们将考虑这些因素对测试方法的影响分别进行阐述。
(一)自动控制和自动计算测试
对于自动控制和系统自动计算而言,注册会计师需要通过一定的审计程序验证控制的有效性和计算的正确性。由于系统处理的内在一致性,自动控制和自动计算一般都按照预期的方式持续有效运行,除非相关程序在审计期间发生过变更或者系统一般控制无效。
如果需要确认自动控制按预期的方式运行,注册会计师需要考虑执行相关的控制测试以确保控制持续有效运行,这样的测试可能包括:
1. 程序变更都受制于恰当的程序变更控制;
2. 授权的程序版本被用于交易的处理;
3. 其他的系统一般控制有效。
在系统一般控制有效的前提下,自动控制和自动计算的测试方法有很多,通常包括以下5种:
1. 执行穿行测试。在相关交易流程的穿行测试过程中,通过足够的询问、观察、检查和/或重新执行程序获取审计证据。对于自动控制和自动计算而言,同手工控制一样,执行穿行测试的方法往往是结合询问、检查和重新执行来验证控制的有效性和计算逻辑的正确性。需要注意的是,对于自动控制和自动计算而言,在执行穿行测试的过程中,务必要保证各种重要场景的全覆盖。因此,在进行测试前,注册会计师需要通过多方询问、检查等手段先对控制和计算的场景进行了解,获取全局观之后选择具有重要性的和审计相关的场景进行验证。
2. 现场运行测试样本。在程序中运行一个样本,然后比对系统运行结果与预期的一致性。这种测试方法有点类似于穿行测试。注册会计师通过现场运行一个虚拟的交易或者实时跟踪一个真实交易,将系统运行的结果与注册会计师预期进行比对。这种测试方法与第一种方法的最大区别在于,穿行测试一般选择的是历史样本并追踪其系统处理。而该测试方法一般是用于现场实时运行相关的控制和自动计算。
3. 进行模拟测试。对真实数据运行注册会计师独立编写的脚本或程序,将输出与系统运行结果进行比对。这种方法比较常用在系统自动计算的验证上,也适用于后面将要阐述的报表准确性及完整性验证。对于被审计单位来说,系统的某一套自动计算程序可能服务于多个业务和财务目的,因此,其计算逻辑通常比较复杂庞大。但是对于注册会计师来说,我们关注的通常只是和审计相关的计算逻辑和结果,因此,在充分评估了业务逻辑的合理性之后,具备充分专业技能的注册会计师可以独立编写脚本或程序,对真实源数据运行该脚本和程序,然后比对该代码运行结果与被审计单位设定的系统逻辑运行下的结果。
4. 评估系统程序逻辑。注册会计师通过检查应用系统配置,访谈程序开发人员,查看源代码等审计方法评估程序设置的合理性,从而达到验证自动控制和计算的目的。注册会计师在使用这种方式进行验证的时候,往往伴随着确保系统配置或代码的访问权限的赋予是否合理。对于这些配置和代码的修改在审计期间是处于受控的状态。在此前提下,才能确保注册会计师在审计现场看到的配置或代码能适用于整个审计期间。
5. 执行实质性测试。通过实质性程序将自动控制和计算的结果核对至源文件,或者将结果与独立可靠来源的数据进行核对。这种方法比较常用于自动计算和报表验证。例如,在测试账龄表的准确性时,注册会计师可以将应收账龄表上的数据与函证结果进行比对,或者是将报表数据追溯至销售发票。
以上5种测试方法较多验证的是自动控制和自动计算的逻辑正确性,注册会计师在测试自动控制和计算的运行有效性时,还需要综合考虑其他方面的风险因素,例如:
1.自动控制和计算应用的源数据是否正确。注册会计师需要确保系统自动控制和计算应用于了正确可靠的数据来源,这个往往通过录入控制来保证。
2.相关控制和计算的访问权限,特别是修改是否进行了足够的限制。
以上是在有信息系统一般控制审计证据支撑下的审计方法。如果缺乏有效的信息系统一般控制或者信息系统一般控制有限,注册会计师需要使用其他更有效果和效率的测试方法,例如:
1.获取审计证据证明应用控制自从上次测试以来没有发生过变化;
2.使用计算机辅助审计技术重新运行自动控制和计算或者在审计期间以较高的频率比对程序代码;
3.评估内在风险因素和控制风险因素,如程序变更的次数和复杂度是否都较低;
4.在审计期间以更多的频次使用前面提到的5种测试方法进行相关控制和计算的验证工作。
(二)报表
系统报表是系统生成的符合一定业务逻辑的数据集合。通常被用于执行相关的控制或者用于下一步实质性程序。因此,如果这些报表和数据出现错误会导致后续的控制无效和实质性测试结果的不准确或者不完整。
注册会计师执行报表测试的性质和程度取决于职业判断。通常注册会计师需要考虑的因素列举如下:
1.需要从控制或实质性程序获得的审计证据水平;
2.相关FSLIs的重大错报风险;
3.控制有效运行或实质性测试设计对报表/数据完整性和准确性的依赖程度;
4.报表/数据的性质、类型、来源及复杂度;
5.以前年度的审计经验,如以前年度的控制缺陷,控制环境的变化等;
6.应用系统的复杂度。
对于报表测试,注册会计师的目标是保证报表准确、完整地归集、处理和展示了系统中的数据。报表在系统中的生成过程大致可以分为数据归集、逻辑加工、报表展示三个阶段。从报表生成过程,要保证最终生成的报表正确与否,我们需要回答3个问题:
1.录入系统的源数据是不是完整准确(“源头对吗”);
2.系统是不是完整准确地处理了相关源数据(“过程对吗”);
3.系统生成的报表的可编辑性(“结果可改吗”)。
(三)访问控制
访问控制需要确保两个层面的内容:一是权限设计的合理性;二是权限赋予的合理性。注册会计师在进行访问控制测试和验证的过程中,也需要对这两方面执行相应的审计工作。对于验证权限设计的合理性,注册会计师主要关注的权限设计的粒度是否满足了风险管理的需求并且名符其实;对于验证权限赋予的合理性,注册会计师主要关注的是权限是否赋予给了合适的人员,是否有冗余权限的赋予,权限赋予的结果是否实现了敏感权限的职责分离。
对于访问控制,注册会计师通常需要执行以下审计程序:
1.询问权限设计和管理人员,了解被审计单位权限设计及赋予规则和方法。企业可能是直接将权限赋予给账号,也可能设计了一定的角色,将权限赋予给角色,然后将角色赋予给账号。注册会计师在进行访问控制验证的过程中,首先清楚了解被审计单位的权限设计及赋予规则是十分必要的。
2.对于选定进行测试的访问权限,查看系统中的权限设计和配置,确认系统中权限设计和配置是正确的。
3.进行权限赋予的合理性验证。
如果在审计期间,没有执行信息系统一般控制,或者经过审计验证,发现信息系统一般控制无效,则注册会计师就无法通过一次访问控制的测试工作获取审计信心了。此时,注册会计师需要评估相关的控制缺陷对访问控制的影响,并选择替代性应对程序。
(四)系统接口
对于接口而言,我们要保证的是数据完整准确的从源系统传递到了目标系统以及接收数据的有效性,并且在传输中的任何问题能够被及时的发现和跟进。
接口控制可以是依赖于系统的手工控制完成,例如,数据的完整性验证可能是手工方式进行核对;也可以是自动控制完成,例如,系统通过批处理任务定时将数据从源系统传输至目标系统。
对于接口测试,注册会计师通常需要验证以下几个方面来获取相关的审计信心:
1.访问限制:仅受限的人员/账号可以对接口程序进行访问和修改。常见的控制手段如,仅授权的系统开发人员可以对接口进行变更,且变更上线权限仅授权给合适的人员。
2.完整性验证:系统如何确保数据完整地从源系统传输到了目标系统。常见的控制手段如,系统自动计算传输数据的控制总数,并与源系统进行比对,确保数据传输的完整性。
3.准确性验证:即系统如何确保数据准确地从源系统传输到了目标系统。常见的控制手段如,系统自动设置校验位,对于传输数据的准确性进行自动校验。
4.重复传输验证:系统如何避免数据的重复传输,这其实是完整性验证的一部分,因为其在接口控制中较为重要和常见,因此单列进行验证。常见的控制手段如,传输数据中存在标志位,对于已经传输成功的数据设置标志位,系统自动拒绝接受已经成功传输的数据。
5.有效性验证:系统如何确保传输数据的有效性。常见控制手段如,目标系统的编辑检查,确保系统仅接受预先定义的源系统数据。
6.传输及时性:系统如何确保数据在正确的时间期间传输了数据。常见的控制手段如,系统存在自动检查,对于不成功的数据传输,及时进行补传,直至成功为止。
7.变更控制:系统接口的变更是经过了充分得授权、测试并满足实际业务需求的。这部分的验证工作通常在信息系统一般控制的测试过程中涵盖完成。
8.传输监控及异常处理:即被审计单位如何确保数据在传输过程中的任何问题得到了及时发现和跟进。
(五)对测试时间的考虑
一般而言,由于系统审计需要持续一段时间,并且考虑到各个被审计单位的实际情况,注册会计师不太可能正好在审计期间的结束之日执行并完成系统审计工作。通常情况下,审计测试的时间大致落在以下两个区间:
1.审计期间结束日之前,
2.审计期间结束日之后。
因此,如何保证整个审计期间的应用控制均按照企业设定的方式有效运转,注册会计师必须要执行相应的审计程序:
1.在审计期间结束日之前完成测试工作:注册会计师需要确保审计测试日至审计期间结束日之间的应用控制运行的有效性。通常的考虑因素包括:
(1)以上两个日期之间信息系统一般控制的有效性;
(2)以上两个日期之间该应用控制是否发生过变动;
(3)如果发生过变动,需要验证变动后的应用控制设计及执行有效性。
2.审计期间结束日之后完成测试工作:注册会计师需要确保审计期间结束日之后进行测试的应用控制能合理反映审计期间该应用控制的设计及运行情况。通常的考虑因素包括:
(1)以上两个日期之间信息系统一般控制的有效性;
(2)以上两个日期之间该应用控制是否发生过变动;
(3)如果发生过变动,需要验证变动前的应用控制设计及执行有效性。
总之,注册会计师在进行应用控制验证过程中,需要密切关注信息系统一般控制的有效性及其缺陷对应用控制的影响,在充分评估一般控制验证结果的基础上,设计足够的审计程序和方法,以确保整个审计期间该应用控制能够实现预先设定的控制目标。