如何利用AO2008采集财政审计数据
袁春风 王晓琳(山东省淄博市审计局)
【发布时间:2009年04月10日】
字号:【大】 【中】 【小】
      
    
    随着国家审计署金审工程的逐步推进,计算机辅助审计作为必须掌握的审计技术已成为审计人员的共识。掌握和推广利用AO系统深化财政审计工作,同样是审计人员不可回避的课题。财政“同级审”工作已进行了十余年,由于AO系统转换模板配置的滞后性,财政预算会计数据结构的复杂性,一直以来利用AO系统审计财政数据成为制约财政审计的瓶颈。今年,在实际工作中我们积极探索现有条件下,如何充分利用AO系统挖掘财政审计技术潜力方面取得突破性进展。
    一、组织财政AO审计要具备的基本条件
    本文基于AO系统不具备财政预算会计转换模板,且有必要对财政预算资金采用AO辅助审计的实际需求考虑。针对不同财政预算会计软件,首先要了解其后台数据库类型。例如:我市财政部门使用的是四方至诚总会计软件,其后台备份数据是SQL Server类型。其次是尽力破解数据库数据字典。一般而言,数据库后台备份数据表中,有数据检索对照表,表中涉及的数据代码与数据名称,就可以作为简易字典使用。第三利用AO系统转换数据其目的就是由表或关联表生成完整账套。转换与导入数据是实施AO审计的基础,也是检验与核对后台数据完整性的必要步骤。第四人员技术准备。要做到能够导出后台备份数据,能够转换AO系统能识别的数据类型,能够利用数据字典识别表内数据涵义,能够找到并关联重要的三张表,即:凭证表、科目代码表、科目余额表,能够掌握AO系统数据库数据转换模板功能与设置,能够编写SQL语句。
    二、财政AO审计要实施的重要步骤
    下面以SQL Server数据库导出的后台备份数据为例说明。
    (一)导出备份数据。
    登录财政预算管理系统主机,进入SQL Server企业管理器,打开本地服务器,找到预算会计后台数据库。点击右键查看数据库属性,记住数据文件和事务日志名,方便以后还原。点击右键进入所有任务→备份数据库,指定存放路径进行数据库完全备份。
    (二)还原备份数据。
    在安装SQL server的机器上,进入SQL Server企业管理器,打开本地服务器的数据库栏目,单击右键进入新建数据库,给数据库起一个名字A,单击数据文件和事务日志选项卡,修改数据文件和日志名称,使数据文件名及事务日志名与备份数据的名称一致,否则无法还原。选中数据库A,点击右键进入所有任务→还原数据库,选择[从设备还原],指定存放备份文件的路径完成还原。
    (三)数据分析与处理。
    通过打开还原的数据表,查找与科目代码、凭证、科目余额有关联的数据表格。通过分析,我们需要的信息分别存储在ZF1PD、ZF1ZZ01、ZF1KM01、ZF1DW01表中,利用这4张表生成科目代码表、科目余额表和凭证表。
    1、生成科目代码表
    Select kmh='501'+rtrim(kmh), name=rtrim(NAME), JD_FLAG='1'
    into kmb1 from ZF1KM01
    union
    select kmh='505'+rtrim(kmh),name=rtrim(NAME), JD_FLAG='1' from ZF1KM01
    union
    select rtrim(kmh),rtrim(name), JD_FLAG from ZF1ZZ01
    order by kmh
    2、生成完整凭证表
    (1)将ZF1PD、ZF1ZZ01、ZF1KM01、ZF1DW01关联起来。
    select flm, kmh=case when c.kmh is not null
    then rtrim(b.kmh)+rtrim(c.kmh) else rtrim(b.kmh)  end,
         name=case when c.kmh is not null then rtrim(c.NAME)
         else rtrim(b.name) end,
    zy=rtrim(zy)+'/'+rtrim(zy_mx)+'/'+rtrim(d.name),
    JDF,PDH,FLH,Date='2008-'+cast(MONTH as varchar)+'-'
    +cast(DAY as varchar),val into pdb from ZF1PD a
    join ZF1ZZ01 b on a.zz_scm=b.scm
         join zf1km01 c on a.km_scm=c.scm
    join zf1dw01 d on a.dw_scm=d.scm 
    (2)剔除凭单号为零数据
    select * into pz from pdb where pdh<>0
    3、生成科目余额表
    select kmh,name,val=sum(val),JDF into kmye from pdb where pdh=0 group by kmh,name,JDF
    (四)设置并导入AO系统。
    1、采集数据。新建电子数据,通过财务软件数据库数据采集数据,添加SQL Server数据源,选择要导入的数据库,挑选生成的科目代码表、科目余额表和凭证表,数据导入完成。
    2、生成财务数据临时表。通过数据整理、字段对应关系设置等操作,使其包含的字段和标准库中表的字段相对应,最后按照设置的对应关系导入标准库。
    3、会计期间及科目调整。根据具体情况调整采集结果数据的会计期间、会计科目的借贷方向、科目余额等。
    4、财务账表重建。选择电子数据后,单击[确定],系统自动重建财务账表。
    至此,完成由数据库到数据表再导入AO系统生成账套的工作。
    (五)利用AO系统验证数据完整性和组织数据分析。
    通过AO系统审计分析→账表分析→科目明细账审查,与财政总决算报表和分科目明细表核对,验证导入数据的正确性与完整性。在验证数据准确无误后,导出电子数据包,分发审计组其他人员共享。根据审计分工,利用AO系统强大的数据分析功能,查找并落实疑点。
    三、导入AO系统要注意的几点技术处理
    (一)空格与空值的处理。
    如果字符串空格太多,占用空间大,有可能使数据不能正常导入,建议使用ltrim(),rtrim()函数去掉字符串的左右空格。
    发现ZF1KM01表中有name为空的数据,则需要删除。否则生成的科目代码表中也会出现name为空的数据,这样无法正常导入AO系统。删除语句:Delete from ZFQKM01 where name is null
    (二)整合科目代码表。
    原始科目代码表要素不全,需要叠加总账科目。叠加的办法参照SQL语句生成科目代码表。
    (三)生成财务数据临时表时科目设置的处理。
    因为重新组合的科目代码是不规则的,所以在进行科目设置时选择[不规则],需重新调整各级科目代码的长度。调整的办法是:手工逐个调整或批量调整,若出现“红色字符”则说明调整的长度与实际不符,需要重新调整。
    (四)科目余额表的处理。
    通过分析发现凭证表中凭证号为0的数据是上年结转数据,分组汇总得出每个科目的余额表。分组汇总语句如下:
    select kmh,name,val=sum(val),JDF into kmye from pdb where pdh=0 group by kmh,name,JDF
    (五)时间年、月、日的设置与录入。
    原ZF1PD数据表中没有年份,这样导入AO系统,重建账表的后果是没有当年发生额。需要在ZF1PD数据表中加入年份,重新构造凭证日期。由于ZF1PD数据表中MONTH、DAY字段都是INT型数据,需要cast数据转换函数,将其进行数据类型转换。插入并转换语句:
    select……,Date='2008-'+cast(MONTH as varchar)+'-'+cast(DAY as varchar)  from ZF1PD
    四、财政AO审计的体会
    利用AO系统的导入并还原预算会计账套,是对财政部门职能的深化理解过程,可以对财政资金的来源、管理、分配、使用及结转等情况深入把握。利用AO系统强大的分析功能,可以摸清部门预算到决算形成的全过程,对其中涉及的资金来源、资金调整与资金追加情况。可以评价财政部门调度分配资金的及时性、科学性与效益性。评价部门预算编制的科学性与合理性,特别对预算资金结转数额较大,指导部门预算编制更趋合理性,发挥财政现有资金的效益性。可以分层次、分类别、分单位生成财政资金流水表。例如:对集中支付资金、直接支付资金、指标文件资金等,实现分类审计,减轻了从海量凭证和文件中挑选数据的工作量,且避免了数据不完整性。可以利用AO系统专家经验对财政资金组织疑点审计。利用预算内与非税收支资金往来比较审计,也能发现更多疑点。
    
    作者Email:zbsjycf@sina.com
    
     
【关闭】    【打印】