ERP——采购模块产品设计

koi
10 评论 17083 浏览 282 收藏 26 分钟

在进行特定的业务之前,都需要采用商品,采购由专门的部分与人员进行需求的计划、执行。那么,为了支撑以上需求,需要采购系统来从中规范流程,提高效率。本文详细介绍了采购模块的产品设计流程,希望对你有所帮助。

一、采购简介

采购的日常工作用一句话总结就是在合适的时间,选择合适的供应商,以最合适的价格,采购合适质量和数量的产品。这也是采购的 5R 原则。

上述的采购的工作准则,但是在采购前需要做计划,也就是常说的备货计划,一些具体的公司有专门的计划部门,来决定什么商品进行采购,采购多少量。然后将这些信息形成一个采购需求,下推给采购部门进行采购。

要支撑上面的描述,离不开采购系统的支持,虽然各公司对采购部门的职责和工作内容都有出入,单大体都相同。

二、采购流程

本文介绍一下采购模块的系统设计,了解任何业务的第一步就是先了解主流程,采购模块的下单主流程如下:

上面只是一个采购的主流程,并不涉及一些细节,仅供参考,具体还是需要根据实际业务进行设计。

三、采购管理系统功能构架

四、采购的方案设计

4.1 备货计划

再聊备货计划前,先聊一下在公司中常见,也是最简单的一种备货场景,销售发现自己负责的一款产品,订单量很稳定,销量也高,但是产品的库存不足,为了保证订单的履约时效,销售会提采购需求让采购提前采购一批货放到仓库。

根据上面所描述的场景,备注第一步就是需要知道哪些产品需要补货,根据下面表格的数据,你会选择哪些产品进行备货?

  • A001是最理想需要备货的产品,每天的销量不高,但是每天的销量稳定;
  • A002某2天的销量较高,但单量不稳定,备货有滞销风险;
  • A003几乎每天都有订单,也可以进行备货,但是存在少量滞销的风险。

站在销售的角度,在备货的考量中“稳定的订单量>销量”,滞销是备货重点考量的一个因素,同时也是根据历史订单量和销量数据来判断产品是否需要备货,备货多少数量。

根据历史数据推断总会出现误差,比如某个产品的历史数据很好,之后这个产品就一直不出单,如果恰好这个产品的采购单价很高,那么这个产品的滞销成本也就非常高,这就引出了备货的第二个重点考量因素,采购单价。

试想一下,如果某个产品的采购单价为1W,备货1000个,就是1000W,针对这种高货值的产品,备货往往也是非常谨慎。

针对上面谈到的2点,来做一个小结:最理想的备货产品为每天销量高,订单量稳定,采购单价不高的产品。

备货计划的公式分析:

所有的备货逻辑都可以用一个公式概括,备货量=目标库存-当前库存。要触发备货计算,需要知道产品的备货点,备货点的设计常见有以下3种:

  1. 以安全库存作为备货点;
  2. 以过去X天的销量作为备货点;
  3. 以安全库存+过去X天的销量作为备货点。

类似水库的水位,当水库的水低于水位,就触发警报。采购中的备货点的逻辑也是这样,以上述第3种方式为例,备货点=日均销量+安全库存,这个备货点的计算并不完善,如果备货点的库存只支持5天的销量,但是供应商平均的采购交期需要7天,这样就会出现一种情况,在第5天的时候,公司的货已经买完了,但是供应商还有2天才把货送到。

所以备货点=采购交期*日均销量+安全库存,当然这个公式其实也不完善,做的更加精细化,可以将“采购处理时间”,“仓库的入库时间”等等因素,若涉及到海外仓,还需要考虑头程时间,海外仓的入库时间等等。

我们知道了备货点的计算,当货品的库存低于备货点,生成备货计划,那么备多少货,首先需要知道当前的库存有多少。当前库存=采购需求中的库存+在途库存+可用库存,其中在途库存=采购在途+调拨在途,若涉及海外仓,还需要考虑海外仓在途。

这里在多说一句,我之前待过的一家公司,供应商把货送到仓库,理货组把货签收了,此时并不计算货品的库存,只有上架后,才计算货品的库存,那么这种情况,当前的库存还需要加上采购待上架的库存,当然还是需要根据公司业务来设计方案。、

目标库存比较好理解,就是业务方想备多少货,通常这也会根据历史销量来推断备货量,如被10天销量的货,那么目标库存=日均销量*10+安全库存。

同样的目标库存的计算也需要考虑采购交期、采购处理时间等因素,根据上面计算公式,举个例子:安全库存为0,需要备10天的货,目前库存=100,当前库存为20,采购交期为3,根据这些因素得知,需要采购80=100-20个库存。又因为当前库存为20,采购交期为3,在采购到货的前一天,当前库存就卖完了,所以最终只备货了80个,8天的库存。

