ofbiz 业务代码剖析 (2)
2 库存成本的计算和移动平均法
? 库存成本的计算,我们看一个例子
? 2月2号 购入原材料m1 1000 个,价格100 $
? 2月6号,购入原材料m1 1000 个,价格 200 $
? 2月8日,卖出原材料m1 600个,那成本是多少呢
? 按移动平均法,成本是 (1000*100+1000*200)/2000 = 150 $
? 按后进先出,成本是就是200 $
? 按先进先出,成本是就是100 $
? 有了成本,就可以立刻得到销售利润
? 但是在实际的业务中,由于有进货,退货,各种库存移动,物理库存变动,因此,库存成本的计算要比上面描述的要复杂,一般分为即时计算和月末计算
? 即时计算是业务发生时就立刻计算这时的移动平均价或后进先出法 先进先出的价格,并写入销售单据(出库单据),对计算速度要求高,并要求软件逻辑必须考虑全面
? 月末计算是业务发生时不计算成本,到月末时,把入库单据和出库单据按时间顺序排列,从头开始计算成本,并回写到出库单据,一般要计算比较长的时间,有的erp单独设置了 存货核算 模块
? 对于即时计算来说,我们需要有一张表,保存着所有产品的移动平均价 当前数量
? 比如在该表中,产品m1,当前数量 20000,当前移动平均价 150 $
? 现在入库m1 10000 个,价格 300 $
? 那么 当前移动平均价=(20000*150+10000*300)/(20000+10000)= 200 $,当前数量变成 30000
?