论文部分内容阅读
计算机审计是信息化环境下的必然审计方式,特别是在被审计单位涉及有大量的业务数据时,利用程序语句处理往往能大大提高审计效率,达到事半功倍的效果。本文根据计算机数据审计流程,结合审计项目,介绍计算机技术在审计工作中的具体应用。
一、制定计算机数据审计流程
计算机审计程序包括审计准备、审计实施、审计终结,不包括传统审计程序中的制定审计项目计划。
计算机数据审计流程包括审前调查、数据采集、数据整理和转换、建立审计中间表、总体分析、模型分析和延伸取证7个步骤(如图1所示)。本文围绕审计事项重点阐述模型分析。
二、构建审计组信息工作平台——组建局域网
信息化条件下,审计组成员交互审计信息的方式很多,但最有效、最安全的是网络交互。因此组建局域网作为审计组信息工作平台就很有必要。
(一)组建局域网步骤
1、购置交换机;2、在个人PC设置工作组,指定ip地址;3、在个人PC设置共享文件夹或安装局域网聊天工具(飞鸽);4、资源共享,以便交互相关项目资料。
(二)使用局域网优点
利用局域网传输文件,有利于审计组交互资料,实现信息共享,减少利用存储介质(U盘、移动硬盘等)感染病毒机会,同时减少存储介质损耗。
三、利用计算机技术完成审计事项
项目背景:2010年省审计厅安排组织全省2009年农村低保资金专项审计调查。在对该项目审计调查前,在某县进行试审;试审完结后制定全省行业审计方案,再在全省铺开。
项目特点:涉及大量业务数据。在审前调查准备过程和实施中,审计组共采集转换了该县2009年全年度的业务数据,涉及14个乡镇22562人。全县每个季度发放低保金1次、另有年底增发1次,2009年春节慰问金1次,民政部门审批数据1次,共计7次90余张ecxel表格144,071人次,数据量18.1M。
项目审查结果:通过AO系统的运用,发现农村民政信息费挤占农村低保专项资金11.72万元;审批和实际享受低保人数不符;全县2009年第三和第四季度(含增发1个月低保金)低保户数据中,发现有89户、276人新增农村低保户,无县民政部门审批手续,全年发放低保金61,130元等违规问题。
具体应用举例:
(一)在采集数据要素严重缺失情况下,如何开展计算机审计
举例:新增农村低保户审核——没有身份证信息
1、审计思路:正常情况下,实际新增农村低保户与民政部门审批新增农村低保户一致。基于此,以身份证为关键字,将相邻两次农村低保户数据比较,筛选新增农村低保户。再将实际新增农村低保户与民政部门审批的变动农村低保户比较,如与其中新增农村低保户一致,说明人员动态管理较为规范。否则,整理不合规数据并延伸调查,得出审计结论。
但是实际情况是:由于农村信息化落后,本项目采集数据中没有低保户身份证号,有一部分低保户没有村组信息,仅有姓名、账号、人口等要素。鉴于此,为使审计方法能有效移植到其他乡镇,审计人员特制定对应的审计模型,由ASL语言来实现(审计流程图略)。
2、所需资料:全年每次农村低保户保障金发放表(字段有序号、姓名、账号、村组、人口、金额、标准)、民政部门审批变动农村低保户(人口)表(字段有序号、姓名、账号、村组、人口)。
3、审计步骤:第一步、根据姓名,在第一、二次农村低保户数据中筛查出非同名中新增低保户数据(不能筛出同名中新增低保户数据);第二步、先根据账号和人口,筛查同名中新增低保户数据1:筛选异常新增低保户数据2(异常数据第二次保障中重复享受低保户);第三步、将上述新增低保户数据汇总,形成第一次新增低保户数据。并将其与审批新增低保户比较,如一致,说明人员动态管理规范;否则整理不合规数据,并延伸调查,得出审计结论。
4、审计结果:在AO中运行程序,ASL脚本(略),得出数据审计结果。
总结:随着审计数据分析的深入,根据现有数据,不断调整审计思路,需利用数据挖掘技术完成不完整(模糊)数据审核。所谓数据挖掘技术:指从大量的、不完全的,有噪声的,模糊的、随机的数据中提取隐含在其中的,先前未知的,但又是潜在有用的信息和知识的高级数据处理过程。
(二)如何将平时进行的计算机审计结果应用于审计实例和计算机审计方法
在平时,由于采集的业务数据量大或习惯性问题,我们大都是将数据在数据库SQL server中运行,利用sql语句来审查审计事项。但在写AO实例或计算机审计方法时,所应用的sql语句不能完全迁移到AO中,有部分sql语句必须修改,重新编译、运行。
1、应用于审计实例
例子:其他费用挤占农村低保专项资金问题的审核
(1)审计思路:根据相关低保政策,农村低保户享受标准严格按审批保障标准执行。如果农村低保户数据中实际保障金额超过保障标准,就存在其他费用挤占农村低保专项资金问题。
(2)所需资料:全年每次农村低保户保障金发放表(字段有序号、姓名、账号、村组、人口、金额、标准)、民政部门审批变动农村低保户(人口)表(字段有序号、姓名、账号、村组、人口)、保障标准相关文件。
(3)审计步骤及其在SQL server和AO中sql语句对比(表1):
(4)运行结果
步骤1-3运行结果显示:有19条记录超标准发放2850元。
总结:A02008在单机模式下后台数据库是ACCESS2000,在审计分析时使用ACCESS支持的SQL语句:在SQLserver中运行的sql语句,在迁移到AO环境中,有一部分语句需要修改后,在满足ACCESS2000语言规范后才能调试成功。
2、应用于计算机审计方法
A02008中审计方法需要使用审计脚本语言(ASL)。ASL是专为审计人员书写审计方法的编程语言。审计方法是可以使用SQL语句的程序,其包含SQL语句,但不能仅有SQL语句。如在上述新增农村低保户审核的ASL脚本中,有sql语句,也有PASCAL语言。如下所示:其中斜体部分为sql语句,其它为PASCAL语言。
ASL脚本:
var
sql, a, b, c, d, e, f, g;
begin
//筛查非同名中新增低保户
sql:=’select a.* from[业务-第2次农村低保户数据] as a where a. 姓名not in (select al.姓名from[业务-第1次低保户数据]as al[业务-第2次农村低保户数据]as a 2 where al.姓名=a2.姓名)’;
//筛查同名中新增低保户
sql:=’select a.* from[业务-第1次农村低保户数据] a,(select al.姓名 from[业务-第1次农村低保户数据]as al groap by al.姓名having count(*)>1) b where a.姓名=b.姓名’;
CreateTempTable(‘非同名中第二次新增低保护’,sql);
操作结果:在AO中运用审计方法发现:实际新增低保户205户668人,审批196户647人。
结论:审计脚本语言是基于PASCAL语言的基础之上开发的一门专为审计人员书写审计方法的编程语言。审计脚本语言主体是PASCAL语言的子集,在此基础之上进行了数据库操作、图表输出等一系列功能扩展,其功能简单,结构清晰,可读性强,具备了一般高级语言的的必备部分。要撰写好审计方法,除掌握sql语句外,还要熟悉PASCAL语言。(作者单位:陕西省审计厅)
一、制定计算机数据审计流程
计算机审计程序包括审计准备、审计实施、审计终结,不包括传统审计程序中的制定审计项目计划。
计算机数据审计流程包括审前调查、数据采集、数据整理和转换、建立审计中间表、总体分析、模型分析和延伸取证7个步骤(如图1所示)。本文围绕审计事项重点阐述模型分析。
二、构建审计组信息工作平台——组建局域网
信息化条件下,审计组成员交互审计信息的方式很多,但最有效、最安全的是网络交互。因此组建局域网作为审计组信息工作平台就很有必要。
(一)组建局域网步骤
1、购置交换机;2、在个人PC设置工作组,指定ip地址;3、在个人PC设置共享文件夹或安装局域网聊天工具(飞鸽);4、资源共享,以便交互相关项目资料。
(二)使用局域网优点
利用局域网传输文件,有利于审计组交互资料,实现信息共享,减少利用存储介质(U盘、移动硬盘等)感染病毒机会,同时减少存储介质损耗。
三、利用计算机技术完成审计事项
项目背景:2010年省审计厅安排组织全省2009年农村低保资金专项审计调查。在对该项目审计调查前,在某县进行试审;试审完结后制定全省行业审计方案,再在全省铺开。
项目特点:涉及大量业务数据。在审前调查准备过程和实施中,审计组共采集转换了该县2009年全年度的业务数据,涉及14个乡镇22562人。全县每个季度发放低保金1次、另有年底增发1次,2009年春节慰问金1次,民政部门审批数据1次,共计7次90余张ecxel表格144,071人次,数据量18.1M。
项目审查结果:通过AO系统的运用,发现农村民政信息费挤占农村低保专项资金11.72万元;审批和实际享受低保人数不符;全县2009年第三和第四季度(含增发1个月低保金)低保户数据中,发现有89户、276人新增农村低保户,无县民政部门审批手续,全年发放低保金61,130元等违规问题。
具体应用举例:
(一)在采集数据要素严重缺失情况下,如何开展计算机审计
举例:新增农村低保户审核——没有身份证信息
1、审计思路:正常情况下,实际新增农村低保户与民政部门审批新增农村低保户一致。基于此,以身份证为关键字,将相邻两次农村低保户数据比较,筛选新增农村低保户。再将实际新增农村低保户与民政部门审批的变动农村低保户比较,如与其中新增农村低保户一致,说明人员动态管理较为规范。否则,整理不合规数据并延伸调查,得出审计结论。
但是实际情况是:由于农村信息化落后,本项目采集数据中没有低保户身份证号,有一部分低保户没有村组信息,仅有姓名、账号、人口等要素。鉴于此,为使审计方法能有效移植到其他乡镇,审计人员特制定对应的审计模型,由ASL语言来实现(审计流程图略)。
2、所需资料:全年每次农村低保户保障金发放表(字段有序号、姓名、账号、村组、人口、金额、标准)、民政部门审批变动农村低保户(人口)表(字段有序号、姓名、账号、村组、人口)。
3、审计步骤:第一步、根据姓名,在第一、二次农村低保户数据中筛查出非同名中新增低保户数据(不能筛出同名中新增低保户数据);第二步、先根据账号和人口,筛查同名中新增低保户数据1:筛选异常新增低保户数据2(异常数据第二次保障中重复享受低保户);第三步、将上述新增低保户数据汇总,形成第一次新增低保户数据。并将其与审批新增低保户比较,如一致,说明人员动态管理规范;否则整理不合规数据,并延伸调查,得出审计结论。
4、审计结果:在AO中运行程序,ASL脚本(略),得出数据审计结果。
总结:随着审计数据分析的深入,根据现有数据,不断调整审计思路,需利用数据挖掘技术完成不完整(模糊)数据审核。所谓数据挖掘技术:指从大量的、不完全的,有噪声的,模糊的、随机的数据中提取隐含在其中的,先前未知的,但又是潜在有用的信息和知识的高级数据处理过程。
(二)如何将平时进行的计算机审计结果应用于审计实例和计算机审计方法
在平时,由于采集的业务数据量大或习惯性问题,我们大都是将数据在数据库SQL server中运行,利用sql语句来审查审计事项。但在写AO实例或计算机审计方法时,所应用的sql语句不能完全迁移到AO中,有部分sql语句必须修改,重新编译、运行。
1、应用于审计实例
例子:其他费用挤占农村低保专项资金问题的审核
(1)审计思路:根据相关低保政策,农村低保户享受标准严格按审批保障标准执行。如果农村低保户数据中实际保障金额超过保障标准,就存在其他费用挤占农村低保专项资金问题。
(2)所需资料:全年每次农村低保户保障金发放表(字段有序号、姓名、账号、村组、人口、金额、标准)、民政部门审批变动农村低保户(人口)表(字段有序号、姓名、账号、村组、人口)、保障标准相关文件。
(3)审计步骤及其在SQL server和AO中sql语句对比(表1):
(4)运行结果
步骤1-3运行结果显示:有19条记录超标准发放2850元。
总结:A02008在单机模式下后台数据库是ACCESS2000,在审计分析时使用ACCESS支持的SQL语句:在SQLserver中运行的sql语句,在迁移到AO环境中,有一部分语句需要修改后,在满足ACCESS2000语言规范后才能调试成功。
2、应用于计算机审计方法
A02008中审计方法需要使用审计脚本语言(ASL)。ASL是专为审计人员书写审计方法的编程语言。审计方法是可以使用SQL语句的程序,其包含SQL语句,但不能仅有SQL语句。如在上述新增农村低保户审核的ASL脚本中,有sql语句,也有PASCAL语言。如下所示:其中斜体部分为sql语句,其它为PASCAL语言。
ASL脚本:
var
sql, a, b, c, d, e, f, g;
begin
//筛查非同名中新增低保户
sql:=’select a.* from[业务-第2次农村低保户数据] as a where a. 姓名not in (select al.姓名from[业务-第1次低保户数据]as al[业务-第2次农村低保户数据]as a 2 where al.姓名=a2.姓名)’;
//筛查同名中新增低保户
sql:=’select a.* from[业务-第1次农村低保户数据] a,(select al.姓名 from[业务-第1次农村低保户数据]as al groap by al.姓名having count(*)>1) b where a.姓名=b.姓名’;
CreateTempTable(‘非同名中第二次新增低保护’,sql);
操作结果:在AO中运用审计方法发现:实际新增低保户205户668人,审批196户647人。
结论:审计脚本语言是基于PASCAL语言的基础之上开发的一门专为审计人员书写审计方法的编程语言。审计脚本语言主体是PASCAL语言的子集,在此基础之上进行了数据库操作、图表输出等一系列功能扩展,其功能简单,结构清晰,可读性强,具备了一般高级语言的的必备部分。要撰写好审计方法,除掌握sql语句外,还要熟悉PASCAL语言。(作者单位:陕西省审计厅)