利用AO查询器快速进行收入、支出、往来会计科目分年度明细汇总

02.09.2015  00:14

  在实施领导干部经济责任审计的过程中,对任期内财政、财务收支的汇总统计是一项必做功课,对往来账的各明细科目将各年度发生额和余额连贯起来查看也是一个好方法。如果审计时间范围是完整年度,我们可以利用AO2011的“账表分析-科目明细账审查”功能,设置所要查询的会计科目编码、科目级别,查看收入、支出、应收、应付款项的各明细科目和总账科目各年度发生额,因为AO已经进行了汇总。但如果审计时间范围不是完整的会计年度,而是分割开的一段时间,比如从2014年7月至12月,审计人员利用“账表分析”就只能看到2014年7月至12月每个月发生额,而不是7至12月汇总发生额。为提高审计工作效率,我们可以利用AO2011的“数据分析”功能,打开SQL查询器,运用以下各段查询语句,根据实际需要对“科目编码”、“电子数据名称”、“会计月份”、“借贷方金额”几个字段进行替换,即可快速进行会计科目分年度明细汇总。待查询器中结果生成后,全部选择,发送数据,整行发送到电子表。

 

 

示例单位:市交通局

审计时间范围:2014年7月至2015年6月

会计科目运用:根据《行政单位会计制度》设置

 

—— 收入和支出会计科目的查询思路: 收入和支出会计科目每月末都进行结转,年初和月初均无余额。可利用科目表得到收入和支出科目的各级科目,再利用凭证库得到所需时间范围内的借、贷方发生额汇总数。因凭证库里只有下级科目,没有上级科目,无法生成汇总表,故需将科目表与凭证库连接,逐步汇总生成上级科目发生额。用此方法分别得出2014年7-12月发生额表(a表)、2015年1-6月发生额表(b表),然后将两表进行汇总。因为有的会计科目可能下半年有发生额而上半年没有,为了保证所有科目的完整,需用full join 进行全连接。

 

例一:会计科目 “4001 - 财政拨款收入” 2014年7至12月、2015年1至 6月汇总

 

Select    isnull(a.科目编码,b.科目编码) 科目编码,

isnull(a.科目名称,b.科目名称) 科目名称,

isnull(发生额7至12月,0)  [2014年7至12月发生额] ,

isnull(发生额1至6月,0)    [2015年1至6月发生额],

isnull(发生额7至12月,0)+isnull(发生额1至6月,0)  [2014年7月至2015年6月合计]

from

(Select  k.科目编码,

k.科目名称,

sum(isnull(贷方金额,0)) 发生额7至12月   

  From 会计科目表 k

left join 凭证库 p

  on  p.电子数据名称=k.电子数据名称

  where p.电子数据名称='交通局2014

  and k.科目编码 like'4001%'

  and k.科目编码=left(p.科目编码,len(k.科目编码))

and 会计月份    between 7 and 12

  group by k.科目编码,k.科目名称) a

full join

(Select  k.科目编码,

k.科目名称,

sum(isnull(贷方金额,0)) 发生额1至6月   

From 会计科目表 k

left join 凭证库 p

on  p.电子数据名称=k.电子数据名称

where p.电子数据名称='交通局2015

and k.科目编码 like'4001%'

and k.科目编码=left(p.科目编码,len(k.科目编码))

and 会计月份    between 1 and 6

group by k.科目编码,k.科目名称 ) b

on a.科目编码=b.科目编码 and a.科目名称=b.科目名称

order by 科目编码

 

 

例二:会计科目 “5001 -经费支出” 2014年7至12月、2015年1至 6月汇总

  Select  isnull(a.科目编码,b.科目编码) 科目编码,

isnull(a.科目名称,b.科目名称) 科目名称,

isnull(发生额7至12月,0)  [2014年7至12月发生额] ,

isnull(发生额1至6月,0)    [2015年1至6月发生额],

isnull(发生额7至12月,0)+isnull(发生额1至6月,0)  [2014年7月至2015年6月合计]

from

(Select  k.科目编码,

k.科目名称,

sum(isnull(借方金额,0)) 发生额7至12月   

  From 会计科目表 k

left join 凭证库 p

  on  p.电子数据名称=k.电子数据名称

  where p.电子数据名称='交通局2014

  and k.科目编码 like'5001%'

  and k.科目编码=left(p.科目编码,len(k.科目编码))

and 会计月份    between 7 and 12

  group by k.科目编码,k.科目名称) a

full join