所以最终目前库存=(日均销量+采购交期)*10+安全库存,采购的处理,入库时间是否需要考虑,就根据公司业务处理。

借用木笔大佬的备货计划图,如下所示:

我上面说的是一个非常简单粗暴的公式,实际上要考量的因素会比较多,如:节假日、季节等因素。目标库存的计算(销售预测)有几下几种方案

平均法:

y=(x1+x2+x3)/3

如预测9月份的销量,9月份的销量=(8月销量+7月销量+6月销量)/3,这样就能够计算出来9月份的销量,从而来计算备货量。我上述推演的备货计划计算公式使用的就是这种方法,其中目标库存的公式中,“日均销量”采用的就是这种方法。

移动加权平均:

y=x1*n1+x2*n2+x3*n3

上述公式中的n为权重系数,预测9月份的销量,其中8月、7月、6月的权重系数为:0.5、0.3、0.2,那么9月份的销量=8月销量*0.5+7月销量*0.3+6月销量*0.2

易仓、店小秘在计算备货量时,提供了这种方案供用户选择。

指数平滑法:

y=a*x1+(1-a)*x2

  • y:本期预测销量;
  • a:0-1之间的权重系数;
  • x1:上期的实际销量;
  • x2:上期预测的销量。

指数平滑法本质就是一种特殊的移动加权平均,通过调整a来进行销售预测,如:上期实际销量为20,预测销量为10,a为0.7,本期销售预测=0.7*20+(1-0.7)*10,计算出来的结果为17,那么本期预测的销售为17。

调整过来a,来优化计算模型,a越大就越偏向实际销量模型计算,反之则偏向预测销量模型计算。

相似品预测法:

对于新品,没有历史数据,不能用上述的3种方法进行销售预测,可以根据商品的属性,如:分类、颜色、价格等等属性,找到相似的商品,根据相似商品的销售数据来推测新品数据。

小结:销售预测是一个非常复杂的功能,需要庞大的数据来搭建公司的销售预测模型,这里只是提几种方法。

4.2 采购需求

整个采购需求的业务流程如下:

采购需求的页面如下(仅供参考):

采购需求该功能主要是给销售等业务部门使用,由业务部门来确定要什么货(产品),要多少(数量)。

因为业务部门人员水平有差异,有些业务人员提出的需求并不合理,可能导致采购的需求过多造成产品的滞销,所以在业务员提采购需求后,不过直接给到采购,而是会在两者之间设一道审核的坎,一般由组长或专门的审单员进行采购需求的审核。

上面说的是由人工提交的采购需求需要审核,那么低于备货点自动生成的采购需求是否需要进行审核呢?这个根据个人的经验来说这个逻辑可以做成可配置,或者做成对应策略。如:采购货值<XX,就不需要审核之类的。

采购需求还需要有合并的功能,如果多个业务人员提出的采购需求相同,应该将采购需求合并,避免多次找同一个供应商采购产品。

MOQ:

MOQ为最低的起订量,如:必须采购10个,供应商才会发货。所以在创建采购需求时,系统自动选择满足MOQ最低的采购价。

此时采购A产品10个,根据“满足MOQ最低报价”的规则,系统会选择单价10的报价。

是否需要在采购需求阶段使用“满足MOQ最低报价”规则,需要根据公司业务而定,我上家公司需要在需求阶段展示,是因为销售在提交采购需求时,需要计算采购商品的利润。

4.3 采购单

采购单创建流程如下:

手动创建采购单,当时我发现有的系统手动创建有2种方式,一种是一种是有业务部门发布采购需求,下推生成采购单;另外一种则是由仓库负责发布采购单。

当时觉得很奇怪,一个货品是否需要采购,是由业务部门决定的,仓库肯定不能决定采购什么货品,后来和一些同事聊天得知,这2者主要是公司的业务和岗位职责的划分有关。

在外贸公司几乎不涉及到原料,公司的大部分产品都是成品,由销售负责货品的销售,销售把控库存,这种情况就是由销售下发采购需求,采购只需要执行采购需求。

在一些生产公司,销售和其它业务部门对原材料和辅料的感知程度较低,库存采购负责,这个时候就需要采购创建采购单,进行采购。

这里说一下销售转采购,本质就是用户下的销售订单缺货,然后吧缺货的部分快速生成采购单。

采购单的界面如下所示(仅供参考):

