2010年我们在对某行政单位进行经济责任审计时发现,该单位采用的是用友R9升级版财务软件,通过A02008中的导入模板或者是金审工程网站现成模板进行导入后,其科目余额及凭证表与实际不符。本人通过对其原始财务电子数据的分析,总结出了用友R9升级版财务数据在AO中的采集方法,现与大家共同学习。 一、原始财务数据的采集 用友R9升级版财务软件的后台数据库为SQL-server,所以在采集数据时审计人员必须要在自己的电脑上安装SQL-server,再通过其后台数据库将该单位的原始财务数据拷贝出来并导入。 二、数据表结构分析与处理 (一)科目表 通过分析,找出科目表名为GL-KMXX,具体表结构如下图,从中我们可以轻易找出科目编码(KMDM)和科目名称(KMMC),至此科目表已经找出。在导入AO2008时,还要具体分析其编码方式,可以使用如下SQL语句: select distinct len(kmdm)from kmxx
(二)科目余额表 在查找分析科目余额表的过程中发现GL-KMYE表为空值,具体如下图:
至此,已经找到了为什么我们用AO2008的模板导入时科目余额期初值为空的原因。继续分析数据表结构,发现升级版的用友R9财务软件新增了一个表:GL-YEB,打开该表如图: 经过分析可知,该表就是科目余额表,但是还要经过将末级科目期初余额汇总至一级科目,并生成一个新的科目余额表,具体SQL语句如下:
——生成09年各科目年初余额 SELECT kmdm,SUM(ncj)ncj,SUM(ncd)ncd INTO YEB FROM GL-YEB WHERE kjnd='2009' GROUP BY kmdm ORDER BY kmdm ——逐级汇总余额表 ——四级→三级 INSERT INTO YEB SELECT LEFT(kmdm,7),sum(ncj),sum(ncd) FROM YEB WHERE LEN(kmdm)=9 GROUP BY LEFT(kmdm,7) ——三级→二级 INSKRT INTO YEB SELECT LEFT(kmdm,5),sum(ncj),sum(ncd) FROM YEB WHERE LEN(kmdm)=7 GROUP BY LEFT(kmdm,5) ——二级→一级 INSERT INTO YEB SELECT LEFT(kmdm,3),sum(ncj),sum(ncd) FROM YEB WHERE LEN(kmdm)=5 GROUP BY LEFT(kmdm,3) (三)凭证表 我们在使用AO2008模板导入的电子账过程中,发现导入的部分凭证实际上是已经作废的凭证,这说明原始财务数据中的标记作废的凭证在导入AO2008的过程中,导入模板未能识别,这就需要我们对原始财务数据进行重新处理。首先通过分析找出原始财务数据中的凭证表GL-PZNR与GL-PZML,如下图:
打开GL-PZML表,通过比较可以发现其作废凭证标志为SHID数据段,其中标记为“-1”的是作废凭证,如下图:
编写SQL语句,将两张凭证表融合为一张新的凭证表(PZB07)并去除作废凭证,如下: SELECT a.kjqj,a.pzh,pzrq=cast (a.pzrq as datetime),zy,kmdm,jdbz,je into pzb07 FROM GL_PZML a JOIN GL_pznr b on a.kjqj=b.kjqj and a.pzh=b.pzh and a.pzly=b.pzly