浅谈SQL语句在审计实务中的应用

06.04.2017  19:50
  随着我国会计信息化建设的突飞猛进,财务会计管理软件的应用趋向普及,传统的纸质会计凭证已经被电子化的会计信息数据所取代。被审计单位的财务和业务系统也大多使用了专用软件进行计算机管理,这就对以手工审计为主的传统审计方法提出了挑战。审计对象的信息化客观上要求审计机关的作业方式必须及时作出相应的调整,要运用信息技术,全面检查被审计单位的经济活动,发挥审计监督的应有作用。因此,利用信息技术开展审计工作成为必然。而审计人员为了适应现今信息时代的需要必须使用计算机辅助审计技术来完成审计任务。因此,掌握计算机辅助审计技术对于审计人员来说非常重要。
  使用计算机语句对具体问题进行查询分析是计算机辅助审计技术之一,即通过数据库的SQL查询语句对数据进行筛选和比较,提取组成我们可用的审计中间表,从而大大提高审计效率。下面,我们就来举例说明SQL语句在审计实务中的应用。
   一、SQL语句在财务收支审计中的应用
  (一)利用SQL语句编制资产负债表
  首先查询导入数据库中的科目代码表及余额表,利用语句:
  select * from 科目代码表
  select * from 余额表
  可以查询到科目代码表及余额表中的所有列记录,观察科目代码的构成,例如一级科目由4位代码组成,然后寻找科目代码表和余额表共有的字段(如:科目代码),最后通过科目代码表和余额表共有字段的连接,可以查询到一级科目及期初期末余额:
  select a.科目代码,a.科目名称,b.借方,b.贷方 from dbo.科目代码表 a join dbo.余额表 b on a.科目代码=b.科目代码 where len(a.科目代码)=4
  将查询结果输入到资产负债表中即可发现资产负债表是否平衡。
  (二)通过对摘要字段内容的选择筛选中其中所有与招待费有关的凭证
  select 科目编码,科目名称,摘要,凭证日期,借方金额,贷方金额 from 凭证表 where 摘要like %招待费%
  进而计算招待费总额,看是否超范围支出:
  Select sum(借方金额) from 凭证表 where 摘要 like %招待费%
  (三)通过添加限制条件筛选出大额支出的凭证
  Select * from 凭证表 where借方金额>10000
  然后,逐条查阅相关会计凭证及相关审计资料,核实是否有不合理支出或超范围支出。
  二、SQL语句在税收征收审计中的应用
  (一)根据特殊时间段的查找延伸审计重点单位
  关注税收金额特别突出的月份,分析查找出纳税金额特别大的纳税人,将大额纳税人作为延伸审计的疑点对象。
  1、按月份和金额进行汇总各纳税单位缴纳税款情况
  Select month(日期)as 月份,sum(小计)as 每月税收合计 from dbo.1-12税收 group by month(日期) order by sum(小计)desc
  2、通过纳税人计算机代码查找税收总额排名前30名的纳税单位名称
  Select top 30 计算机代码,纳税人名称,sum(合计)as 税收总额 from dbo.分纳税人分税种表 group by 计算机代码,纳税人名称 order by sum(合计)desc
  (二)通过已缴纳营业税金额计算应缴营业税附加项金额,并与实缴营业税附加项金额相比较,计算差额,寻找疑点
  以教育费附加为例:首先找出缴纳营业税且金额不为零的企业,生成新表:营业税缴纳情况表
  Select 计算机代码,纳税人名称,税种,合计 into 营业税缴纳情况表 from dbo.分纳税人分税种 where 税种=‘营业税’and合计<>0
  以此表为基准,计算应缴纳教育费附加金额,并与实缴教育费附加金额相比较,看是否差额,并寻找差额原因:
  select a.计算机代码,a.纳税人名称,a.合计 实缴营业税金额, a.合计*0.03 应缴教育费附加,b.合计 实缴教育费附加,a.合计*0.03-b.合计 差额from 营业税缴纳情况表 a join dbo.分纳税人分税种 b on a.计算机代码=b.计算机代码 where b.税种='教育费附加'
   三、SQL语句在保障房审计中的应用
  (一)从危房改造数据中查找不是低保参保人员名单
  select * from dbo.固安县危房改造数据汇总 where 户主姓名 not in (select 户主姓名 from dbo.民政低保名单)
  and 农户贫困类型='低保户'
  (二)查询筛选年度内重复领取廉租房补贴人员情况
  Select * from 补贴人员名册 where 身份证号码 in(select 身份证号码 from 补贴人员名册 where 身份证号码 in (select 身份证号码 from 补贴人员名册 group by 身份证号码 having count(*)>2))and 姓名 in (select 姓名 from 补贴人员名册 where 姓名 in(select 姓名 from 补贴人员名册 group by 姓名 having count(*)=2))
  以上列出的是数据审计模式下根据实际工作总结出的常用SQL语句,虽然所列内容并不全面,更不可能完全体现SQL查询的全面功能与精妙所在,但只要能够很好的分析出审计需求,把用自然语言表达的审计思路转化为计算机的SQL查询语句,一定能使审计工作达到事半功倍的效果,在保证审计质量的前提下大大提高审计效率。