根据上面的原型图,结合业务一步一步展开来说,首先就是采购的下单,有2种方式方式:

  1. 线上下单:采购在1688或者淘宝等网站上寻找货源,并直接在网上下单采购,通过接口与1688网站进行数据交互。
  2. 线下下单:采购与供应商进行线下采购和交易,在系统进行采购单的数据补录。

线上下单,必须是采购选好货品后付款,供应商才会发货,类似我们在淘宝上购买东西,只有我们下单付款,供应商才会发货,整体的流程如下(以1688下单为例):

由上述流程可知,线下和线上采购的区别在在于线上需要,线上采购需要调用平台接口,与第三方平台进行交互。在跨境电商行业,采购单的创建区分了线上和线下(如:马帮、店小秘等),而国内电商则没有进行区分。

线上与线下下单,在财务方面的区别就是,线上下单必须“先付款再下单”,以1688为例,1688可以开通类似“花呗额度”,可以先使用额度给供应商付款,后期在还款。

线下下单通常走预付款、货到付款、账期几种形式。

  • 预付款:预先支付供应商付款的X%。
  • 货到付款:供应商把货送到仓库,且成功签收后,进行付款。
  • 账期:账期与预付款可以结合,供应商把货送过来后,XX天后结尾款,这个XX天就是账期。

因为线上和线下采购的缘故,在采购时就会有一些特殊场景:

下单的数量不满足MOQ(最小起订量),但是向供应商买一些其他的产品,保证供应商发货;

  • 供应商一些产品在线上卖,一些产品没有上架到线上,这种情况可以创建分别创建线上和线下采购单;
  • 供应商线上卖的是组合产品,但是我们只需要其中一个,这个时候也只能在系统层面创建一个线下采购单;
  • 同一个供应商有几个线上马甲。

上面说的都是系统流程,在业务层面的流程更加复杂的多,采购在下单之前会和供应商确定是否有货,下单的数量和单价供应商是否接收,是否能够在货期内到货等等,业务流程如下:

采购成本的计算:

在采购单中除了产品本身的货款,还有货物的装卸费、运费、供应商优惠额度等等费用,在计算采购成本时,需要将这些费用分摊到SKU,常见的分摊方式有3种:按照采购数量分摊,按照采购重量分摊,按照采购金额分摊。

这里以采购重量分摊为例,把运费进行分摊,计算公式:SKU的采购成本=采购货款+(SKU的重量/采购单中所有SKU的重量)*运费

其它分摊的计算公式也如上述一致,可能有同学不懂这个计算的意义在哪里,这个数据主要用于毛利的计算。如:A产品采购10个,计算出来的采购成本为100元,如果毛利想要达到50元,那么就需要卖150元(每个售价定15元)。

注意:这里的毛利和净利润不一样,具体毛利和净利和区别,我就不细说了,请大家去百度吧。

其中采购单到货后,采购将到货的数量下推到仓库,生成到货通知单。

采购单:到货通知单=1:N

最后在说一下采购单的状态,任何单据,订单的状态机都是非常重要的。采购有业务状态流和财务状态流,可以根据有“入库状态”和“结算状态”字段展示不同流程的状态。

入库状态:

  • 待入库
  • 部分入库
  • 已完成

付款状态:

  • 待付款
  • 部分付款
  • 全部付款

这里说一下“已完成”状态的细节,当WMS系统签收的数量=采购数量,代表全部入库,此时采购单自动标记为“已完成”。

还有一个手动标记“已完成”的场景,采购的商品只有部分签收,剩余的商品供应商不送了,这时需要手动标记“已完成”。

4.4 采购退货

采购退货的整个流程,如下图所示:

采购退货其中有2种退货方式,一种是直接退货,另一种是退换补发,上图的业务流程描述的是退货,代表这个货不要了,供应商需要将相应的货款退给公司,所以生成相应的采购结算单。

另一种则是退换补发,最常见的就是不良品,需要供应商重新发一批货过来,整个的流程与上述一致,只是不需要生成采购结算单。

采购退货单的设计和采购单的设计非常像,但是采购退货单是关联采购单,采购退货单的交互图如下:

采购退货单都是引用采购单,因此一个采购单可以生成多个采购单退货单,但是退货的数量不能>采购的数量。

这里有一个细节需要注意,因为采购退货单的创建,需要输入采购单号,那么退货的采购单价,直接读取采购单的采购单价。这个细节需要注意是因为我知道某个大公司并不是这样做的,以至于埋下了一个大坑。

如果供应商也有信息化系统,可以做一个采购退货的通知功能,通知供应商你已经发货。

4.5 采购费用开单

采购的费用开单主要作用于费用的补充和费用数据的对冲,常见的场景有:采购单的运费填错了,费用少了;采购过来需要有卸货费用等等,这些费用需要计算到采购单,计算采购单中SKU的采购成本。

