EPR系统篇:我接手了一个烂尾楼(一)

3 评论 7475 浏览 14 收藏 15 分钟

编辑导语:在工作中,经常需要接手一些遗留下来的项目,这些项目往往存在着不少问题。本篇文章作者结合亲身经历,根据项目中存在的问题,一一拆解解决过程,与大家分享如何快速有效的接手项目。

一、项目背景

中途接手一个已经在开发中的ERP项目,收集到的信息如下:

  • 该项目原本由不存在相关经验的产品和技术进行跟进,且短期内不会有专业供应链开发入职;
  • 业务方非常不满意,认为开发进度缓慢,无法有效支持开展业务;
  • 当前库存混乱且长期无法解决,财务做账困难,且无法进一步分析该项目运营情况;
  • 运营该项目的团队此前没有类似经验,相关业务流程及规范不完善;
  • 收银系统为外购部分,生态比较闭环,不适用我司实际情况;
  • 第三方仓库为外包,仓库管理混乱,仓库账面库存和实物不准确。

基于以上情况,该项目目前产出的成果质量问题严重,人力储备不足且不专业,运营管理及仓储管理混乱,可谓是内忧外患;因此优先考虑收尾并关闭项目,重新外购一套成熟系统;但最终出于成本的考虑,公司还是决定继续自研。

二、项目开展规划

既然已经定下继续自研,因此进行以下方面准备:

  • 收集当前所有相关方的业务瓶颈及功能述求,提出相关解决方案;
  • 结合已有成果及业务述求,对系统功能框架,数据流,表结构进行整理,重新制定整体框架;
  • 向公司申请更多产品及技术资源,包括招聘专业的人才;确保有足够且有经验的人力。
  • 进行以上准备工作后,开始着手对系统进行优化及完善;整体方向以稳定原有业务功能为主,其次开发新功能满足业务刚需。

三、库存问题根本原因分析

目前已知的实际情况为:门店与ERP系统库存不一致,仓库与ERP系统库存不一致,门店账面与实物库存不一致且差异较大,仓库账面与实物库存不一致且差异较大。

对于门店系统或仓库系统实物与账面不一致的情况,可以通过对门店/仓库进行盘点,找出盘点差异数值比较大的库存记录,通过与业务及三方系统开发核实查找问题;这里不详细展开。

对于ERP系统与门店或仓库库存不一致的情况,理论上可以通过对比两边系统的库存变动明细,来发现库存变动确实或数量有差异的场景;但由于缺少库存变动明细数据,因此我们决定对比库存差异变动趋势来发现问题,若两边库存的差异在逐步扩大,则该商品库存在两边系统的库存处理可能会存在问题。

1. 门店库存差异分析

库存对比监控:拉取每天凌晨门店库存数据与ERP门店库存进行对比,计算当天库存差异值,第二天再次拉取数据并计算差值;相邻的两天库存差异纯在的变动即delta值;当delta值不等于0的情况下,则代表该商品的库存处理在门店系统和ERP系统存在差异。

通过对异常库存的商品出入库记录进行分析,发现库存差异原因如下:

1)门店部分收货,但是门店系统回传的实际收货数量=应收数量,导致ERP库存偏小

根本原因:部分收货时,门店系统回传数值错误。

2)门店负库存销售,但是ERP系统不允许负库存出库,且相关单据未做进一步处理

根本原因1:门店日常实物与账面不一致,但为了保持正常业务进行,需要临时负卖。

根本原因2:配货单下发到门店系统,门店未验收即开始上架销售。

根本原因3:由于系统记录的商品条码错误,导致商品无法扫码出库,重新建一个商品用于出库。

根本原因4:仓库送错货,门店从不知来源渠道收货并销售。

根本原因5:门店入库大包装商品,但按照小包装出售。

3)门店盘点及报损数据未处理,导致数据偏大

根本原因:门店系统进行报损和盘点,但是相关单据并未被拉回ERP处理。

