一、算法描述
1、功能说明:用每次采购入库的成本和在库产品的成本做平均计算
2、公式:(采购入库产品的总成本+在库产品的总成本)/(采购入库产品数量+在库产品数量)
注意:
- 触发条件:每次采购入库时,更新成本(也包含:采购退货、采购入库撤销等与采购有关的库存变化)
- 如果采购单有税率,采购入库总成本=采购单含税单价*数量
二、算法说明
首先:由boss账号开启先进先出成本算法
1、 采购入库时无库存
启用加权平均时,库存为0,第一次采购入库价格(含税单价),赋值到产品信息中的成本价格
注意:编辑采购明细时,产品成本会自动按照采购时的单价计算成本。若开启了税率,则按照税后单价计算成本。
2、采购入库时有库存
启用加权平均时,库存不为0,每次采购价格和数量与产品表中的当前库存数量和成本价格做平均计算。
举例:启用加权平均算法时,当前库存数量5,设置初始成本3200。采购入库含税单价3616,入库数量8。产品表显示成本3456.00
成本=(5*3200+3616*8)/ (5+8)= 3456
3、采购退货
采购退货后成本计算公式 :(采购入库产品的总成本+在库产品的总成本-采购退货总金额)/(采购入库产品数量+在库产品数量-退货数量)
注意:退货成本价格是采购单中的价格为准,不以退货明细中编辑的单价计算。
举例:采购单价是3616,退货时,编辑退货明细改为单价3000。加权平均时,是按照3616计算产品成本的。
成本=(3616*8+3200*5-3616*2)/(8+5-2)=3426.90909 精确到小数点后两位,四舍五入为: 3426.91
4、采购退货撤销
采购退货撤销,相当于 新采购了 同样数量,和初始采购一样单价的 产品 一样的算法。撤销后,产品成本仍然按照采购单的(税后)单价来计算。
计算公式:(采购入库产品的总成本+在库产品的总成本)/(采购入库产品数量+在库产品数量)
举例:采购单退货了2个产品,按照当前采购单税后单价计算
成本=(2*3616+11* 3426.91)/(2+11)=3456.00077 精确到小数点后两位,则四舍五入 3456.00
5、采购入库撤销
1)产品未出库状态
没有出库情况下,撤销采购单入库后,重新按照现有已入库的采购加权平均
举例:
1)产品现有库存5,产品成本为10,第一次采购了2个产品,采购单价11.3,第二次采购3个产品,采购单价13.56
2)撤销第一次采购的产品后,成本计算公式:(采购入库产品的总成本+在库产品的总成本)/(采购入库产品数量+在库产品数量)
成本 =(5*10+3*13.56)/(5+3)=11.335 四舍五入后为 11.34
进行两次采购
两次采购后,未出库情况下,撤销第一次采购入库,产品成本会重新核算
2)产品已出库状态
有出库的情况下,按照以下公式计算成本 :
(产品表成本*现有库存 - 撤销的采购成本*数量)/(产品表库存数量- 的数量)
说明:如果撤销的这笔采购成本比平均值偏高或偏低,会在重新加权计算成本时出现“异常”偏低或偏高的成本,这是通过严密公式计算出来的,不是错误!
举例:
1)入库:产品现有库存5,产品成本为10。第一次采购了2个产品,采购单价11.3,第二次采购3个产品,采购单价13.56。此时产品库存为10,成本为11.33
2)出库:出库5个产品。此时 产品库存为 5,成本为:11.33
3)撤销:撤销第二次采购。按照成本计算公式:(在库产品成本*在库数量 - 撤销的采购成本*撤销数量)/(产品库存数量 - 撤销数量)
成本 =(5*11.33-3*13.56)/(5-3)=7.98
3)撤销后库存为0或负库存
如果撤销采购入库单后,库存为0或负库存,产品的成本按最后一次采购价计算。
举例:
1)产品现有库存5,产品成本为10。采购了2个产品,采购单价11.3。当前库存为7,成本为10.37
2)此时出库5个产品。当前库存为2,成本为10.37
3)撤销采购单,库存数为0,产品成本价显示为:11.3
--END--