https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构)

  https://www.cnblogs.com/smh188/p/11534451.html(我是如何一步步编码完成万仓网ERP系统的(二)前端框架)

  https://www.cnblogs.com/smh188/p/11535449.html(我是如何一步步编码完成万仓网ERP系统的(三)登录)

  https://www.cnblogs.com/smh188/p/11541033.html(我是如何一步步编码完成万仓网ERP系统的(四)登录的具体实现)

  https://www.cnblogs.com/smh188/p/11542310.html(我是如何一步步编码完成万仓网ERP系统的(五)产品库设计 1.产品类别)

  https://www.cnblogs.com/smh188/p/11546917.html(我是如何一步步编码完成万仓网ERP系统的(六)产品库设计 2.百度Ueditor编辑器)

  https://www.cnblogs.com/smh188/p/11572668.html(我是如何一步步编码完成万仓网ERP系统的(七)产品库设计 3.品牌图片跨域上传)

  https://www.cnblogs.com/smh188/p/11576543.html(我是如何一步步编码完成万仓网ERP系统的(八)产品库设计 4.品牌类别)

  https://www.cnblogs.com/smh188/p/11578185.html(我是如何一步步编码完成万仓网ERP系统的(九)产品库设计 5.产品属性项)

  https://www.cnblogs.com/smh188/p/11589264.html(我是如何一步步编码完成万仓网ERP系统的(十)产品库设计 6.属性项和类别关联)

  https://www.cnblogs.com/smh188/p/11596459.html(我是如何一步步编码完成万仓网ERP系统的(十一)产品库设计 7.发布商品)

  https://www.cnblogs.com/smh188/p/11610960.html(我是如何一步步编码完成万仓网ERP系统的(十二)库存 1.概述)

  https://www.cnblogs.com/smh188/p/11669871.html(我是如何一步步编码完成万仓网ERP系统的(十三)库存 2.加权平均价)

  https://www.cnblogs.com/smh188/p/11763319.html(我是如何一步步编码完成万仓网ERP系统的(十四)库存 3.库存日志)

  万仓网ERP系统不开源,准备做一个系列,讲一讲主要的技术点,这些技术点会有源代码。如果想看所有源代码,可以打道回府了,没必要再阅读下去了,浪费您宝贵的时间。

  上一篇简单介绍了一下双重库存设计,今天说一下库存的价格金额。

  如果一个企业商品的采购价格和销售价格保持不变,那就简单了,也就不会写这篇博客了。但实际情况是企业从不同商家采购的同一个SKU,每次的采购价格都有可能不同;现在电商平台各种造节,平台的销售价格也会实时变化,那怎样才能准确的计算出订单利润呢?

  在这里就需要引入加权平均价的计算方法来计算库存价格,每次的入库都重新计算加权平均价,一般的出库(采购退货出库除外)不计算。

  加权平均价引用百度百科的计算方法:

  (库存商品期初余额+本次入库商品金额)/(期初库存商品数量+本次入库商品数量)

  举个简单的例子:

  1个SKU在所有仓库的库存(包括调拨在途)是100个,当前的加权平均价是11元,那么当前的库存期初余额是 100*11=1100元。

  本次采购数量10个,采购单价是15元,本次采购金额 10*15=150元。

  最新的加权平均价:(1100+150)/(100+10)=11.36元(取两位小数)。

  此时销售出库的2个,出库的成本价就是 11.36,可以以此来计算订单的利润。

  如果此时进行采购退货,怎么计算加权平均价呢?

  (库存商品期初余额 - 本次采购退货出库商品金额)/(期初库存商品数量 - 本次采购退货出库商品数量)

  接着上面的流水做采购退货出库,退货20个,期初库存是 110 - 2(订单出库) = 108,期初库存金额 11.36 * 108 = 1226.88 元。按期初的采购单(采购价是11元)进行退货,采购退货金额 11 * 20 = 220 , 最新的加权平均价:(1226.88 - 220) / (108 - 20) = 11.44 元。

  

  如果此时用户订单进行退货呢?

  用户订单出库2个,退货1个,期初库存是 88,期初库存金额 11.44 * 88 = 1006.72 元。按订单的出库成本价 11.36 进行退货,退货金额 11.36 * 1 = 11.36, 最新的加权平均价:(1006.72 + 11.36) / (88 + 1) = 11.44 元。

  其中盘盈盘亏和调拨出入库不进行加权平均价的计算。

  好了,就说这么多吧,库存和加权平均价紧密结合,ERP系统实时计算加权平均价,能够准确计算订单的利润,核算存货价值。

  

PS:客官有时间光临我的小站 万仓网 。   

我是如何一步步编码完成万仓网ERP系统的(十三)库存 2.加权平均价的更多相关文章

  1. 我是如何一步步编码完成万仓网ERP系统的(一)系统架构

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  2. 我是如何一步步编码完成万仓网ERP系统的(二)前端框架

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  3. 我是如何一步步编码完成万仓网ERP系统的(三)登录

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  4. 我是如何一步步编码完成万仓网ERP系统的(四)登录的具体实现

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  5. 我是如何一步步编码完成万仓网ERP系统的(五)产品库设计 1.产品类别

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  6. 我是如何一步步编码完成万仓网ERP系统的(六)产品库设计 2.百度Ueditor编辑器

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  7. 我是如何一步步编码完成万仓网ERP系统的(七)产品库设计 3.品牌图片跨域上传

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  8. 我是如何一步步编码完成万仓网ERP系统的(八)产品库设计 4.品牌类别

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  9. 我是如何一步步编码完成万仓网ERP系统的(九)产品库设计 5.产品属性项

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  10. 我是如何一步步编码完成万仓网ERP系统的(十)产品库设计 6.属性项和类别关联

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

随机推荐

  1. google v8

    https://github.com/tongbai168/v8 https://iwebing.lofter.com/tag/chromium  编译动态库 gyp mylib.gyp --dept ...

  2. 网络服务—NFS

    什么是NFS ? NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作 ...

  3. docker 中,修改了 mysql 配置,如何重启 mysql?

    直接重新启动容器: docker restart containerID/containerName

  4. Shell编程 | 脚本参数与交互及常见问题

    在执行一个脚本程序时,会经常需要向脚本传递一些参数,并根据输入的参数值生成相应的数据或执行特定的逻辑. 向脚本传递参数 执行Shell脚本时可以带有参数,在Shell脚本中有变量与之对应进行引用.这类 ...

  5. zz 机器学习系统或者SysML&DL笔记

    机器学习系统或者SysML&DL笔记(一)  Oldpan  2019年5月12日  0条评论  971次阅读  1人点赞 在使用过TVM.TensorRT等优秀的机器学习编译优化系统以及Py ...

  6. 史上最全NOIP初赛知识点

    CSP-J/S 第一轮知识点选讲 \(NOIP\)(全国青少年信息学奥林匹克竞赛)于2019年取消.取而代之的是由\(CCF\)推出的非专业级软件能力认证,也就是现在的\(CSP-J/S\).作为一名 ...

  7. VIJOS-P1325 桐桐的糖果计划

    VIJOS-P1325 桐桐的糖果计划 JDOJ 1432 桐桐的糖果计划 https://neooj.com/oldoj/problem.php?id=1432 Description 桐桐很喜欢吃 ...

  8. function函数——函数的定义及参数

    #_*_coding:utf-8_*_#作者:王佃元#日期:2019/12/21#函数function subrouting \ procedure#函数的意义 # 1.减少代码重复 # 2.更易扩展 ...

  9. ios、安卓的兼容性

    日期转换成时间戳: 安卓下可以使用 Date.parse(new Date('2019-11-18 12:00:00')) 直接转换,结果为 1574049600000 ios下 Date.parse ...

  10. nowcoder911L 最优子区间

    题目链接 思路 用\(f(i,j)\)表示前i个元素,以i为右端点,j为左端点时的答案. 用个"区间修改,单点查询"的线段树维护出第二维.在从左往右枚举i的过程中.将\([lst_ ...