2. 仓库库存差异分析

同门店差异分析方法,对ERP和仓库库存差异变动进行分析,发现库存差异原因如下:

1)仓库部分发货时,EPR冻结库存未释放,可用库存偏小

根本原因:ERP采购单未能同步WMS采购单完结状态,并释放冻结库存。

2)ERP不允许库存为负数,两边库存总数不一致

根本原因:WMS出库单重复回传至ERP处理,导致库存偏小。

3)WMS自建单据的其他出库操作,数据未同步至ERP

根本原因:WMS系统进行报损和盘点,但是相关业务未同ERP进行对接。

四,库存问题优化

1. 问题优化方向

经过以上差异数据监控对比及根本原因分析,从以下几个方面进行处理:

  • 对于仓库和门店系统产生的问题提出,并要求三方系统进行优化或规范。如:数据回传不能重复,部分收货时回传数据修正等。
  • 对于系统已有功能的问题进行修复,包括:冻结库存处理,负库存处理等。
  • 为各种异常场景梳理业务流程,提出系统解决方案,并进行相关功能开发。

由于前期缺少监控措施,导致库存出现异常,相关问题未及时排查,最终库存差异越来越大;因此需对监控措施进行完善。

2. 监控措施完善

结果层面:通过每日定时导或拉取wms及门店系统库存数据,记录相关库存差异值,delta值,生成库存异常记录,并将汇总对比结果推送至企业微信;技术每日检查相关数据,若已处理则提交处理结果并修改状态。

过程层面:对重复回传出/入库单结果,回传出/入库单且可能导致ERP库存为负,两种情况做监控,监控到异常情况,则直接推送告警信息至企业微信;此外由于门店负卖情况比较多,所以对于无法出库的单,增加页面集中展示,便于业务集中查看及处理(理论上门店系统自动生成调整单更合适)。

3. 库存问题解决方案

1)商品多规格/中小包装方案混卖方案

入库时,确定可能最小售卖单位,库存即以该最小规格进行存储;(防止可能出现的中包装卖到一半,需要转换成小包装去卖的场景—该场景下只能换一个商品去销售了)—这里的最小售卖单位原则上是能划分多细就多细,以防止后期可能出现问题。

以上最小规格商品创建后,若后续需要按照中包装或多种商品组合出售时,可以创建组合商品;组合商品由上述最小规格的商品组成,但可以独立设置价格及商品信息进行出售;当商品下发至门店系统时,组合商品也需要下发。

2)门店负卖解决方案

销售排队出库,库存足够则直接出库,并生成出库单;库存不足则状态为待出库,定时轮询直到库存满足再进行出库,并生成出库单和扣减库存(考虑到出库单也需要取成本价,因此取不到成本价的情况下,也不能生成出库单)。

此外为了确保库存能准确体现,可采取类似于在途库存的形式,在相关库存汇总报表里面,展示“待出库数”(考虑增加“待出库库存”表,便于页面展示时汇总统计待出库库存)。

对移动加权平均价的影响:库存总价值还是为正(因为还没真实出库),移动加权平均价也为正;计算移动加权平均价的时候,不考虑在途和待出库库存(若直接允许库存为负数,则会同时存在正数和负数的库存明细,影响移动加权平均价的计算)。

3)门店在途库存和冻结库存

重新检查并设计在途库存和冻结库存逻辑。

在途库存:仓库或门店入库业务单据生效后,即增加在途库存(总库存不变);当业务单据取消或完成入库后,减少对应数量的在途库存(总库存伴随入库单回传后增加)。

冻结库存:仓库或门店出库业务单据生效后,即增加冻结库存(总库存不变,冻结库存增加);当业务单据取消或完成出库后,减少对应数量的冻结库存(总库存减少,可用库存=总库存-冻结库存)。

4)商品资料存储及下发方案