(Select  k.科目编码,

k.科目名称,

sum(isnull(借方金额,0)) 发生额1至6月   

From 会计科目表 k

left join 凭证库 p

on  p.电子数据名称=k.电子数据名称

where p.电子数据名称='交通局2015

and k.科目编码 like'5001%'

and k.科目编码=left(p.科目编码,len(k.科目编码))

and 会计月份    between 1 and 6

group by k.科目编码,k.科目名称 ) b

on a.科目编码=b.科目编码 and a.科目名称=b.科目名称

order by 科目编码

 

 

 

—— 应收和应付款会计科目的查询思路: 应收和应付款会计科目期末不进行结转,年初和月初均有余额。可先分别利用2014与2015年的余额表(科目数与科目表中一致)生成2014年初往来款项各级科目余额(a表,已包含2015年科目),再通过凭证库分别查询相应科目2014年1至6月(b表)、2014年7至12月(c表)、2015年1至6月(d表)借贷方发生额合计数,利用公式加减后生成2014年6月底、2014年12月底、2015年6月底余额。应注意因应收与应付款科目余额方向不同,设置期末余额的计算公式也不同。

 

例三:会计科目 “1215-其它应收款” 2014年1至6月、2014年7至12月、2015年1至 6月汇总

 

select  a.科目编码,

a.科目名称,

a.期初余额,

isnull(b.[2014年1至6月借方],0)  [2014年1至6月借方],

isnull(b.[2014年1至6月贷方],0)  [2014年1至6月贷方],

a.期初余额+isnull(b.[2014年1至6月借方],0)-isnull(b.[2014年1至6月贷方],0)  [2014年6月底余额],

isnull(c.[2014年7至12月借方],0)  [2014年7至12月借方],

isnull(c.[2014年7至12月贷方],0)  [2014年7至12月贷方],

a.期初余额+isnull(b.[2014年1至6月借方],0)-isnull(b.[2014年1至6月贷方],0) +isnull(c.[2014年7至12月借方],0)-isnull(c.[2014年7至12月贷方],0)  [2014年底余额],

isnull(d.[2015年1至6月借方],0)    [2015年1至6月借方],

isnull(d.[2015年1至6月贷方],0)    [2015年1至6月贷方],

a.期初余额+isnull(b.[2014年1至6月借方],0)-isnull(b.[2014年1至6月贷方],0) +isnull(c.[2014年7至12月借方],0)-isnull(c.[2014年7至12月贷方],0)+isnull(d.[2015年1至6月借方],0)  -isnull(d.[2015年1至6月贷方],0)  [2015年6月底余额]

from

(

Select  isnull(ye1.科目编码, ye2.科目编码) 科目编码,

isnull(ye1.科目名称, ye2.科目名称) 科目名称,

isnull(ye1.期初余额,0) 期初余额

            from

(Select 科目编码,

科目名称,

期初余额

From 科目余额 where 科目编码 like'1215%' and 电子数据名称='交通局2014')ye1

Full join

(Select 科目编码,

科目名称

From 科目余额 where 科目编码 like'1215%' and 电子数据名称='交通局2015')ye2

On  ye1.科目编码= ye2.科目编码 and ye1.科目名称=ye2.科目名称) a

left join 

(Select  y.科目编码,

y.科目名称,

sum(isnull(借方金额,0))  [2014年1至6月借方],

sum(isnull(贷方金额,0))  [2014年1至6月贷方]

From 科目余额 y

left join 凭证库 p

on  y.电子数据名称=p.电子数据名称

where y.电子数据名称='交通局2014

and y.科目编码 like'1215%'

and y.科目编码=left(p.科目编码,len(y.科目编码))

and 会计月份    between 1 and 6

group by y.科目编码,y.科目名称,y.期初余额) b

on a.科目编码=b.科目编码 and a.科目名称=b.科目名称

left join

( Select  y.科目编码,

y.科目名称,

sum(isnull(借方金额,0))  [2014年7至12月借方],

sum(isnull(贷方金额,0))  [2014年7至12月贷方]

From 科目余额 y

left join 凭证库 p

on y.电子数据名称=p.电子数据名称

where y.电子数据名称='交通局2014

and y.科目编码 like'1215%'

and y.科目编码=left(p.科目编码,len(y.科目编码))

and 会计月份    between 7 and 12

group by y.科目编码,y.科目名称,y.期初余额)  c

on a.科目编码=c.科目编码 and a.科目名称=c.科目名称

left join

