巧用ASL语言开展部门经费结余真实性审计
刘恒(江苏省海安县审计局)
【发布时间:2016年10月24日】
字号:【大】 【中】 【小】

部门预算执行审计中,对部门经费结余真实性的审查是审计的重要内容,也是常规审计方案中必审的审计项目。笔者在对某部门经费结余情况进行审计的过程中,采用定义变量、showmsg提供自定义标题录入框,让用户输入相应数值的方法编写审计脚本语言,最终达到即使计算机编写方法零基础的人,也能按照自己的实际情况输入查找条件,在较短的时间内确定了审计疑点,提高了审计工作效率的效果。

审计思路

根据以往的审计发现,影响部门经费结余真实性的因素主要存在四种情况:一是根据收入将部分实际未发生的支出挂往来科目,达到虚列支出,减少结余的目的。二是年度开支过大,怕形成账面赤字,将超支部分转入往来,来年逐步消化。三是隐匿收入,将已做收入款项年终转移至往来科目,减少结余金额。四是直接将往来作为“蓄水池”,隐匿相关收支,影响了结余的真实性。因此通过排查以上四种可能性,基本能查出审计疑点。

一、需要的资料

1、凭证库表:科目编码,科目名称,摘要,凭证日期,借方金额,贷方金额,凭证类型,凭证号,附件数,会计年份,会计月份,记账人,出纳人,审核人,制单人,源凭证号。

2、科目余额表:科目编码,科目名称,期初余额,借方发生额,贷方发生额,期末余额,凭证数量,余额方向,科目级别,上级科目编码。

3、指标结余表:指标过程ID,年度,金额,制单金额,功能分类,资金性质,业务日期,科室,指标来源,支出类型,经济分类代码,经济分类,是否政府采购,指标调整类型,制单人,审核人,摘要。

二、审计步骤和方法

1、排查虚列支出挂往来

审计目标:通过实施自动审计,排查出虚列支出挂往来现象。

审计思路:根据凭证库表运用审计方法实施自动审计,审查是否存在“借:xx支出 贷:往来科目”分录,若有,延伸审查,确认出虚列支出挂往来款项,得出审计结论。

ASL语句:

var a,b,i,subject1,subject2,subject3,nd,sql;

begin

showmsg('请输入其他应收款的一级科目编码');

read (subject1);

showmsg('请输入其他应付款的一级科目编码');

read (subject2);

showmsg('请输入支出类首科目编码');

read (subject3);

showmsg('请输入年度');

read (nd); // showmsg提供自定义标题录入框,让用户输入相应的数值,并把用户输入的数值记录到变量中

begin

