数据整理分析及将8.xACCESS二级工程辅助账户引入AO2008的分析方法_ao论文

数据整理分析及将8.xACCESS二级工程辅助账户引入AO2008的分析方法_ao论文

用友8.xACCESS二级项目辅助账导入 AO2008数据整理分析方法探析,本文主要内容关键词为:用友论文,探析论文,方法论文,项目论文,数据论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

审计署自行研发的现场审计管理系统(简称“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

group by csup_id

②select csup_id,sum(mb)as实际年初余额into 115_供应商

FROM GL_accass

WHERE ccode=′115′AND iperiod=1 and csup_id IsNot Null

group by csup_id

现在就按每个科目每个辅助项得出对应真实年初余额表。

步骤4:将得出的余额表与全年辅助余额表对比,更新全年辅助余额表,就是用实际年初余额替换全年辅助余额表的本币期初余额。

UPDATE全年辅助余额表INNER JOIN 115供应商ON全年辅助余额表.供应商编码=[115供应商].csup id

SET全年辅助余额表.本币期初余额=[115_供应商].实际年初余额

where全年辅助余额表.科目编码=′115′and[115_供应商].实际年初余额<>全年辅助余额表.本币期初余额

步骤5:115科目分供应商统计全年借方发生额和全年贷方发生额

SELECT sum(辅助余额表.本币本期借方发生额)as全年借方发生额,sum(辅助余额表.本币本期贷方发生额)as全年贷方发生额,辅助余额表.供应商编码into 115供应商全年发生

FROM辅助余额表

WHERE(((辅助余额表.科目编码)=′115′))and供应商编码<>null

group by供应商编码

order by供应商编码

步骤6:计算115科目分供应商年末余额

根据科目方向选择对应的语句,如科目方向为借的,则期初+借方-贷方=期末,如科目方向为贷的,则期初-借方+贷方=期末。

SELECT[115_供应商].csup_id,[115_供应商].实际年初余额,[115_供应商全年发生].全年借方发生额,[115_供应商全年发生].全年贷方发生额,[115_供应商].实际年初余额+[115_供应商全年发生].全年借方发生额-[115_供应商全年发生].全年贷方发生额as实际年末余额into 115供应商年初借贷年末

FROM 115供应商全年发生INNER JOIN 115供应商ON[115供应商全年发生].供应商编码=[115供应商].csup id

步骤7:更新115科目分供应商年末余额(用实际年末余额替换全年辅助余额表.本币期末余额)。

UPDATE全年辅助余额表INNER JOIN 115_供应商年初借贷年末ON全年辅助余额表.供应商编码=[115_供应商年初借贷年末].csup_id

SET全年辅助余额表.本币期末余额=[115供应商年初借贷年末].实际年末余额

where全年辅助余额表.科目编码=′115′and[115_供应商年初借贷年末].实际年末余额<>全年辅助余额表.本币期末余额

步骤8:由于在AO中供应商辅助账看出供应商辅助账年初余额需要更改的科目:115、11901、11903、11907、14101、20910、20911、20912、20913、20921、20925、20928、20932、20933、4010504、4010505、4010507,对上诉科目逐一按以上方法处理。

步骤9:对于其余的四个辅助账均一一处理。

步骤10:账表重建后,在AO软件中生成了与被审计单位电子账一致的数据。

方法二:

思路是对用友备份access文件进行整理,使之符合导入模板的要求。使辅助余额表的每行数据只有一种辅助项目,避免了一种辅助项目的一条辅助编码具有多条记录,从而通过模板方式导入AO时不会造成期初余额的取数遗漏。

步骤1:将辅助余额表按辅助编码分行,使同一行数据只有一种辅助编码,生成部门表,人员表,客户表,供应商表,项目表;

代码示例:

select*into客户编码表from余额表where客户编码is not null

步骤2:将生成表中4个无关的辅助编码赋值为null;

示例代码:客户表

Update客户表set部门代码=null人员代码=null and项目代码=null and供应商代码=null

步骤3:将生成的5张表重新结合为1张表,生成新的辅助余额表;

示例代码:

select*into新的辅助余额表from部门表union all select*from人员表union all select*from客户表union all select*from供应商表union all select*from项目表

步骤4:将借方科目中的贷方余额赋值为负,贷方科目中的借方余额赋值为负;然后对所有借方科目赋值一次‘借’,对所有贷方科目赋值一次‘贷’(使借贷方向一致,以便科目余额相加):

①将借方科目中的贷方余额赋值为负

示例代码:update辅助余额表set期初余额=期初余额*(-1)where借方科目and余额方向为贷方

②贷方科目中的借方余额赋值为负

示例代码:update辅助余额表set期初余额=期初余额*(-1)where贷方科目and余额方向为借

③对所有借方赋值一次‘借’

示例代码:Update辅助余额表set期初值借贷方向=′借′where借方科目

④对所有贷方赋值一次‘贷’

示例代码:Update辅助余额表set期初值借贷方向=‘贷’where贷方科目

步骤5:将辅助余额表中具有相同科目代码、辅助编码、借贷方向、会计期间行的余额相加:

示例代码:

select科目编码,部门编码,人员编码,客户编码,供应商编码,项目编码,会计期间,期初值借贷方向,sum(期初余额)as期初余额into新的辅助余额表from辅助余额表group by科目编码,部门编码,人员编码,客户编码,供应商编码,项目编码,会计期间,期初值借贷方向

步骤6:通过模板导入方式将数据导入AO。

用友备份access数据导入AO时需要的几张表

gl_accass辅助余额表

gl_accsum余额表

gl_accvouchcode凭证表

code 科目表

department部门

person人员

customer客户

vendor供应商

fitem,fitemss00,fitemss01 项目

方法三:

将辅助余额表的内容插入科目余额表中,生成新的科目余额表,结合原有的凭证表和科目表,进行数据库方式采集。该方法的关键是分析辅助编码,将辅助编码通过一定的形式加到科目编码中去,使辅助编码成为次级科目。

步骤1:通过辅助编码表将辅助编码对应的名称加入到辅助余额表中,作为辅助余额表与科目余额表合并时的科目名称。

示例代码:

select辅助余额表.*,部门表.部门名称into新的辅助余额表from辅助余额表left join部门表on辅助余额表.部门代码=部门表.部门代码

步骤2:分析科目编码规则和辅助编码规则,科目编码规则为3-2-2,辅助编码最长为12位;将科目编码规则调整为3-13-13-13,首先对科目编码的次级科目添加冗余位S,对部门编码添加冗余位B,对人员编码添加冗余位R,对客户编码添加冗余K,对供应商编码添加冗余G,对项目编码添加冗余X。

①调整科目代码:

update科目编码set科目编码=left(科目编码,5)+′SSSSSSSSSSS′+right(科目编码,2)where len(科目编码)>6

update科目编码set科目编码=left(科目编码3)+′SSSSSSSSSSS′+right(科目编码,15)where len(科目编码)=18

update科目编码set科目编码=left(科目编码,3)+′SSSSSSSSSSS′+right(科目编码,2)where len(科目编码)=5

②调整辅助编码:

update辅助余额表set客户代码=′K′+客户代码wherelen(客户代码)<13 and客户代码is not null

update辅助余额表供应商代码=′G′+供应商代码where len(供应商代码)<13 and供应商代码is not null

步骤3:将辅助余额表、凭证表中的科目代码与辅助代码合并,科目编码、部门编码、人员编码、客户编码、供应商编码、项目编码相加;

update辅助余额表set科目编码=(科目编码+部门编码)where部门编码is not null

update辅助余额表set科目编码=(科目编码+人员编码)where部门编码is null and人员编码is not null

步骤4:将辅助余额表与科目余额表进行合并;

select*into新的科目余额表from科目余额表union all

select*from辅助余额表

步骤5:将科目余额表中的重复数据累加;

①借方科目期初余额方向为贷方的,将期初余额改为负数;

update科目余额表set期初余额=期初余额*(-1)where借方科目and期初余额方向为贷

②贷方科目期初余额方向为借方的,将期初余额改为负数;

update科目余额表set期初余额=期初余额*(-1)where贷方科目and期初余额方向为借

③对科目编码相同的行,进行期初值合计;

select科目编码,会计期间,sum(期初余额)as期初余额into新的科目余额表from科目余额表group by科目编码,会计期间

步骤6:将调整后的科目表、科目余额表、凭证表通过数据库导入方式导入AO。

XX公司财务核算中设立多套辅助账,同时不同辅助账之间相互交叉,如果某科目下某辅助核算项有两条以上(含两条)期初值时,AO2008在采集辅助核算账时,只有一条记录导入到AO中(存放在辅助余额表中),最终导致采集生成的AO辅助账部分科目下辅助核算项期初值和发生额与真实数据不匹配,本文针对这种情况,笔者从分析后台数据入手,研究找出三种解决方法,并在实际工作中得到验证,以期为广大同仁在模板采集数据出错情况下提供一种解决思路和方法。

标签:;  ;  ;  ;  ;  ;  ;  

数据整理分析及将8.xACCESS二级工程辅助账户引入AO2008的分析方法_ao论文
下载Doc文档

猜你喜欢