对应版本:用友U8.52对应产品线:供应链对应模块:采购管理模块问题现象:在采购订单录入界面,输入两笔记录,含税单价相同,数量不同,系统自动计算的不含税单价却不相同。例如税率若为17,单价为4位小数位,金额位2位小数位。第一条记录数量:20,含税单价33.33,非含税单价28.487;第二条记录数量:17,含税单价33.33,非含税单价却为28.4871。经分析,第一条记录的非含税单价=ROUND(原币价税合计666.60/1.17,2)/20=28.487,第二条记录的非含税单价=ROUND(原币价税合计566.61/1.17,2)/17=28.4871。能否对“原币价税合计666.6/1.17/20”进行ROUND保留小数位以避免含税单价相同,而非含税单价不同的现象?问题原因:关于无税单价计算误差的问题,是由于计算无税单价时小数位的四舍五入先后顺序造成的,这样是为了保持“无税单价*数量=无税金额、无税金额*税率=税额、税额+无税金额=价税合计”等这些关系的平衡性。否则从单据界面上看(包括采购发票、到货单等单据)这些关系可能就不平衡了。解决方案:采购单据中无税,含税单价的计算规则如下:数量=20;含税单价=33.33,此时含税金额=666.60,无税金额=round(666.60/1.17,2)=569.74,因此无税单价=round(569.74/20,4)=28.4870;而数量=17;含税单价=33.33,此时含税金额=566.61,无税金额=round(566.61/1.17,2)=484.28,因此无税单价=round(484.28/17,4)=28.4871;这是采购单据的统一计算规则,其目的是保证单据中数据项之间满足这种计算关系,所以在每一步计算的结果都会进行round计算,所以产生两次无税单价不同的问题。

微信号:yyrjlls
技术咨询,有偿服务!
复制微信号
本文链接:https://www.bbsufida.com/u8/40410.html