( Select  y.科目编码,

y.科目名称,

sum(isnull(借方金额,0))  [2015年1至6月借方],

sum(isnull(贷方金额,0))  [2015年1至6月贷方]

From 科目余额 y

left join 凭证库 p

on y.电子数据名称=p.电子数据名称

where y.电子数据名称='交通局2015

and y.科目编码 like'1215%'

and y.科目编码=left(p.科目编码,len(y.科目编码))

and 会计月份    between 1 and 6

group by y.科目编码,y.科目名称,y.期初余额)  d

on a.科目编码=d.科目编码 and a.科目名称=d.科目名称

例四:会计科目 “2305-其他应付款” 2014年1至6月、2014年7至12月、2015年1至 6月汇总

 

Select  a.科目编码,

a.科目名称,

a.期初余额,

isnull(b.[2014年1至6月借方],0)  [2014年1至6月借方],

isnull(b.[2014年1至6月贷方],0)  [2014年1至6月贷方],

a.期初余额-isnull(b.[2014年1至6月借方],0)+isnull(b.[2014年1至6月贷方],0) [2014年6月底余额],

isnull(c.[2014年7至12月借方],0)  [2014年7至12月借方],

isnull(c.[2014年7至12月贷方],0)  [2014年7至12月贷方],

a.期初余额-isnull(b.[2014年1至6月借方],0)+isnull(b.[2014年1至6月贷方],0) -isnull(c.[2014年7至12月借方],0)+isnull(c.[2014年7至12月贷方],0)  [2014年底余额],

isnull(d.[2015年1至6月借方],0)  [2015年1至6月借方],

isnull(d.[2015年1至6月贷方],0)  [2015年1至6月贷方],

a.期初余额-isnull(b.[2014年1至6月借方],0)+isnull(b.[2014年1至6月贷方],0) -isnull(c.[2014年7至12月借方],0)+isnull(c.[2014年7至12月贷方],0)-isnull(d.[2015年1至6月借方],0)+isnull(d.[2015年1至6月贷方],0)  [2015年6月底余额]

from

(

Select  isnull(ye1.科目编码, ye2.科目编码) 科目编码,

isnull(ye1.科目名称, ye2.科目名称) 科目名称,

isnull(ye1.期初余额,0) 期初余额

            from

(Select 科目编码,

科目名称,

期初余额

From 科目余额 where 科目编码 like'2305%' and 电子数据名称='交通局2014')ye1

Full join

(Select 科目编码,

科目名称

From 科目余额 where 科目编码 like'2305%' and 电子数据名称='交通局2015')ye2

On  ye1.科目编码= ye2.科目编码 and ye1.科目名称=ye2.科目名称) a

left join 

(Select  y.科目编码,

y.科目名称,

sum(isnull(借方金额,0))  [2014年1至6月借方],

sum(isnull(贷方金额,0))  [2014年1至6月贷方]

From 科目余额 y

left join 凭证库 p

on  y.电子数据名称=p.电子数据名称

where y.电子数据名称='交通局2014

and y.科目编码 like'2305%'

and y.科目编码=left(p.科目编码,len(y.科目编码))

and 会计月份    between 1 and 6

group by y.科目编码,y.科目名称,y.期初余额) b

on a.科目编码=b.科目编码 and a.科目名称=b.科目名称

left join

( Select  y.科目编码,

y.科目名称,

sum(isnull(借方金额,0))  [2014年7至12月借方],

sum(isnull(贷方金额,0))  [2014年7至12月贷方]

From 科目余额 y

left join 凭证库 p

on y.电子数据名称=p.电子数据名称

where y.电子数据名称='交通局2014

and y.科目编码 like'2305%'

and y.科目编码=left(p.科目编码,len(y.科目编码))

and 会计月份    between 7 and 12

group by y.科目编码,y.科目名称,y.期初余额)  c

on a.科目编码=c.科目编码 and a.科目名称=c.科目名称

left join

( Select  y.科目编码,

y.科目名称,

sum(isnull(借方金额,0))  [2015年1至6月借方],

sum(isnull(贷方金额,0))  [2015年1至6月贷方]

From 科目余额 y

left join 凭证库 p

on y.电子数据名称=p.电子数据名称

where y.电子数据名称='交通局2015

and y.科目编码 like'2305%'

and y.科目编码=left(p.科目编码,len(y.科目编码))

and 会计月份    between 1 and 6

group by y.科目编码,y.科目名称,y.期初余额)  d

on a.科目编码=d.科目编码 and a.科目名称=d.科目名称