|
昨天晚上测试了一下,并且和james交流了一下
初步查明此事:在一笔不合理的业务下,Oracle FA会出现无法rollback的现象
测试环境:11.5.8,怀疑11i的所有版本都有此问题
业务如下:
一、假设资产当前会计期为2004-07,新建一条资产,启用摊消性调整(同时选中“将NBV摊消在剩余寿命中”和“摊消调整”)。资产启用日期为2003-07-01,原值为12000,残值为0,累计折旧为0,直线折旧法,摊消起始日期为本期2004-07-01。
注意:此项业务系统操作无问题,但业务上其实不合理,因为一条已经使用一年的资产,累计折旧不应该为0。
二、运行折旧(不关闭会计期),该资产当月折旧为:2938.77
对该2938.77的算法解释如下:
1、因为是摊消性调整,所以每月折旧应该为12000/49=244.8979592(49是剩余资产寿命,从2004年7月到2008年7月,含2004年7月)
2、因为累计这机是0,所以要补提2003年7月到2004年7月的折旧(不含2003年7月,新增资产当月补折旧),共12个会计期,244.8979592*12=2938.77551(有小数点误差,此处忽略不计)
注:以上两步算法只是我的理解,Oracle的后台算法不是如此,我也没有查过源程序
此处折旧计算已经不正确。
三、重新运行折旧
返回资产工作台,查到该笔资产的累计折旧还是2938.77,没有Rollback
原因:我认为此事是oracle fa模块一个不够严密的地方,但是此事可以避免。
解决方法:
方法1、一般此问题出现在期初上线时,只需要检查启用日期不是当月的资产是否存在累计折旧,如果存在启用日期是以前月份,但累计折旧是0,且客户不希望在当月补提折旧,可以采用人工调节累计折旧为0.01,调节数在其他资产上扣减。
方法2、说服客户,这些资产是不合理的,以前没有计提折旧,对系统当期补提的功能认可(要小心税务)
如果已经以0累计折旧导入,但未关闭会计期,可以通过重新运行折旧,并在资产工作台删除此资产,并重新手工录入,录入时累计折旧为非零(改数字从其他资产上扣减获得) |
|