电商公司后台系统中最绕不开的就是库存管理系统了,库存系统属于底层系统建设,至关重要。但不同公司的库存系统规划方案是否类似,是否具有一定参考性呢?库存系统又应该如何定位,如何规划,如何设计库存系统与业务系统的交互呢?又是如何保证库存准确率呢?
今年四月份起,我们一直在做公司的库存系统,但跟京东的李大学总以及从苏宁易购来的部门资深产品专家聊过以后,发现我们现在做的库存管理系统有些畸形。
京东和苏宁的库存系统主要目的在于整合分散在各个系统的库存数据,集中处理库存的增减,然后以结果库存为准,提供库存服务给前端销售网站以及其他应用库存的系统。从系统定位来讲,仓储或其他库存单据源系统需要对单据影响库存的逻辑进行处理,然后把结果同步给库存系统(ISS)。暂且称这个方案为方案一。

再看看我们设计的畸形的库存系统。仓储在每个影响库存的作业节点,都需要调用不同的接口同步数据到ISS系统,而ISS会定义每一个接口的库存处理逻辑,据此更新库存余量。
在这里我们可以看到有几个步骤,1.仓储系统根据场景调用不同的接口;2.ISS接收不同接口的数据;3.ISS根据接口的单据处理库存。而这三个步骤都可能出错,只要出错就会影响到库存数据。暂且称这个方案为方案二。

我们对比下方案一和方案二。
首先,方案一是由业务系统提供库存处理结果,ISS只做增减处理,而方案二中ISS要根据不同接口增加不同的处理逻辑,方案更加复杂。
其次,方案一中库存准确性强烈依赖于源系统的数据,但源系统数据错误时库存系统数据也会错,单纯对比两个系统的库存无法发现库存异常,而方案二如果业务系统或ISS异常会迅速反映到库存准确率上,利于监控。
再次,方案二可以库存系统为中心,优化整个业务系统的库存准确率,而方案一库存优化范围更狭窄。方案一更适合业务系统库存数据没问题,只是想整合库存数据方便提供库存服务的公司。方案二畸形的原因主要在于我们需要通过库存系统来打开库存的问题,优化整个公司系统链条中库存处理不合理的部分。
最后,方案一只能提供结果库存,不管控任何的单据,后续的库存监控只能单独做在每个业务系统,库存系统对实际库存有没有问题基本感知不到。方案二则能够支持后续的货主库存,否则就需要将货主嵌套到各个业务系统中。
方案一和方案二从系统定位和规划来看,方案一更合理一点,更简单一点,也减少了库存系统和业务系统的耦合性。但畸形的方案二是基于公司现状中库存准确率低,无法有效监控,货主库存无法确定归属,共享库存流转不清晰等业务场景输出的,也存在一定的合理性。
理不辩不明,产品规划的方案也需要多次推敲,多次评审,多次对比,才能找出产品规划的方法,才能规划出更加合理的方案。
朋友们,你们公司的库存管理系统也会是畸形的吗?你们又畸形在哪里?欢迎一起交流探讨。