sql :='SELECT DISTINCT 源凭证号 FROM 凭证库 WHERE 源凭证号 IN (SELECT DISTINCT 源凭证号 FROM 凭证库 WHERE (LEFT(科目编码, 4) = '''+subject1+''' OR LEFT(科目编码, 4) = '''+subject2+''') AND 贷方金额 <> 0) AND LEFT(科目编码, 1) = '''+subject3+''' AND 借方金额 <> 0 AND 会计年份 LIKE '''+nd+'''';

SHOWMSG(sql);

a:=createq(sql, -1); //创建查询函数

b:=qeof(a);

if b#1 then

begin

repeat

i:=qfdvalue(a,'源凭证号');

addvourslt(i);

b:=qmov(a,1);

b:=qeof(a);

until b=1;

end;

end;

end.

2、排查超支挂往来

审计目标:通过实施自动审计,排查出超支挂往来现象。

审计思路:根据凭证库表运用审计方法实施自动审计,审查是否存在“借:往来科目 贷:xx支出”分录,若有,延伸审查,确认出超支挂往来款项,得出审计结论。

ASL语句:

var a,b,i,subject1,subject2,subject3,nd,sql;

begin

showmsg('请输入其他应收款的一级科目编码');

read (subject1);

showmsg('请输入其他应付款的一级科目编码');

read (subject2);

showmsg('请输入支出类首科目编码');

read (subject3);

showmsg('请输入年度');

read (nd); // showmsg提供自定义标题录入框,让用户输入相应的数值,并把用户输入的数值记录到变量中

begin

sql :='SELECT DISTINCT 源凭证号 FROM 凭证库 WHERE 源凭证号 IN (SELECT DISTINCT 源凭证号 FROM 凭证库 WHERE (LEFT(科目编码, 4) = '''+subject1+''' OR LEFT(科目编码, 4) = '''+subject2+''') AND 借方金额 <> 0) AND LEFT(科目编码, 1) = '''+subject3+''' AND 贷方金额 <> 0 AND 会计年份 LIKE '''+nd+'''';

SHOWMSG(sql);

a:=createq(sql, -1);

b:=qeof(a);

if b#1 then

begin

repeat

i:=qfdvalue(a,'源凭证号');

addvourslt(i);

b:=qmov(a,1);

b:=qeof(a);

until b=1;

end;

end;

end.

3、排查收入挂往来

审计目标:通过实施自动审计,排查出收入挂往来现象。

审计思路:根据凭证库表运用审计方法实施自动审计,审查是否存在“借:xx收入 贷:往来科目”分录,若有,延伸审查,确认出收入挂往来款项,得出审计结论。

ASL语句:

var a,b,i,subject1,subject2,subject3,nd,sql;

begin

showmsg('请输入其他应收款的一级科目编码');

read (subject1);

showmsg('请输入其他应付款的一级科目编码');

read (subject2);

showmsg('请输入收入类首科目编码');

read (subject3);

showmsg('请输入年度');

read (nd); // showmsg提供自定义标题录入框,让用户输入相应的数值,并把用户输入的数值记录到变量中

begin

sql :='SELECT DISTINCT 源凭证号 FROM 凭证库 WHERE 源凭证号 IN (SELECT DISTINCT 源凭证号 FROM 凭证库 WHERE (LEFT(科目编码, 4) = '''+subject1+''' OR LEFT(科目编码, 4) = '''+subject2+''') AND 贷方金额 <> 0) AND LEFT(科目编码, 1) = '''+subject3+''' AND 借方金额 <> 0 AND 会计年份 LIKE '''+nd+'''';

SHOWMSG(sql);

a:=createq(sql, -1);

b:=qeof(a);

if b#1 then

begin

repeat

i:=qfdvalue(a,'源凭证号');

addvourslt(i);

b:=qmov(a,1);

b:=qeof(a);

until b=1;

end;

end;

end.

4 暂存款项明细核实

审计目标:核实暂存款项明细,排查出直接将往来作为“蓄水池”,隐匿相关收支,影响了结余的真实性的现象。

审计思路:通过筛选出暂存款项明细,对每个明细科目进行初步判断后,确定疑似隐匿收支科目,延伸审查,得出审计结论。

审计步骤:

1)筛选出暂存款项明细

ASL语句:

var subject1,strSQL;

begin

showmsg('请输入其他应付款的一级科目编码');

read (subject1); // showmsg提供自定义标题录入框,让用户输入相应的数值,并把用户输入的数值记录到变量中

begin

strSQL:=('Select * From [科目余额] WHERE [科目编码] LIKE ''+subject1+%''');

createtemptable('暂存款明细',strSQL) ;

addtable('暂存款明细');

end;

end.

2)对每个明细科目进行初步判断后,确定疑似隐匿收支科目,延伸审查,得出审计结论。

审计成果

通过以上方法审计,在短时间内查出了一是某部门往来款项未及时清理等问题。审计部门及时提出了往来款项未及时清理等审计建议,得到了采纳,进一步规范了往来款的管理。二是达到了即便是计算机编写方法零基础的人,也能按照自己的实际情况输入查找条件,在较短的时间内确定了审计疑点,提高了审计工作效率的效果。(刘恒)

【关闭】    【打印】