当前位置:文档之家› 方正春园财政国库集中支付审计方法

方正春园财政国库集中支付审计方法

方正春园财政国库集中支付审计方法方正春园财政国库集中支付管理系统审计专家经验——财政预,决,算审计一、标题某市财政预,决,算审计二、经验类别所属分类:财政审计经验——财政预,决,算审计三、经验种类所属种类:总体分析经验四、经验描述预算执行审计是审计工作永恒的主题~随着经济的发展和政府职能的完善与转化~预算执行审计涉及的层面和深入也在不断加深~除了发现问题、纠正问题外~预算执行审计报告更是一个综合分析报告。

随着计算机辅助审计地开展和深化~更有利于对预算执行中的某些数据进行统计和分析~更好地揭示宏观层面的情况。

目前~财政国库集中支付管理系统,以下简称“集中支付系统”,是辽宁省内财政系统推广使用的软件之一~对一个国库支付系统而言~存在几百张具有钩稽关系的数据表~主表中年业务数据高达几十万条~数据量大~关系复杂。

因此~对该软件的应用功能进行总体分析、测试具有一定的实用价值。

集中支付系统是由财政部信息中心与北京方正春元科技发展有限公司联合开发研制的~底层数据库为ORACLE~有345张数据表~经审计分析其中核心业务相关的数据表7张。

由于软件公司并未提供该软件底层数据库的数据字典~审计人员必须通过对数据的研究和测试~才能破解该数据库的数据结构。

审计过程中发现~集中支付系统内部配置比较灵活~会计数据均存储在一起~需要对其进行应用性测试~并根据测试结果对被审计单位预算执行中可能存在的问题编写SQL语句进行查询、检索~另外对一些刚性指标进行统计分析~效果较好。

五、所需资料,一,集中支付系统使用的底层数据库ORACLE~审计人员必须获得该系统底层数据库备份文件或数据文件~建立文本数据源~导入SQL SERVER。

1,二,拆解获取集中支付系统底层数据库的数据字典。

由于该系统为商业软件~开发公司没有为客户提供底层数据库的数据字典~审计人员只能利用对比、分析的方法来拆解数据库的数据字典。