商品下发跟采购单/调拨单/配货单走,否则没有入过库的商品,就会被业务盘点等,导致无缘无故增加库存,或在被盘盈/盘亏时,对应的盘盈入库单无法取到成本价,此外还可以避免门店在门店没有收货的情况下,就直接销售出库了。

正常使用商品名称,规格,条形码,生产厂家,批准文号其中的一项或多项来确定商品的唯一性,但是商品ID需要与这些信息区分开来,便于必要时刻对商品信息进行修改(如商品条码录入错误);商品ID一般用商品分类+固定长度数字的组合,作为通信的唯一ID。

4. 系统功能完善

1)门店收货异常

门店入库单回传至erp系统时,拉取原仓库配货出库单,对比数据并自动生成差异记录,对于差异记录可在仓管进行定责后,自动生成入库单和出库单下发至wms系统(可根据单据类型对不同单据进行虚拟出入库)。

2)仓库报损

由于仓库那边不支持上传报损数据,因此,从erp系统推送报损数据至wms系统;业务操作层面由仓库确定报损的商品后,发邮件至仓管员,仓管员在erp系统上创建报损单,经过相关审批流后,通过出库单的形式推送至仓库进行出库。

3)仓库盘点

由于仓库那边不支持上传盘点数据,因此,从erp系统推送盘点数据至wms系统;业务操作层面由仓库确定盘点的商品后,发邮件至仓管员,仓管员在erp系统上创建盘点单,经过相关审批流后,通过出库单+入库单的形式推送至仓库进行出/入库。

4)仓库内移库

良品/残次品切换:为了便于仓库的作业,同时提供更精准的库存给业务方参考;库存分为两种:良品,不良品;其中良品可用于正常出库作业,不良品可用于报损及退货等;对于ERP系统来说,需要区分以上两种商品状态(也有用库存来区分的),所以当仓库做移库或库存调整导致商品状态变更的情况下,WMS相关单据同步回ERP进行变更。

商品批次控制:为了精准控制仓库的不同批次不同效期的商品数量,库存按照批号(有效期至)进行存储。

5. 库存处理框架

对库存相关处理框架进行改造,分为业务单据-出/入库单-库存的结构;在业务单据产生后,可以直接下发至下游仓库和门店系统,门店和仓库出入库单回传,必须先生成出/入库单,并根据出/入库单对库存进行调整。

对于业务发生在其他系统的(如门店销售,仓库报损及盘点等),统一拉取业务单据存储并排队进行出库,若库存满足则生成出库单后再进行库存调整操作。

五、结语

经过以上的问题查找-分析-解决,基本完成对库存的处理框架的优化,但是整个过程还是比较艰辛且阻力比较大。

由于项目前期严重质量问题,需要重新树立团队信心,取得业务方谅解并降低其期望值;在详细的解决方案上,落实到具体的业务操作流程及管理规范,以确保最终方案最终能落地;此外,需要持续对使用方进行培训及考核,包括集中培训及考核(制作问题并给业务方进行填写)等。

#专栏作家#

本文由 @不桡 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 请问你们的ERP入库最小的单位和门店售卖的商品SKU是一对一,还是可以一对多?如果支持一对多,一个ERP物料号的库存是如何对应多个门店不同商品SKU在不同的业务场景下扣减库存的?

    来自广东 回复
  2. 库存对比监控:拉取每天凌晨门店库存数据与ERP门店库存进行对比,计算当天库存差异值,第二天再次拉取数据并计算差值;
    我之前也提了一个类似的方案,而且由于门店数和商品数过多(可能几千家门店,一个门店一天动销的商品上千),利用了一些统计学的知识,进行不同特征值的商品抽样比对中台和erp的库存,然后进行系统健康度分析

    来自上海 回复
    1. 是的,抽样是不错的优化,数据量大就无法穷举,大家的目的都是持续监控和第一时间发现问题,对于发现的问题直接进行预警并排查;

      来自广东 回复