成本价计算逻辑
1.当出入库前后数量大于0时:
成本均价=(初始金额 + 本次发生金额)/( 初始数量+ 本次发生数量)
2.当出入库后,数量为0时:
成本均价显示最后一次出入库的发生价,成本总价为0,若最后一次出入库后,数量为0,成本总价有结余,强制计算为0,差价计入利润表中的商品报损报溢
3.当出库后,数量为负数时:
正数部分的出库按照原来的成本均价计算,负数部分的出库按照该仓库的最近采购价格出库(如果没有最近采购价格,则取参考进价;参考进价取不到,则为0)
4.当入库后,数量为负数时:
a) 采购入库:用采购单据的价格
b) 销售退货入库:不关联单据,取该仓库的最近采购入库价格(如果没有最近采购价格,则取参考进价;参考进价取不到,则为0);关联单据,用关联订单的出库单的成本价入库;
c) 调拨入库:用关联的调拨出库单的成本均价;
d) 其他入库:(不管有没有关联预约单)取出库单建立时候的该仓库的最近采购价格入库(如果没有最近采购价格,则取参考进价;参考进价取不到,则为0);
5.调拨出库单和其他出库单取成本价的修改:
取出库单建立时库存状况的成本价;比如8.10做的库存调拨单(实际调拨),8.11库存变了,那么8.12去做关联这个调拨单的调拨出库单时,取的成本价是建立调拨出库单时刻的成本价;
6.修改单据(线下出库单,销售退货入库单):
a)修改出库单据使实际多出库了:多出库的商品成本价用当前仓库的成本价,如果数量为负数,参考第3条的规则;
修改出库单据使实际少出库了:少出库的商品成本价用当时单据建立时的成本价入库回去;
比如:8.10,有一笔出库单,商品A,数量10,成本价5;
到了8.11,库存状况的成本价变成10了;
然后在8.12,修改这笔出库单,改成数量12,那么多出来的2个商品A的出库成本就是2*10=20;改成数量8,那么少了的2个商品A的入库成本就是5,2*5=10;
b)修改入库单据使实际多入库了:多入库的商品成本价用当前仓库的成本价入,如果数量为负数,参考第3条的规则;
修改入库单据使实际少入库了:少入库的商品成本价用当时单据建立时的成本价出库;
比如:8.10,有一笔销售退货入库单,商品A,数量10,成本价5;
到了8.11,库存状况的成本价变成10了;
然后在8.12,修改这笔入库单,改成数量12,那么多出来的2个商品A的入库成本就是2*10=20;改成数量8,那么少了的2个商品A的出库成本就是5,2*5=10;
7.对于之前的库存为0库存总价不为0的数据,不做改动,但是库存变化后,按照最新的逻辑处理
PS:库存为零调成本价是没有任何作用的。由0盘盈或者盘亏会先参考采购入库的采购单价,找不到取商品信息中的参考价。