计算机审计方法实务
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机审计方法实务
董东
2011年9月
目录
1.计算机审计方法概述 (3)
1.1. 实例研究 (3)
2.审计方法要素 (10)
3.审计方法目录体系 (12)
3.1. 资源分类 (12)
3.2. 代码结构 (14)
4.业务模型构建 (15)
4.1. ER模型中的一些基本概念 (16)
4.2. 被审单位的业务模型 (17)
5.流程图 (20)
5.1. 在MS Word中绘制流程图 (24)
5.2. 课堂练习 (25)
6.方法语言 (32)
6.1. 案例 (32)
6.2. 添加新的审计方法 (35)
6.3. ASL中的运算符 (35)
6.4. ASL中的分支语句 (37)
6.5. ASL中的循环语句 (40)
6.6. 数据库操作 (46)
6.7. 使用统计图展示结果集 (49)
7.住房公积金审计方法 (50)
7.1. 课堂练习 (61)
8.医院违规收费情况审计 (61)
9.课堂练习 (68)
10.附录 (68)
10.1. Microsoft Access(Jet SQL) 和SQL Server(T-SQL)对照表 (68)
10.2. 个人住房抵押贷款申请表 (71)
1.计算机审计方法概述
计算机审计方法是审计人员为履行审计职责、实现审计目标,利用信息技术对特定审计事项进行检查和评价的思路和实现步骤。
1.1. 实例研究
项目支出预算编制与批复审计方法
一、方法代码
BBD/0001
二、方法名称
项目支出预算编制与批复审计方法
三、目标功能
审计目标:检查预算部门项目支出预算编制和批复的程序合规性、及时性,内容真实性、合理性、可行性和完整性。
审计功能:通过对预算部门和所属预算单位按照财政部门要求编制、审核、报送、批复项目支出预算的有关程序、部门项目库的管理与利用等事项的检查,实现审计目标,发挥审计监督作用。
四、所需数据
项目支出预算编制与批复审计方法所需数据资料见表4。
项目支出预算编制与批复审计方法所需数据属于部门预算执行审计数据规划的范畴,其数据规划版本号为第7号。
表4 项目支出预算编制与批复审计方法所需数据资料
(1)基础表:预算项目基本信息表(ABB31/0001)。
数据元素:预算年份、预算单位代码、预算项目代码、预算项目名称、预算项目负责人、预算项目类型、预算项目类别、预算项目属性、预算项目立项报告、预算项目可行性研究报告、预算项目起始年份、预算项目结束年份、预算项目批复日期。
(2)基础表:预算项目总体投资情况表(ABB31/0002)。
数据元素:预算项目是否政府采购、预算项目二次分配属性、预算项目总投资、预算项目投资结构、预算项目总投资财政拨款、预算项目总投资预算外资金、预算项目总投资其他资金、预算项目总投资专项建设资金、预算项目总投资银行贷款。
(3)基础表:预算项目其他信息(ABB31/0003)。
数据元素:预算项目申请理由及主要内容、预算项目总体目标、预算项目组织实施条件、预算项目绩效评价结论、预算项目可行性报告内容。
(4)基础表:预算项目评审信息表(ABB31/0006)。
数据元素:预算项目评审日期、预算项目立项依据的充分性、预算项目材料及法定手续的完备性、预算项目目标设臵的合理性、预算项目组织实施能力与条件、预算项目预期社会经济效益、预算项目资金筹措情况、预算项目支出的合理性、预算项目风险与不确定因素、预算项目评审意见、预算项目评审建议。
……
五、分析步骤
首先分析被审单位的业务模型,然后设计审计步骤。
根据审计署行政事业审计司编制的《部门预算执行审计指南》第七章关于部门预算项目支出业务概述的描述,项目支出预算编制及批复审计涉及到财政部门、预算部门、所属预算单位、项目支出预算、部门项目库等。
这些部门(项目)之间因项目支出预算编制及批复的实施而发生着一定的业务关系。
项目支出预算编制及批复业务的实体和关系如下:实体1:财政部门。
实体2:预算部门。
实体3:所属预算单位。
实体4:部门项目库。
实体5:财政项目库。
实体6:项目支出预算。
关系1:财政部门向预算部门“下达”预算编制通知。
关系2:预算部门向所属预算单位“转发”预算编制通知。
关系3:所属预算单位向预算部门“报送”项目支出预算(一上)。
关系4:预算部门对申报的项目审核后,将符合国家有关方针政策、符合财政资金支持方向和财政资金供给范围、属于本部门履行行政职能和促进事业发展条件的项目“纳入”部门项目库。
关系5:预算部门根据年度部门预算编制要求,对项目库中的项目择优排序后汇总“编制”本部门项目支出预算草案(一上)。
关系6:预算部门将本部门项目支出预算草案(一上)“报送”财政部门。
关系7:财政部门对预算部门项目支出预算草案(一上)进行审核,结合该预算部门项目支出结余情况,测算并“下达”项目支出预算控制数及财政补助数(一下)。
关系8:预算部门向所属预算单位转发财政部门预算控制数,并指导所属预算单位“调整”项目支出预算草案及预算明细(一下)。
关系9:所属预算单位向预算部门“报送”按预算控制数调整后的本单位项目支出预算草案及预算明细、项目编制及论证文件(二上)。
关系10:预算部门对申报的项目审核后,在本部门项目库中“更新”各项目预算申报数据。
关系11:预算部门根据年度部门预算编制的要求,对项目库中的项目择优排序后汇总“编制”本部门项目支出预算草案(二上)。
关系12:预算部门将本部门项目支出预算草案(二上)向财政部门“申报”。
关系13:财政部门根据国家有关方针、政策和预算部门履行职能、事业发展目标,对预算部门所报项目进行筛选排序后“设立”财政项目库。
关系14:财政部门根据当年项目安排的原则和重点,年度财力状况和项目排序,结合预算部门以前年度项目资金结余情况,统筹安排预算部门项目支出预算。
在报本级政府审定、本级人民代表大会批准后,在规定时间内向预算部门“批复”项目支出预算(二下)。
关系15:预算部门向所属预算单位“批复”项目支出预算(二下)。
以上实体和关系如图3所示。
图3 项目支出预算编制及批复业务ER模型
项目支出预算编制及批复数据模型见图4。
图4 项目支出预算编制及批复数据模型
如图4所示,项目支出预算编制及批复数据模型的实体涉及财政部门、预算部门、所属预算单位、部门项目库等,以及与实体相关的数据元素。
部门预算项目支出实体及数据元素见表3。
表3 项目支出预算编制及批复业务的实体及关系数据元素
审计事项“检查项目支出预算草案编制程序的合规性”的项目支出预算编制及批复审计方法的分析步骤:
结合ER模型关系3至关系5、关系8至关系10、关系15,部门项目支出数据模型,侧重检查部门项目支出预算草案的编制是否依托部门项目库、批复是否及时等方面的程序合规性。
①程序合规性检查。
具体检查预算部门是否将所属预算单位报送的项目纳入了部门项目库?向财政部门报送的预算部门项目支出预算草案(一上)是否出自部门项目库?在财政部门批复预算控制数后是否调整了项目支出预算草案、是否经由项目库更新程序向财政部门重新报送项目支出预算草案(二上)?是否及时足额向所属预算单位批复项目支出预算等。
关键控制点是部门项目库的建立、更新和执行环节。
②电子数据检查。
检查批复的预算项目是否来自部门项目库。
通过部门项目库的预算项目基本信息表(ABB31/0001),检查批复并执行的预算项目与预算项目基本信息表中的预算年份、预算单位代码、预算项目代码、预算项目名称等信息的一致性。
检查预算部门是否按财政部门批复的项目预算(一下)更新项目库后重新报送项目支出预算草案。
通过部门项目库的预算项目总体投资情况表(ABB31/0002),检查批复并执行的预算项目与预算项目总体投资情况表中的预算项目总投资、预算项目总投资财政拨款、预算项目总投资预算外资金、预算项目总投资其他资金、预算项目总投资专项建设资金、预算项目总投资银行贷款等信息的一致性。
六、流程图
项目支出预算编制与批复内容合规性、及时性审计流程见图5。
图5 项目支出预算编制与批复程序审计方法流程图
七、方法语言
a. 检查批复的预算项目是否来自部门项目库:
//定义变量
var CurQuery,IsEmpty,CurNum,SqlStr;
begin
//显示查询SQL
SqlStr:=' SELECT [预算项目(一上)信息表].[预算年份],[预算项目(一上)信息表].[预算单位代码] ,[预算项目(一上)信息表].[预算项目代码],[预算项目(一上)信息表].[预算项目名称] ,[批复(一下)预算项目信息表].[预算项目名称] as [批复(一下)预算项目名称] FROM [预算项目基本信息表] as [预算项目(一上)信息表] left join [预算项目基本信息表] as [批复(一下)预算项目信息表] on [预算项目(一上)信息表].[预算年份]=[批复(一下)预算项目信息表].[预算年份] and [预算项目(一上)信息表].[预算单位代码]=[批复(一下)预算项目信息表].[预算单位代码] and [预算项目(一上)信息表].[预算项目代码]=[批复(一下)预算项目信息表].[预算项目代码] and [预算项目(一上)信息表].[预算科目代码]=[批复(一下)预算项目信息表].[预算科目代码] and [批复(一下)预算项目信息表].[预算阶段] = '2' where [预算项目(一上)信息表].[预算年份] = ''2007'' and [预算项目(一上)信息表].[预算阶段]= ''1''';
ShowMsg('生成的SQl 语句为: '+SqlStr);
//执行查询SQL
CurQuery:=createq(SqlStr,-1);
//查询结果集是否为空
IsEmpty:=qeof(CurQuery);
if IsEmpty#1 then
begin
//循环将查询结果放入业务疑点临时库
Repeat
CurNum:=qvalue(CurQuery , '[批复(一下)预算项目名称]');
If CurNum=null then
Begin
AddTransRslt(CurQuery,'批复的预算项目是否来自部门项目库疑点');
End;
IsEmpty:=qmov(CurQuery,1);
IsEmpty:=qeof(CurQuery);
until IsEmpty=1;
//将临时库结果集放入疑点库
TransBatch(CurQuery,'业务疑点查询结果');
end
else
begin
ShowMsg('批复的预算项目是否来自部门项目库疑点');
end;
end.
b. 检查预算部门是否按照部门批复的项目预算更新项目库后重新报送项目支出预算草案。
//定义变量
var CurQuery,IsEmpty,CurNum,SqlStr;
begin
//显示查询SQL
SqlStr:=' SELECT * FROM [预算项目总体投资情况视图] WHERE a.[预算年份] = ''2007'' AND a.[预算阶段] = ''2''';
ShowMsg('生成的SQl 语句为: '+SqlStr);
//执行查询SQL
CurQuery:=createq(SqlStr,-1);
//查询结果集是否为空
IsEmpty:=qeof(CurQuery);
if IsEmpty#1 then
begin
//循环将查询结果放入业务疑点临时库
Repeat
AddTransRslt(CurQuery,'进一步是否按照部门批复的项目预算更新项目库后重新报送项目支出预算草案');
IsEmpty:=qmov(CurQuery,1);
IsEmpty:=qeof(CurQuery);
until IsEmpty=1;
//将临时库结果集放入疑点库
TransBatch(CurQuery,'业务疑点查询结果');
End;
end.
八、适用法规
对审计评价、发现问题的适用法律法规条款。
九、审计建议
项目支出预算编制合规性的检查评价、发现问题及下一步审计建议。
十、作者单位
计算机审计方法的编制作者和所在单
十一、时间
计算机审计方法的编制或审计机关评审入选的时间
十二、标志
参数标志定义为A,批量执行标志定义为B。
2.审计方法要素
计算机审计方法要素包括12项:方法代码、方法名称、目标功能、所需数据、分析步骤、流程图、方法语言、适用法规、审计建议、作者单位、时间、标志。
方法代码是审计方法分类、管理和应用定位的重要标志。
审计方法代码按照《计算机审计方法体系基本规划——计算机审计实务公告第14号》中代码结构的要求编制。
计算机审计方法代码编制时,分类码执行本规划和专业计算机审计方法体系的规定;流水码在审计师审计方法库中按序列方式编制,入选审计机关、审计署的计算机审计方法库时可重新编制。
方法名称是具体审计事项的方法表述。
方法名称要简明扼要,一般不超过50个字符,能够直接反映其具体审计事项的审计目标,并且尽可能进行正面表述。
目标功能是对具体审计事项的审计目标、审计功能及其实现的表述。
根据审计方法的目标与功能定位,确定所需数据和相关资料。
审计所需数据和相关资料的介质载体包括电子数据和纸质资料。
电子数据包括结构化数据、半结构化数据、非结构化数据。
所谓结构化数据,指数据项之间具有固定的关系的数据。
例如一次门诊收费数据包括流水号、部门号、医生号、收费日期和描述等数据项。
在关系数据库中,表中的数据就是典型的结构化数据。
如下所示:
门诊流水号部门号收费日期医生号描述
----------- ----------- --------------------------------------------------------------------------------------- 1382010001 10201 2003-02-14 09:17:00 1010108 (5%葡萄糖液500. ml )
1382010002 10201 2003-02-14 09:20:00 1010108 (输液费-- * 3)
1382010003 10201 2003-02-14 09:22:00 1010108 (一次性输液器-- * 3) 1382010004 10201 2003-02-14 14:48:00 1010108 (医护诊查-- * 1)
1382010005 10201 2003-02-19 14:21:00 1010108 (心电图<科室> -- * 1) 1571010001 10206 2003-12-03 10:45:00 1010803 (家庭病床建床费-- * 1) 1571010002 10206 2003-12-04 10:11:00 1010803 (中药封包治疗-- * 1) 1571010003 10206 2003-12-05 13:33:00 1010803 (中药封包治疗-- * 1) 1571010004 10206 2003-12-08 15:23:00 1010803 (激光疗法-- * 4)
1571010005 10206 2003-12-08 16:24:00 1010806 (中药封包治疗-- * 1)
半结构化数据指那些具有隐含结构或结构不严谨的数据。
下面的XML数据是典型的半结构化数据。
其特点是在数据中隐含了结构信息。
<会计科目locID="T203">
<科目编号locID="20301">101</科目编号>
<科目名称locID="20302">现金</科目名称>
<科目级次locID="20303">1</科目级次>
<科目类型locID="20304">资产</科目类型>
<余额方向locID="20305">借</余额方向>
</会计科目>
<会计科目locID="T203">
<科目编号locID="20301">102</科目编号>
<科目名称locID="209">银行存款</科目名称>
<科目级次locID="20303">1</科目级次>
<科目类型locID="20304">资产</科目类型>
<余额方向locID="20305">借</余额方向>
</会计科目>
…
具有章节条款划分的政府法规、条例等也属于半结构化数据。
例如《河北省住房公积金管理办法》(文号:河北省人民政府令〔2008〕第14号)。
非结构化数据指数据项之间没有定义显式或者隐式关系的数据。
例如行政职能描述:财政审计处负责拟定省本级预算执行和其他财政收支审计工作总体方案;负责对省地方税务局组织征收省级税收情况的审计;负责对国家金库河北省分库办理省级预算资金收纳拨付情况的审计;负责对省财政厅、省地方税务局及其下属单位的财务收支审计;负责汇总审计情况并起草省本级预算执行情况的审计工作报告;负责对各设区市政府财政决算的审计,对各设区市地方税务系统税收征收管理情况、国家金库市中心支库办理地方预算资金收纳拨付情况的审计;指导全省财政审计业务。
又比如审计结果公告:审计署2010年第1号:《汶川地震社会捐赠款物审计结果》是非结构化的数据。
审计方法引用的经审计数据规划的电子数据,应当遵循《国家审计数据中心基本规划》的数据规划规范,以及审计方法所对应的专业审计数据规划的基础表或分析表及其数据元素的规范。
计算机审计方法所需的基础表或分析表及其数据元素,应标明其专业审计数据规划的版本号。
分析步骤是依据该方法确定的审计目标、审计功能、所需数据,进行业务模型构建、审计事项分解,在此基础上进行逐步分析的描述。
结合审计分析步骤的表述,采用《计算机审计方法流程图编制规范》的规定,编制流程图。
结合审计分析步骤的表述,将列入计算机审计方法语言执行的内容,采用《计算机审计方法语言编制规范》的规定,编制方法语言。
在适用法规中陈述对审计评价、发现问题的适用法律法规条款。
审计建议是指审计方法执行后,根据执行结果提出对该审计事项的客观评价、对发现问题的疑点描述、对延伸审计分析或取证分析的建议。
作者单位中列出计算机审计方法的编制作者和所在单位。
如有多个作者,要进行作者排序,并填写第一作者所在单位。
时间指计算机审计方法的编制或审计机关评审入选的时间。
标志是为特定审计方法的应用实现、由执行系统响应完成的一种配置。
计算机审计方法标志包括参数标志、批量执行标志等,并根据审计方法的应用实现逐步扩充。
《计算机审计方法体系基本规划——计算机审计实务公告第14号》确定的标志配置符:参数标志定义为A,批量执行标志定义为B。
3.审计方法目录体系
计算机审计方法目录体系包括:计算机审计方法资源分类、计算机审计方法代码结构。
计算机审计方法资源分类按专业计算机审计的分类分级体系,确定统一的一、二级分类规则,便于各专业计算机审计方法体系的编制和应用。
计算机审计方法分类代码按专业计算机审计的分类分级体系,确定统一的代码规则,便于各专业计算机审计方法体系的代码编制。
3.1. 资源分类
计算机审计方法资源分类按专业计算机审计分类规划,包括12类一级分类体系,并在此基础上进行多级分类,《计算机审计方法体系基本规划——计算机审计实务公告第14号》规定一、二级分类。
三级及其后的分类由各专业计算机审计方法体系按本规划的规则自行编制。
(1)一级分类体系
计算机审计方法一级分类体系包括12类:综合审计方法、政府预算执行审计方法(简称预算执行审计方法)、税收征管审计方法(简称税收审计方法)、海关征管审计方法(简称海关审计方法)、金融业务审计方法(简称金融审计方法)、企业审计方法、社会保险基金审计方法(简称社保审计方法)、固定资产投资审计方法(投资审计方法)、农业与资源环保审计方法(简称农业审计方法)、外资运用审计方法(简称外资审计方法)、党政领导干部经济责任审计方法(简称经责审计方法)、其他审计方法。
计算机审计方法体系一级分类见图1。
预
算执行审计方法税
收
审
计
方
法
企
业
审
计
方
法
金
融
审
计
方
法
海
关
审
计
方
法
社
保
审
计
方
法
投
资
审
计
方
法
经
责
审
计
方
法
外
资
审
计
方
法
农
业
审
计
方
法
其
他
审
计
方
法计算机审计方法体系
综
合
审
计
方
法
图1 计算机审计方法体系一级分类
(2)二级分类体系
在计算机审计方法体系一级分类基础上,根据审计业务需要,编制二级分类。
计算机审计方法体系二级分类见表1。
(3)专业计算机审计方法体系分类
在《计算机审计方法体系基本规划——计算机审计实务公告第14号》确定的计算机审计方法体系二级分类基础上,按专业计算机审计方法体系的业务需求进行第三级或之后若干级的分类编制,形成专业计算机审计方法体系。
例如:部门预算执行计算机审计方法体系的第三级分类为9类:部门预算编制与批复审
计方法、部门预算资金拨付审计方法、基本支出审计方法、项目支出审计方法、非税收入收缴审计方法、国有资产管理审计方法、政府采购审计方法、其他审计方法、部门决算审计方法。
3.2. 代码结构
(1)代码规则
计算机审计方法代码是审计方法体系分类的重要标志。
审计方法代码分为分类码和流水码,中间用“/”作分隔符。
分类码的前两位由本规划的两级分类规定,用大写字母表示;后若干位为分类扩展,其长度和编制规则本规划不作规定,由各专业计算机审计方法体系编制确定,代码用大写字母或阿拉伯数字表示;流水码为本规划确定的具体审计方法代码,用4位阿拉伯数字表示。
为避免大写字母和阿拉伯数字的混淆,在大写字母中不使用I 、O 字母。
计算机审计方法体系代码结构见图2。
基本规划中的二级类分类码审计方法4位流水码基本规划中的一级类分类码
预留给专业审计方法规划的多位分类码分类码流水码分隔符“/”
图2 计算机审计方法体系代码结构
《计算机审计方法体系基本规划——计算机审计实务公告第14号》规定了计算机审计方法体系的二级分类及代码(见表1)。
表1中的二级分类为样例,由各专业计算机审计方法体系编制时具体确定。
(3)三级分类代码
以部门预算执行计算机审计方法体系为例,进行三级分类及代码的规划。
部门预算执行计算机审计方法体系三级分类及代码见表2。
4.业务模型构建
通过对审计事项所涉及的被审计单位业务关系中的实体及其相互关系的描述,构建实体关系模型(Entity-Relation,简称ER模型)。
通过对其数据关系的描述,构建数据模型。
ER模型是不依赖于具体的计算机系统的概念模型。
ER模型可以转换为计算机上某一数据库管理系统支持的特定数据模型。
ER模型的特点:
(1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识
(2) 简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言
4.1. ER模型中的一些基本概念
(1) 实体(Entity)
客观存在并可相互区别的事物称为实体。
实体可以是具体的人、事、物,也可以是抽象的概念或联系。
例如,医院收费审计中的一名医生、一个部门都是实体。
预算执行审计中的财政部门、预算部门、预算项目等。
(2) 属性(Attribute)
实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画。
例如,要在数据库系统中记录一名医院的医生,可以包括一组属性:医生号、姓名、性别、年龄、职称、身份证号等;要记录一个凭证,可以用凭证号、借方发生额、贷方发生额等属性。
(3) 键(Key)
唯一标识一个实体的属性集称为键。
键是一个属性集,属性集可能由单个属性构成,也可能由多个属性构成。
例如,医院中,{医生号}可以作为职工的键,这时候键由单个属性构成;要标识一张火车票则需要{日期,车次,车厢,座位号},这时候键由一组属性构成。
键的确定是一个语义范畴的问题。
实体可能同时存在多个键。
例如,{医生号}可以作为职工的键,而{身份证号}也可以作为职工的键。
当实体有多个键时,选其中一个作为主键。
(4) 域(Domain)
属性的取值范围称为该属性的域。
(5) 实体型(Entity Type)
用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
例如,医生的实体型可以表示为:医生(医生号,姓名,性别,年龄,职称,身份证号)。
属性之间用逗号隔开。
(6) 实体集(Entity Set)
同型实体构成的集合称为实体集。
(7) 关系(Relationship)
现实世界中事物内部以及事物之间的关系在信息世界中反映为实体内部的关系和实体之间的关系。
例如,预算部门“编制”预算项目的计划,“编制”就是部门与项目间的一种关系。
接下来,分析两个实体集之间的关系,两个实体集之间的关系有三种类型。
·一对一关系(1:1)
如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之关系,反之亦然,则称实体集A与实体集B具有一对一关系。
记为1:1。
例如,一份审计报告只涉及一个审计项目,而一个审计项目最终产生一份审计报告。
·一对多关系(1:n)
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之关系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之关系,则称实体集A与实体集B有一对多关系。
记为1:n。
例如,处室和工作人员的关系。
一个处室中有若干工作人员,一个工作人员至多在一个处室中工作,由处室到工作人员是一对多关系。
需要注意的是,一对多关系不是对称的,由处室到工作人员是一对多关系,反过来,由工作人员到处室不能说是一对多关系,可以说是多对一关系。