通过自行开发的工具软件进行分析~在集中支付系统中有数据表345张~核心业务表主要有7张~分别是:1(会计科目表ACCOUNTANT_SUBJECT~主要描述了会计科目代码~会计科目名称~会计科目代码和名称所属的会计年度等信息,2(预算,基金,支出科目表 BUDGET_SUBJECT~主要描述了按照政府支出科目设置的预算,基金,科目代码和预算,基金,科目名称及所属年度等信息, 3(预算,基金,收入科目表BUDGET_SUBJECT_INCOME~主要描述了按照政府收入科目设置的预算,基金,科目代码和预算,基金,科目名称及所属年度等信息, 4(部门表 ENTERPRISE~主要描述了年度内预算部门代码及部门名称,5(预算科目余额表 REMAIN_BUDGET~主要记录期初各科目余额~当年借贷方发生额,6(凭证主表 VOUCHER_BUDGET~主要记录凭证编号、录证日期、附属单据等基本信息,7(凭证子表 VOUCHER_DETAIL_BUDGET~主要记录凭证摘要、发生额、会计科目、预算科目、资金使用单位等详细信息。

六、审计步骤步骤一:集中支付系统使用的底层数据库是ORACLE。

通过PL/SQL Developer在局域网上直接连接系统备份数据库~由系统管理员登入服务器~对相关数据表进行查询并将查询结果保存为审计需求的文件格式~以采集集中支付系统的业务数据。

对取得的数据我们与原始数据表进行了比对~以保证数据的真实和完整性。

步骤二:将上述业务数据恢复或附加到Microsoft SQL Server中~对数据库中每个表的记录条数进行统计~确定表的重要程度。

删除记录条数为0的表~减少待研究表的数量~减少空记录表对数据库结构研究的干扰。

步骤三:通过对表名称英文含义的翻译~按照数据记录条数从多到少逐次打开每张表~再结合表数据数量、记录内容的分析~进一步2了解和确定表结构和表内容~最后通过与当年政府收支科目的对比~并经过反复测试~拆解出数据库的主要7个表的数据结构和相关表关系。

步骤四:通过对表和字段的研究~审计人员对集中支付系统进行了应用测试。

主要从以下三个方面进行:,一,描述主要表之间的钩稽关系并整理生成审计中间表余额表REMAIN_BUDGET 会计科目表预算(基金)支出科目表 ACCOUNTANT_SUBJECT BUDGET_SUBJECT SET_YEAR AS_CODE IN_CODE IN_CODE BALANCE DISP_CODEDISP_CODE DEB_MONEY DISP_NAME DISP_NAME CRE_MONEY SORT_CODESORT_CODE ………… SET_YEAR LEVEL_NUM ENABLED START_DATE …………END_DATE凭证子表 SET_YEARVOUCHER_DETAIL_BUDGET ENABLED部门表…………ENTERPRISEVOUCHER_IDV_LINE IN_CODESORT_LINE DISP_NAMEAS_CODE SORT_CODESUMMARY SET_YEAR 预算(基金)收入科目表 DEB_MONEY ENABLEDBUDGET_SUBJECT_INCOME CRE_MONEY ………… SET_YEARIN_CODE EN_CODEDISP_CODE BS_CODEIN_BS_CODE DISP_NAMEDISP_NAME 凭证主表 SORT_CODE………… VOUCHER_BUDGET LEVEL_NUMSTART_DATE VOUCHER_ID END_DATE SET_YEAR SET_YEAR V_MONTH ENABLED VOUCHER_NO ………… V_DAY BILLS …………31(会计科目表,ACCOUNTANT_SUBJECT,根据年度,SET_YEAR,过滤出审计年度内执行的会计科目表(以下语句均以2007年为例)。

Select IN_CODE (会计科目代码),DISP_NAME,会计科目名称,intoNEW_ACCOUNTANT FROM ACCOUNTANT_SUBJECTwhere SET_YEAR=20072(预算,基金,支出科目表,BUDGET_SUBJECT,根据年度,SET_YEAR,过滤出审计年度内执行的预算,基金,支出科目表。

Select IN_CODE (预算科目代码),DISP_NAME,预算科目名称, intoNEW_ BUDGET from BUDGET_SUBJECTwhere SET_YEAR=20073. 预算,基金,收入科目表,BUDGET_SUBJECT_INCOME,根据年度,SET_YEAR,过滤出审计年度内执行的预算,基金,收入科目表。

Select IN_CODE (预算科目代码),DISP_NAME,预算科目名称, intoNEW_ BUDGET_INCOME fromBUDGET_SUBJECT_INCOME where SET_YEAR=20074(部门表 ,ENTERPRISE,根据年度,SET_YEAR,过滤出审计年度内预算单位表。

Select IN_CODE (部门代码),DISP_NAME,部门名称,into NEW_ ENTERPRISE from ENTERPRISE whereSET_YEAR=20075(预算科目余额表 ,REMAIN_BUDGET,根据年度,SET_YEAR,过滤出审计年度内的余额表。

Select AS_CODE (会计科目代码), BALANCE,期初余额,into REMAIN from REMAIN_BUDGET whereSET_YEAR=2007,二,进行数据的符合性测试1(检查凭证是否完整~抽查部分凭证是否一致。

根据生成的审计中间表~将凭证主表和子表进行连接~并根据各科目代码表对其中4的代码字段进行翻译~生成审计人员能够顺利查阅的要素齐全的新凭证表。

SELECT A.VOUCHER_ID 序号,A.SET_YEAR 年度,V_MONTH 月份,V_DAY 日期,VOUCHER_NO 凭证号,V_LINE 凭证明细号,BILLS 附单据数,CASE WHEN BS_CODE IS NOT NULL THEN BS_CODEELSE IN_BS_CODE END 预算科目编码,CASE WHEN E.DISP_NAME IS NOT NULLTHEN E.DISP_NAMEELSE F.DISP_NAME END 预算科目名称,AS_CODE 会计科目编码,, D.DISP_NAME 会计科目名称,SUMMARY 摘要DEB_MONEY 借方金额,CRE_MONEY 贷方金额,C.DISP_NAME 用款单位,EN_CODE 用款单位编码 into NEW_VOUCHER FROM VOUCHER_DETAIL_BUDGET A JOIN VOUCHER_BUDGET BON A.VOUCHER_ID=B.VOUCHER_IDLEFT JOIN NEW_ENTERPRISE CON C.IN_CODE=A.EN_CODEJOIN NEW_ACCOUNTANT DON D.IN_CODE=A.AS_CODELEFT JOIN NEW_BUDGET EON A.BS_CODE=E.IN_CODELEFT JOIN NEW_BUDGET_INCOME FON A.IN_BS_CODE=F.IN_CODE2(检验总账和明细账是否完整~数据是否一致。

,1,整理明细帐的过程:I(通过凭证表整理出各科目全年发生额:SELECT 会计科目编码,会计科目名称,SUM(借方金额) 借方发生额, SUM(贷方金额) 贷方发生额 INTO FSB FROM NEW_VOUCHERGROUP BY 会计科目编码,会计科目名称II(通过FSB、NEW_ REMAIN、NEW_ACCOUNTANT多表连接提出有用字段~生成过渡表,GDB,:SELECT A.AS_CODE 会计科目代码,DISP_NAME 会计科目名称,5CASE WHEN AS_CODE LIKE '1%' THEN '借'ELSE '贷' END 方向, BALANCE 期初余额,借方发生额,贷方发生额 INTO GDB FROM REMAIN A JOINNEW_ACCOUNTANT B ON A.AS_CODE=B.IN_CODELEFT JOIN FSB C ON A.AS_CODE=C.会计科目编码ORDER BY AS_CODEIII(由于部分科目全年都没有发生额~连接后借方发生额和贷方发生额存在null值~无法通过计算得出期末余额~所以先对GDB进行整理~即对null值替换成成0值:UPDATE GDB SET 借方发生额=0 WHERE 借方发生额 IS NULL UPDATE GDB SET 贷方发生额=0 WHERE 贷方发生额 IS NULLIV(将GDB整理生成明细帐MXZ:SELECT *,CASE WHEN 方向='借' THEN 期初余额+借方发生额-贷方发生额ELSE期初余额-借方发生额+贷方发生额 END 期末余额INTO MXZ FROM GDB,2,根据新生成的凭证表整理生成预算,基金,收入、支出金额,可以生成汇总数~也可以根据政府收支科目目录查询各类收支数, SELECT LEFT(预算科目编码,3) 总账科目,SUM(借方金额) 支出数,sum(贷方金额) 收入数FROM NEW_VOUCHERGROUP BY LEFT(预算科目编码,3)ORDER BY LEFT(预算科目编码,3),三,根据审计经验~编写SQL语句~查找疑点1(发现虚列支出问题SELECT * FROM NEW_VOUCHER WHERE 序号 IN(SELECT 序号 FROM NEW_VOUCHERWHERE 预算科目编码 LIKE '2%' AND 借方金额>0)AND 会计科目编码 NOT LIKE '1%' AND 贷方金额>0根据筛选的数据~进行分析~发现虚列上级专项问题。

相关主题