第08个决定 决定单据总金额的计算方法
ERP 程式里的主要程式常是Master-Detail (主表 明细) 的架构,例如:订单程式、採购程式等,这些有带数量、单价和小计金额的,其单据总金额(NTD ,先不计税)如何计算? 如你问ERP的程式设计师,应会得到以下2个答案:
1.明细不做任何处理,先全部加总后再四捨五入
2.明细单笔小计先四捨五入后,再全部加总成单据金额
我们以订单金额为例,假设某订单有2笔明细资料
料号单价数量
A01 2.483
A02 3.327
第1种(先全部加总后再四捨五入)单据总金额的计算方式
(2.483)+(3.327)
= 7.44+23.24
= 30.68
= 31
第2种(单笔先四捨五入再加总)单据总金额的计算方式
(2.483)+(3.327)
= 7+23
= 30
2种计算方式误差达1元,这只有2笔而已,如订单笔数达上千笔,那误差值更大,所以,在写ERP程式之前,要先定义好单据总金额的计算方式,计算公式最好先问一下会计部门人员,并获得会计部门主管认同,否则写错了又要重写。
笔者一开始从事写ERP程式写作时,因没有经验,所以是採用第一种方式,总金额就是明细金额全部加总起来再四拾五入到整数。结果月底结帐被会计经理叫去「指导一下」,他说以会计原则来讲应是第2种方法才对,要先将明细每一笔金额先四拾五入计算到整数后再加总。
于是我费了一些时间将程式全部改成第2种方式,结果改完隔天又被业务经理叫去骂,说客户认为我们ERP 订单程式有问题,计算出来的总金额和客户用掌上型计算机打出来的总价格不一样,因为客户是用第一种方式计算的,其单据总金额和我们用第二种方式计算的总金额当然不一致。我说这是会计原则,业务经理说他不管,客户最大,一定要我改。
这就难为我这小小程式设计师了,因我不可能又将程式改为第一种单据金额计算方式。
后来找到解决方法了…………………..后续。