交互图如下:

这里说一个题外话,根据我的项目经验,采购单中所有的信息都有可能填错,最常见的就是运费填写,因此我们可以将这些信息分成2类,业务信息和财务信息。

  1. 财务信息:运费、装卸费、采购费等等;
  2. 业务信息:接收仓库、采购员、签收员、供应商、SKU等等。

其中财务信息填错了,可以使用“采购费用单”进行数据对冲;业务信息填错了,个人建议重新创建新的采购单,至于原填错的采购单,如果下推到了仓库,进行了签收,那么在仓库创建“出入库单”进行“库存平账”。

4.6 采购结算单

一个采购单和采购退货款产生的所有费用会生成一个采购结算单。

采购单/采购退货单和采购结算单的关系为1:N。

结算常见有3种方式:

  1. 预付:采购预付款
  2. 按账期结算:与供应商协定,如每月月底结算货款
  3. 到货后结算:每完成1/N次履约后,就进行结算

不同的结算方式,采购结算单的创建也不同,如:预付,在成功创建采购单后,预付金额就生成相应“待审核”的采购结算单;账期的话就按照账期,生成相应“待审核”的采购结算单。

采购结算单审核通过后,提交给财务进行销账。

采购异常情况:

商品质量不合格:

签收100件商品,其中10件为次品,那么正品库存+90,次品库存+10。后续在通过采购退款,仓库的次品库存-10。

数量不符合:

1)少货

少货有2种情况,一种是供应链送过来的货确实少了,这种情况需要供应商吧剩余的货送过来;另一种则是供应商分批送货,并没有告知公司。

如:采购100个,供应链送了80个,这80个商品是否生成采购结算单?还是等到剩余的20个送过来后生成采购结算单?这种情况就根据公司业务设计,我之前的公司的业务为必须采购单完成才会生成结算单。

2)多货

有2种处理方案,一种是直接签收上架,另一种则是将多余的部分退回给供应商。

如:采购100个,供应商送了120个。

  • 签收120个,上架120个,结算时按照120个结算
  • 签收120个,上架100个,20个退回给供应商,结算时按照100个结算

错货:

采购100个,供应商送了100个,其中40个错货。

  1. 方案1:全单全部拒收,等待供应商重新送货
  2. 方案2:签收60个,并先上架,剩余部分退回给供应商,至于是先按照60个结算,还是等供应商把剩余部分送到仓库再结算。这2种方案都可以

五、总结

供应商模块文章就不进行更多说明了,实际上本文说的是市面上通用的产品设计方案,其中整个采购的难点在于采购的费用相关,如:采购的费用对冲影响历史数据、供应商的评分等。

一些偏向生产类型的公司,有自己长期合作的供应商,采购的商品也复杂多样,涉及原料、半成品、成品等。这些公司的会将采购模块抽离出来,单独做一个SRM系统,这就会涉及到采购合同、样品、供应商考核、供应商评分、询报价、比价、供应商返利等等操作。

在财务方面本人接触的不深,比如和供应商的对账出现了差异,生成差异单的处理。供应商的应付和财务的核销等等操作,有懂的老哥可以在本文留言,一起探讨。

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

题图来自 Unsplash, 基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. 补充一个场景:如果是生产制造企业,还会存在按交货计划来采购、收发货,交货计划是基于MRP跑出来的缺料计划,基于采购订单来生成交货计划单。

    来自江苏 回复
  2. otd流程

    回复
  3. 已入库上架的SKU,采购退货的时候应该是不知道对应的采购单据的,这直接关联到采购单上不太合适吧?

    来自广东 回复
    1. 采购退货肯定要关联采购单啊,这样才知道那个采购单发生了退货

      来自广东 回复
    2. 真实业务场景中,已入库上架的产品,当发现有不良品需要退货时,产品上是没有标识属于哪个采购单的不良品,这时就不能关联到采购单了;如果还没入库是可以直接关联到采购单的

      来自广东 回复
    3. 零售业务来货频繁的时候,现场人员确实不知道是哪个采购订单的货,分场景提供两种处理方式,无法区分的按照商品维度退、能够确定具体采购单的引用采购单退。

      来自广东 回复
  4. 想请教下:作者写的是采购单:到货通知单=1:N,像供应商分次到货的这种,是生成多个收货单是吗?所以这个到货通知就是一个下发到wms总单据?到货通知单:收货单=1:N?

    来自广东 回复
    1. 我们设计是允许针对一个收货通知单,多次收货。

      来自广东 回复
  5. 线上下单的图没有贴过来

    来自湖南 回复
  6. 写得太好了,顶!

    来自广东 回复