利用SAP系统前台数据查证某企业向民营企业输送利益的审计方法

作 者:

作者简介:
王金田,安徽省审计厅信息技术运用审计处;吴宜,安徽省审计厅企业审计处

原文出处:
安徽审计

内容提要:

02


期刊代号:V3
分类名称:审计文摘
复印期号:2016 年 12 期

关 键 词:

字号:

      大型企业集团业务范围广,资金量大,企业生产经营、财务管理等经济活动普遍采取数据化管理,国有企业领导人任期经济责任审计采用传统的手工审计难以在规定的时间内实现审计目标,计算机审计是企业经济责任审计的重要手段。如某企业部署的企业信息管理系统是SAP系统,集成了销售管理、生产管理、质量管理、物料管理、财务管理和成本控制等多个模块,后台数据库是ORACLE,仅凭证明细表就有2亿条记录,140GB,历年的数据总量接近100TB级别,而且没有完整的数据字典,要想开展全面的数据分析非常困难,只能针对某项内容进行重点突破。

      审前调查了解到该企业的煤炭供应商比较分散,而且民营企业中间商比较多,因此,审计实施方案将煤炭采购的合规性作为审计重点,重点关注是否存在向特定关系人输送利益的重大违规违法行为。

      如何从SAP系统中取得审计需要的数据,是摆在审计人员面前的一大难题。考虑到该企业信息中心的主要工作是对SAP系统进行维护,以及在已有的应用基础上进行二次开发,他们对后台数据库的表结构并不熟悉,因此,从后台数据库取原始表的思路行不通。审计人员选择与信息中心一样的做法,从已有的SAP系统应用中导出审计需要的数据,再对这些数据整理规范后开展数据分析。主要审计思路和步骤如下:

      步骤一:从SAP系统中取得审计需要的数据。让信息中心为审计人员在SAP系统中设置用户和权限,利用已有的应用从SAP系统导出与采购相关的合同表、采购计划表、采购订单表、采购发票表、物料表、供应商表等,关联生成审计需要的煤炭采购明细表。

      步骤二:筛选出重点抽查的民营企业中间商。按照采购金额大小排序,筛选出前15位供应商,经分析确定第9位的民营企业中间商****实业有限公司(J公司)和第14位的****物资有限公司(N公司)作为重点业务抽查对象。

      步骤三:关注价格波动情况。分析比对同一时期相同煤炭品种和等级的供应价格,发现J公司煤炭供应价格明显高于同期省内国有企业H供应价格的异常现象。J公司供应的煤炭品种主要是焦煤Ⅰ,主要差异为:一是每吨裸煤价高20元至50元不等;二是每吨煤多付运费30元左右;三是违反合同条款(合同约定煤炭从出厂到验收入库之间的煤耗各承担一半),承担所有采购煤耗,五年累计多承担煤炭采购损耗万余吨。分析比对语句如下:

      ——分期间、煤炭品种和供应商进行汇总

      ——比较同一时期(相同的月份)、同一类煤炭,各个供应商给出的裸煤单价和运费单价之间的差异,以及发货数量与结算数据之间的数量差异

      select年度,month(过账日期)月份,a.物料描述,

      SUM(case when [D/C]='S'then cast(结算数量AS money) else-1*cast(结算数量AS money)end)结算总数量,

      SUM(case when[D/C]='S'then cast(发票数量AS money) else-1*cast(发票数量AS money)end)发货总数量,

      SUM(case when[D/C]='S'then cast(发票金额AS money) else-1*cast(发票金额AS money)end)总金额,

      (SUM(case when[D/C]='S'then cast(货款AS money)else-1*cast(贷款AS money)end)

      +SUM(case when[D/C]='S'then cast(货款进项税AS money)else-1*cast(贷款进项税AS money)end)

      /SUM(case when [D/C]='S'then cast(发票数量AS money)else-1*cast(发票数量AS money)end)裸煤单价,

      (SUM(case when[D/C]='S'then cast(运杂费AS money)else-1*cast(运杂费AS money)end)+SUM(case when[D/C]='S' then cast(运杂费税AS money)else-1*cast(运杂费税AS money)end))

      /SUM(case when[D/C]='S'then cast(发票数量AS money)else-1*cast(发票数量AS money)end)运费单价,

      SUM(case when[D/C]='S'then cast(发票数量AS money)else-1*cast(发票数量AS money)end)

      -SUM(case when[D/C]='S'then cast(结算数量AS money)else-1*cast(结算数量AS money)end)数量差异,

      供应商代码,供应商名称

      from采购中心采购燃料明细表a.物料主数据b

      where(b.物料like ‘2101%’ or b.物料like ‘2102%’)——只考虑为煤炭的物料号

相关文章: