20180128-ERP与电商库存模块的异同

Posted by PaymentGroup on January 28, 2018

主题分享

先用白话简单介绍一下什么是ERP(企业资源计划),它是对整个企业资源(人、财、物)并提供需求计划(MRP)支撑决策的管理系统。

很多人对ERP的认识停留在进销存管理系统的概念上,其实在供应链管理中计划模才是整个业务调度的关键,而在电商场景中我们也可以看到类似ERP中计划能力的体现,比如说京东基于大数据预测对供应链的优化(商家的补货、仓库间的商品调拨、仓储管理等等),而ERP中计划也是以解决供/需平衡为基础发展起来的(比如以销定产按订单模式,按库存模式,按装配模式等),当然电商是面对的销售层不涉及到生产制造,所以这块相对来说更可控一些。这里不是主题分享就不细下展开了。

1、一些概念

  • 仓库:仓库是真正管理物理仓库存储的货物,在企业内部有个职位叫 “仓管” ,比如他的职责就是接收采购入库,销售出库,仓库之间的转移、产线上的发料等。
  • 库存: 库存系统是基于仓库之上满足各类业务需求管理的模块(比如说虚拟库存等)。
    比如在电商场景中商家对仓库中产品进行上架,下架,各种销售控制等。严格的说电商这块设计上应该包含:销售层、调度层、仓库层。在业务场景上电商因为是面对销售层的,很多开源电商软件只做了销售层这一块。

而在ERP中库存模块分为四大块:基础设置,库存计划,物料调拨,仓库管理。前两项功能远远大于三四项,而国内进销存软件的库存模块往往是从仓库这个角度去看待的,所以只做了仓库管理这一块,而ERP如前面所说计划能力才是关键。

2、 入库出库

  • ERP入库:供应商(采购接收),客户(退货),车间(半成品入库、废料入库等),库存(库存间转移),账户(杂项入库)。
  • 电商入库:商家(盘点调库),商家(采购补货),客户(订单逆向流程退货),客户(售后换货) ERP
  • 出库: 供应商(退货),客户(销售发放),车间(发料),库存(库存间转移),账户(杂项出库)
  • 电商出库:商家(盘点调库),客户(订单正向流程销售发放),客户(售后换货)

3、关于库存扣减

ERP中的所有库存移动(采购接收,销售发放,库存间移动,杂项等等)都是通过库存事务处理来完成,并且以会计科目为核心汇总所有事务类型的会计信息导入到总账系统。并且从技术角度提供了事务处理接口可以方便开发人员对接。

题外话:ERP中所有主模块核心都提供了接口,这样可以站在这个通用平台上开发各类业务模块的对接(比如财务接口(发票,总账……),库存接口等等)。 电商中的库存由于不涉及到成本这块,更多是面向用户端销售的虚拟库存,所以这块一般专注在高并发情况下对库存的操作,业务上常用扣减手段是先预占的方式(锁定库存,可用库存,在途库存等等)。

4、一些技术

ERP属于典型的中心化业务管理不存在高并发情况,一般统过系统全局的并发管理器来处理,而电商场景中对高并发使用组合手段较多(比如限流,熔断,降级、缓存 等)。

在高可用/高可靠上,企业级ERP的做法一般是HA来做高可用,同时运维这块也有冷备(需停机)、热备(例如rman),远程容灾之类的,而电商这一块也有类似的手段(例如mysql的多主多从),保证高可用的核心准则是冗余方法,在各个服务层级(站点层,服务层,缓存层,数据层等等)增加冗余保证高可用。

5、交流讨论

我也是看了一些主流电商相关的库存设计,和以前ERP中的库存来对比看的
电商相对考虑得更多对外服务,而erp只是功能性流程为主
一般APP的电商只做了销售层这块(类似面向用户的虚拟库存上),所以在数量上都不需要这么严谨,只有保证有可售数量就行
电商外围有客服系统,营销系统,仓储调拨系统,资金周转系统等等
是的,那是最基础的,我们叫做电商1.0
稍微复杂一点的电商(比如京东)有供应链系统,这个时候除了销售层面,还需要仓库管理功能了
是的,其实在转变3.0系统
就是叠加上金融属性<比如货物保理业务,众筹,信贷,否则电商盈利堪忧
这也是很多垂直类电商到最后成全品类了,当分销渠道没有优势了,只能从多元化的模式上去补充
但是全品类也不好做,毕竟资本运作要求更高

20180128_213430

因为电商站在销售层,一般不用关心这么多,而仓库管理,调拨这些本身需要和业务流程紧密结合,现在几个大厂应该都是在对接上处理

20180128_214207


Q&A

Q1: 电商入库和ERP入库差别是什么?电商入库只是电商系统预定库存吗?

A1: ERP入库出库这些操作是通过库存事务管理来统一处理的,最大的不同是ERP会造成资产值的变化。
A2: 是的,erp还有固定资产的折旧
A3: 传统的手工模式由会计依据,出入库单手工制作凭证,然后向总账过账来完成的,而ERP是自动化流程,通过成本管理器和事务结合来处理的。
A4: erp还有结合财务报销等一些内部管理制度相结合 20180128_214837 如图所示,这个是事务管理器,每一笔库存移动都通过它来看到明细
A5: 最大的不同是ERP会造成资产值的变化,相当于账务系统会计分录中资产部分会变化
A6: 而电商中是站在销售层(虚拟)去做的,但业务流上也会有入库/出库(订单的正向逆向)

Q2:那电商系出入库更像是调配的结果记录? A1: 20180128_215110 A2: 这里可以看到一般的电商只有销售订单发放和售后退货
A3: 技术这块,涉及到事务处理的一定要有明细,不能直接加减库存,而电商中通常用的手段还会在头上做一些冗余字段
20180128_215600

Q3: 感觉电商里面应该有库存冻结的概念吧?
A1: 有的,类似余额这样的设计,可用余额,冻结余额,不可用余额。。。
A2: 那其实ERP更多是偏向仓储管理(供应段管理),电商这块所谓的供应段更多就是提货
A3: 在传统概念上,库存很容易和仓库联系起来,如果看一下国内很多ERP基本就进入了一个误区,就是以仓库的角色去看待库存了

本文档来自“支付产品架构交流群” 的聊天记录整理,由志愿者整理并发布到本网站。如需要及时收到来自“支付产品架构交流群”的最新消息,请扫码关注“凤凰牌老熊”的微信公众号。目前支付产品架构群还有不少空位。 本群面向支付行业的有经验(2年以上)的产品经理、软件工程师、架构师等,提供交流平台。如想加入本群,请在本文评论中留言(不公开),说明所在的公司、负责的工作、入群分享的主题和时间。