审计署自行研发的现场审计管理系统(简称“AO”)具有财务数据转换功能,而实际工作中,被审计单位采用的一些特殊核算方式,用既有的转换模板转换出的被审计单位数据往往会出错,笔者就实际工作中遇到的用友8.xACCESS二级项目辅助账用转换模板导入数据出现的问题及解决方案进行了探讨。 一、被审计单位财务核算方法及软件环境 在对XX房地产开发有限公司(以下简称XX公司)资产负债损益情况实施审计时,发现XX公司财务核算软件使用的是用友8.xACCESS版本,对房地产开发过程中的成本、收入、预收、预付等关键性内容分为人员、部门、供应商、客户和项目5套辅助账进行核算,5套辅助账之间相互关联,辅助账设有下级辅助核算项,同时不同辅助账交叉,如项目辅助账和供应商辅助账就在多个科目上相互交叉关联。后台数据包含总账余额表和辅助余额额表,一个凭证库,总账和辅助账余额表及账务记录来源于唯一的凭证库,凭证库记录中包含相关联辅助账的ID,辅助账的ID的长度不一致,存在一条凭证记录包含多个辅助项ID情况,即一条凭证记录涉及多个辅助账,记录到多个辅助项ID。 二、AO2008模板导入项目辅助账存在的问题及原因 1.存在问题:AO2008版用友8.xACCESS转换模板中含有辅助账导入转换功能,但AO2008版转换模板转换出的部分辅助核算项的数据与真实数据不一致,表现在辅助账的期初期末余额和总账期初期末余额数值不等。 2.原因分析:通过分析用友后台凭证发生记录时证实转换数据出错的原因为:AO2008在采集辅助核算账时,如果某科目下某辅助核算项有两条以上(含两条)期初值时,只有一条记录导入到AO中(存放在辅助余额表中),最终导致采集生成的AO辅助账部分科目下辅助核算项期初值和发生额与真实数据不匹配。 三、数据整理分析方法 方法一: 通过更新AO软件辅助账错误数据的方式生成拥有正确辅助账数据的AO电子账(以供应商辅助账为例)。全年辅助余额表中的本币期初余额为AO电子账反映的年初金额,辅助余额表中的本币本期借方发生额和本币本期贷方发生额为辅助账显示的借贷发生额。 步骤1:将用友后台数据库迁移到AO数据库文件中,注意导入GL accass(辅助总账)、Department(部门档案)、Vendor(供应商档案)、Person(职员档案)、Customer(客户档案)和fitemss00class(项目档案》。有关数据属性说明如下: GL_accass表: cbegind_c余额方向 ccode科目编码 iperiod会计期间(为1时表示年初) csup_id供应商代码 cdept_id部门代码 cperson_id个人代码 ccus_id客户代码 citem_id项目代码 mb期初金额 步骤2:分科目判断辅助核算项余额方向。 SELECT cbegind_c,count(cbegind_c) FROM GL_accass WHERE ccode=′115′AND iperiod=1 and csup_id Is Not Null and cbegind c<>′平′ group by cbegind_c 如果均为一个方向的,只有一条记录(借或贷),否则会有两条记录(借、贷)。 步骤3:统计具体辅助核算项真实年初余额。 (1)看该科目余额方向,如果为借,供应商借方的实际年初余额为正值,供应商贷方的实际年初余额为负。否则正好相反。 当第一步结果只有一个方向时,根据具体方向统计,执行②语句。当有两个方向时,分别执行借、贷方向的金额并合并数值。 ①SELECT esup_id,sum(mb)as实际年初余额temp into 115供应商temp FROM GL_accass WHERE ccode=′115′AND iperiod=1 and csup_id Is Not Null and cbegind_c=′借′ group by csup_id SELECT csup_id,sum(mb)*-1 as实际年初余额temp into 115供应商贷方向 FROM GL_accass WHERE ccode=′115′AND iperiod=1 and csup_id Is Not Null and cbegind c=′贷′ group by csup_id 两表合并 INSERT INTO 115供应商temp SELECT* FROM 115供应商贷方向 再按供应商代码合并统计 select csup_id,sum(实际年初余额temp)as实际年初余额into 115供应商 FROM 115供应商temp