ERP——采購模塊產(chǎn)品設(shè)計
在進行特定的業(yè)務(wù)之前,都需要采用商品,采購由專門的部分與人員進行需求的計劃、執(zhí)行。那么,為了支撐以上需求,需要采購系統(tǒng)來從中規(guī)范流程,提高效率。本文詳細介紹了采購模塊的產(chǎn)品設(shè)計流程,希望對你有所幫助。
一、采購簡介
采購的日常工作用一句話總結(jié)就是在合適的時間,選擇合適的供應(yīng)商,以最合適的價格,采購合適質(zhì)量和數(shù)量的產(chǎn)品。這也是采購的 5R 原則。
上述的采購的工作準則,但是在采購前需要做計劃,也就是常說的備貨計劃,一些具體的公司有專門的計劃部門,來決定什么商品進行采購,采購多少量。然后將這些信息形成一個采購需求,下推給采購部門進行采購。
要支撐上面的描述,離不開采購系統(tǒng)的支持,雖然各公司對采購部門的職責和工作內(nèi)容都有出入,單大體都相同。
二、采購流程
本文介紹一下采購模塊的系統(tǒng)設(shè)計,了解任何業(yè)務(wù)的第一步就是先了解主流程,采購模塊的下單主流程如下:
上面只是一個采購的主流程,并不涉及一些細節(jié),僅供參考,具體還是需要根據(jù)實際業(yè)務(wù)進行設(shè)計。
三、采購管理系統(tǒng)功能構(gòu)架
四、采購的方案設(shè)計
4.1 備貨計劃
再聊備貨計劃前,先聊一下在公司中常見,也是最簡單的一種備貨場景,銷售發(fā)現(xiàn)自己負責的一款產(chǎn)品,訂單量很穩(wěn)定,銷量也高,但是產(chǎn)品的庫存不足,為了保證訂單的履約時效,銷售會提采購需求讓采購提前采購一批貨放到倉庫。
根據(jù)上面所描述的場景,備注第一步就是需要知道哪些產(chǎn)品需要補貨,根據(jù)下面表格的數(shù)據(jù),你會選擇哪些產(chǎn)品進行備貨?
- A001是最理想需要備貨的產(chǎn)品,每天的銷量不高,但是每天的銷量穩(wěn)定;
- A002某2天的銷量較高,但單量不穩(wěn)定,備貨有滯銷風險;
- A003幾乎每天都有訂單,也可以進行備貨,但是存在少量滯銷的風險。
站在銷售的角度,在備貨的考量中“穩(wěn)定的訂單量>銷量”,滯銷是備貨重點考量的一個因素,同時也是根據(jù)歷史訂單量和銷量數(shù)據(jù)來判斷產(chǎn)品是否需要備貨,備貨多少數(shù)量。
根據(jù)歷史數(shù)據(jù)推斷總會出現(xiàn)誤差,比如某個產(chǎn)品的歷史數(shù)據(jù)很好,之后這個產(chǎn)品就一直不出單,如果恰好這個產(chǎn)品的采購單價很高,那么這個產(chǎn)品的滯銷成本也就非常高,這就引出了備貨的第二個重點考量因素,采購單價。
試想一下,如果某個產(chǎn)品的采購單價為1W,備貨1000個,就是1000W,針對這種高貨值的產(chǎn)品,備貨往往也是非常謹慎。
針對上面談到的2點,來做一個小結(jié):最理想的備貨產(chǎn)品為每天銷量高,訂單量穩(wěn)定,采購單價不高的產(chǎn)品。
備貨計劃的公式分析:
所有的備貨邏輯都可以用一個公式概括,備貨量=目標庫存-當前庫存。要觸發(fā)備貨計算,需要知道產(chǎn)品的備貨點,備貨點的設(shè)計常見有以下3種:
- 以安全庫存作為備貨點;
- 以過去X天的銷量作為備貨點;
- 以安全庫存+過去X天的銷量作為備貨點。
類似水庫的水位,當水庫的水低于水位,就觸發(fā)警報。采購中的備貨點的邏輯也是這樣,以上述第3種方式為例,備貨點=日均銷量+安全庫存,這個備貨點的計算并不完善,如果備貨點的庫存只支持5天的銷量,但是供應(yīng)商平均的采購交期需要7天,這樣就會出現(xiàn)一種情況,在第5天的時候,公司的貨已經(jīng)買完了,但是供應(yīng)商還有2天才把貨送到。
所以備貨點=采購交期*日均銷量+安全庫存,當然這個公式其實也不完善,做的更加精細化,可以將“采購處理時間”,“倉庫的入庫時間”等等因素,若涉及到海外倉,還需要考慮頭程時間,海外倉的入庫時間等等。
我們知道了備貨點的計算,當貨品的庫存低于備貨點,生成備貨計劃,那么備多少貨,首先需要知道當前的庫存有多少。當前庫存=采購需求中的庫存+在途庫存+可用庫存,其中在途庫存=采購在途+調(diào)撥在途,若涉及海外倉,還需要考慮海外倉在途。
這里在多說一句,我之前待過的一家公司,供應(yīng)商把貨送到倉庫,理貨組把貨簽收了,此時并不計算貨品的庫存,只有上架后,才計算貨品的庫存,那么這種情況,當前的庫存還需要加上采購待上架的庫存,當然還是需要根據(jù)公司業(yè)務(wù)來設(shè)計方案。、
目標庫存比較好理解,就是業(yè)務(wù)方想備多少貨,通常這也會根據(jù)歷史銷量來推斷備貨量,如被10天銷量的貨,那么目標庫存=日均銷量*10+安全庫存。
同樣的目標庫存的計算也需要考慮采購交期、采購處理時間等因素,根據(jù)上面計算公式,舉個例子:安全庫存為0,需要備10天的貨,目前庫存=100,當前庫存為20,采購交期為3,根據(jù)這些因素得知,需要采購80=100-20個庫存。又因為當前庫存為20,采購交期為3,在采購到貨的前一天,當前庫存就賣完了,所以最終只備貨了80個,8天的庫存。
所以最終目前庫存=(日均銷量+采購交期)*10+安全庫存,采購的處理,入庫時間是否需要考慮,就根據(jù)公司業(yè)務(wù)處理。
借用木筆大佬的備貨計劃圖,如下所示:
我上面說的是一個非常簡單粗暴的公式,實際上要考量的因素會比較多,如:節(jié)假日、季節(jié)等因素。目標庫存的計算(銷售預(yù)測)有幾下幾種方案
平均法:
y=(x1+x2+x3)/3
如預(yù)測9月份的銷量,9月份的銷量=(8月銷量+7月銷量+6月銷量)/3,這樣就能夠計算出來9月份的銷量,從而來計算備貨量。我上述推演的備貨計劃計算公式使用的就是這種方法,其中目標庫存的公式中,“日均銷量”采用的就是這種方法。
移動加權(quán)平均:
y=x1*n1+x2*n2+x3*n3
上述公式中的n為權(quán)重系數(shù),預(yù)測9月份的銷量,其中8月、7月、6月的權(quán)重系數(shù)為:0.5、0.3、0.2,那么9月份的銷量=8月銷量*0.5+7月銷量*0.3+6月銷量*0.2
易倉、店小秘在計算備貨量時,提供了這種方案供用戶選擇。
指數(shù)平滑法:
y=a*x1+(1-a)*x2
- y:本期預(yù)測銷量;
- a:0-1之間的權(quán)重系數(shù);
- x1:上期的實際銷量;
- x2:上期預(yù)測的銷量。
指數(shù)平滑法本質(zhì)就是一種特殊的移動加權(quán)平均,通過調(diào)整a來進行銷售預(yù)測,如:上期實際銷量為20,預(yù)測銷量為10,a為0.7,本期銷售預(yù)測=0.7*20+(1-0.7)*10,計算出來的結(jié)果為17,那么本期預(yù)測的銷售為17。
調(diào)整過來a,來優(yōu)化計算模型,a越大就越偏向?qū)嶋H銷量模型計算,反之則偏向預(yù)測銷量模型計算。
相似品預(yù)測法:
對于新品,沒有歷史數(shù)據(jù),不能用上述的3種方法進行銷售預(yù)測,可以根據(jù)商品的屬性,如:分類、顏色、價格等等屬性,找到相似的商品,根據(jù)相似商品的銷售數(shù)據(jù)來推測新品數(shù)據(jù)。
小結(jié):銷售預(yù)測是一個非常復(fù)雜的功能,需要龐大的數(shù)據(jù)來搭建公司的銷售預(yù)測模型,這里只是提幾種方法。
4.2 采購需求
整個采購需求的業(yè)務(wù)流程如下:
采購需求的頁面如下(僅供參考):
采購需求該功能主要是給銷售等業(yè)務(wù)部門使用,由業(yè)務(wù)部門來確定要什么貨(產(chǎn)品),要多少(數(shù)量)。
因為業(yè)務(wù)部門人員水平有差異,有些業(yè)務(wù)人員提出的需求并不合理,可能導(dǎo)致采購的需求過多造成產(chǎn)品的滯銷,所以在業(yè)務(wù)員提采購需求后,不過直接給到采購,而是會在兩者之間設(shè)一道審核的坎,一般由組長或?qū)iT的審單員進行采購需求的審核。
上面說的是由人工提交的采購需求需要審核,那么低于備貨點自動生成的采購需求是否需要進行審核呢?這個根據(jù)個人的經(jīng)驗來說這個邏輯可以做成可配置,或者做成對應(yīng)策略。如:采購貨值<XX,就不需要審核之類的。
采購需求還需要有合并的功能,如果多個業(yè)務(wù)人員提出的采購需求相同,應(yīng)該將采購需求合并,避免多次找同一個供應(yīng)商采購產(chǎn)品。
MOQ:
MOQ為最低的起訂量,如:必須采購10個,供應(yīng)商才會發(fā)貨。所以在創(chuàng)建采購需求時,系統(tǒng)自動選擇滿足MOQ最低的采購價。
此時采購A產(chǎn)品10個,根據(jù)“滿足MOQ最低報價”的規(guī)則,系統(tǒng)會選擇單價10的報價。
是否需要在采購需求階段使用“滿足MOQ最低報價”規(guī)則,需要根據(jù)公司業(yè)務(wù)而定,我上家公司需要在需求階段展示,是因為銷售在提交采購需求時,需要計算采購商品的利潤。
4.3 采購單
采購單創(chuàng)建流程如下:
手動創(chuàng)建采購單,當時我發(fā)現(xiàn)有的系統(tǒng)手動創(chuàng)建有2種方式,一種是一種是有業(yè)務(wù)部門發(fā)布采購需求,下推生成采購單;另外一種則是由倉庫負責發(fā)布采購單。
當時覺得很奇怪,一個貨品是否需要采購,是由業(yè)務(wù)部門決定的,倉庫肯定不能決定采購什么貨品,后來和一些同事聊天得知,這2者主要是公司的業(yè)務(wù)和崗位職責的劃分有關(guān)。
在外貿(mào)公司幾乎不涉及到原料,公司的大部分產(chǎn)品都是成品,由銷售負責貨品的銷售,銷售把控庫存,這種情況就是由銷售下發(fā)采購需求,采購只需要執(zhí)行采購需求。
在一些生產(chǎn)公司,銷售和其它業(yè)務(wù)部門對原材料和輔料的感知程度較低,庫存采購負責,這個時候就需要采購創(chuàng)建采購單,進行采購。
這里說一下銷售轉(zhuǎn)采購,本質(zhì)就是用戶下的銷售訂單缺貨,然后吧缺貨的部分快速生成采購單。
采購單的界面如下所示(僅供參考):
根據(jù)上面的原型圖,結(jié)合業(yè)務(wù)一步一步展開來說,首先就是采購的下單,有2種方式方式:
- 線上下單:采購在1688或者淘寶等網(wǎng)站上尋找貨源,并直接在網(wǎng)上下單采購,通過接口與1688網(wǎng)站進行數(shù)據(jù)交互。
- 線下下單:采購與供應(yīng)商進行線下采購和交易,在系統(tǒng)進行采購單的數(shù)據(jù)補錄。
線上下單,必須是采購選好貨品后付款,供應(yīng)商才會發(fā)貨,類似我們在淘寶上購買東西,只有我們下單付款,供應(yīng)商才會發(fā)貨,整體的流程如下(以1688下單為例):
由上述流程可知,線下和線上采購的區(qū)別在在于線上需要,線上采購需要調(diào)用平臺接口,與第三方平臺進行交互。在跨境電商行業(yè),采購單的創(chuàng)建區(qū)分了線上和線下(如:馬幫、店小秘等),而國內(nèi)電商則沒有進行區(qū)分。
線上與線下下單,在財務(wù)方面的區(qū)別就是,線上下單必須“先付款再下單”,以1688為例,1688可以開通類似“花唄額度”,可以先使用額度給供應(yīng)商付款,后期在還款。
線下下單通常走預(yù)付款、貨到付款、賬期幾種形式。
- 預(yù)付款:預(yù)先支付供應(yīng)商付款的X%。
- 貨到付款:供應(yīng)商把貨送到倉庫,且成功簽收后,進行付款。
- 賬期:賬期與預(yù)付款可以結(jié)合,供應(yīng)商把貨送過來后,XX天后結(jié)尾款,這個XX天就是賬期。
因為線上和線下采購的緣故,在采購時就會有一些特殊場景:
下單的數(shù)量不滿足MOQ(最小起訂量),但是向供應(yīng)商買一些其他的產(chǎn)品,保證供應(yīng)商發(fā)貨;
- 供應(yīng)商一些產(chǎn)品在線上賣,一些產(chǎn)品沒有上架到線上,這種情況可以創(chuàng)建分別創(chuàng)建線上和線下采購單;
- 供應(yīng)商線上賣的是組合產(chǎn)品,但是我們只需要其中一個,這個時候也只能在系統(tǒng)層面創(chuàng)建一個線下采購單;
- 同一個供應(yīng)商有幾個線上馬甲。
上面說的都是系統(tǒng)流程,在業(yè)務(wù)層面的流程更加復(fù)雜的多,采購在下單之前會和供應(yīng)商確定是否有貨,下單的數(shù)量和單價供應(yīng)商是否接收,是否能夠在貨期內(nèi)到貨等等,業(yè)務(wù)流程如下:
采購成本的計算:
在采購單中除了產(chǎn)品本身的貨款,還有貨物的裝卸費、運費、供應(yīng)商優(yōu)惠額度等等費用,在計算采購成本時,需要將這些費用分攤到SKU,常見的分攤方式有3種:按照采購數(shù)量分攤,按照采購重量分攤,按照采購金額分攤。
這里以采購重量分攤為例,把運費進行分攤,計算公式:SKU的采購成本=采購貨款+(SKU的重量/采購單中所有SKU的重量)*運費
其它分攤的計算公式也如上述一致,可能有同學(xué)不懂這個計算的意義在哪里,這個數(shù)據(jù)主要用于毛利的計算。如:A產(chǎn)品采購10個,計算出來的采購成本為100元,如果毛利想要達到50元,那么就需要賣150元(每個售價定15元)。
注意:這里的毛利和凈利潤不一樣,具體毛利和凈利和區(qū)別,我就不細說了,請大家去百度吧。
其中采購單到貨后,采購將到貨的數(shù)量下推到倉庫,生成到貨通知單。
采購單:到貨通知單=1:N
最后在說一下采購單的狀態(tài),任何單據(jù),訂單的狀態(tài)機都是非常重要的。采購有業(yè)務(wù)狀態(tài)流和財務(wù)狀態(tài)流,可以根據(jù)有“入庫狀態(tài)”和“結(jié)算狀態(tài)”字段展示不同流程的狀態(tài)。
入庫狀態(tài):
- 待入庫
- 部分入庫
- 已完成
付款狀態(tài):
- 待付款
- 部分付款
- 全部付款
這里說一下“已完成”狀態(tài)的細節(jié),當WMS系統(tǒng)簽收的數(shù)量=采購數(shù)量,代表全部入庫,此時采購單自動標記為“已完成”。
還有一個手動標記“已完成”的場景,采購的商品只有部分簽收,剩余的商品供應(yīng)商不送了,這時需要手動標記“已完成”。
4.4 采購?fù)素?/h3>
采購?fù)素浀恼麄€流程,如下圖所示:
采購?fù)素浧渲杏?種退貨方式,一種是直接退貨,另一種是退換補發(fā),上圖的業(yè)務(wù)流程描述的是退貨,代表這個貨不要了,供應(yīng)商需要將相應(yīng)的貨款退給公司,所以生成相應(yīng)的采購結(jié)算單。
另一種則是退換補發(fā),最常見的就是不良品,需要供應(yīng)商重新發(fā)一批貨過來,整個的流程與上述一致,只是不需要生成采購結(jié)算單。
采購?fù)素泦蔚脑O(shè)計和采購單的設(shè)計非常像,但是采購?fù)素泦问顷P(guān)聯(lián)采購單,采購?fù)素泦蔚慕换D如下:
采購?fù)素泦味际且貌少弳?,因此一個采購單可以生成多個采購單退貨單,但是退貨的數(shù)量不能>采購的數(shù)量。
這里有一個細節(jié)需要注意,因為采購?fù)素泦蔚膭?chuàng)建,需要輸入采購單號,那么退貨的采購單價,直接讀取采購單的采購單價。這個細節(jié)需要注意是因為我知道某個大公司并不是這樣做的,以至于埋下了一個大坑。
如果供應(yīng)商也有信息化系統(tǒng),可以做一個采購?fù)素浀耐ㄖδ?,通知供?yīng)商你已經(jīng)發(fā)貨。
4.5 采購費用開單
采購的費用開單主要作用于費用的補充和費用數(shù)據(jù)的對沖,常見的場景有:采購單的運費填錯了,費用少了;采購過來需要有卸貨費用等等,這些費用需要計算到采購單,計算采購單中SKU的采購成本。
交互圖如下:
這里說一個題外話,根據(jù)我的項目經(jīng)驗,采購單中所有的信息都有可能填錯,最常見的就是運費填寫,因此我們可以將這些信息分成2類,業(yè)務(wù)信息和財務(wù)信息。
- 財務(wù)信息:運費、裝卸費、采購費等等;
- 業(yè)務(wù)信息:接收倉庫、采購員、簽收員、供應(yīng)商、SKU等等。
其中財務(wù)信息填錯了,可以使用“采購費用單”進行數(shù)據(jù)對沖;業(yè)務(wù)信息填錯了,個人建議重新創(chuàng)建新的采購單,至于原填錯的采購單,如果下推到了倉庫,進行了簽收,那么在倉庫創(chuàng)建“出入庫單”進行“庫存平賬”。
4.6 采購結(jié)算單
一個采購單和采購?fù)素浛町a(chǎn)生的所有費用會生成一個采購結(jié)算單。
采購單/采購?fù)素泦魏筒少徑Y(jié)算單的關(guān)系為1:N。
結(jié)算常見有3種方式:
- 預(yù)付:采購預(yù)付款
- 按賬期結(jié)算:與供應(yīng)商協(xié)定,如每月月底結(jié)算貨款
- 到貨后結(jié)算:每完成1/N次履約后,就進行結(jié)算
不同的結(jié)算方式,采購結(jié)算單的創(chuàng)建也不同,如:預(yù)付,在成功創(chuàng)建采購單后,預(yù)付金額就生成相應(yīng)“待審核”的采購結(jié)算單;賬期的話就按照賬期,生成相應(yīng)“待審核”的采購結(jié)算單。
采購結(jié)算單審核通過后,提交給財務(wù)進行銷賬。
采購異常情況:
商品質(zhì)量不合格:
簽收100件商品,其中10件為次品,那么正品庫存+90,次品庫存+10。后續(xù)在通過采購?fù)丝?,倉庫的次品庫存-10。
數(shù)量不符合:
1)少貨
少貨有2種情況,一種是供應(yīng)鏈送過來的貨確實少了,這種情況需要供應(yīng)商吧剩余的貨送過來;另一種則是供應(yīng)商分批送貨,并沒有告知公司。
如:采購100個,供應(yīng)鏈送了80個,這80個商品是否生成采購結(jié)算單?還是等到剩余的20個送過來后生成采購結(jié)算單?這種情況就根據(jù)公司業(yè)務(wù)設(shè)計,我之前的公司的業(yè)務(wù)為必須采購單完成才會生成結(jié)算單。
2)多貨
有2種處理方案,一種是直接簽收上架,另一種則是將多余的部分退回給供應(yīng)商。
如:采購100個,供應(yīng)商送了120個。
- 簽收120個,上架120個,結(jié)算時按照120個結(jié)算
- 簽收120個,上架100個,20個退回給供應(yīng)商,結(jié)算時按照100個結(jié)算
錯貨:
采購100個,供應(yīng)商送了100個,其中40個錯貨。
- 方案1:全單全部拒收,等待供應(yīng)商重新送貨
- 方案2:簽收60個,并先上架,剩余部分退回給供應(yīng)商,至于是先按照60個結(jié)算,還是等供應(yīng)商把剩余部分送到倉庫再結(jié)算。這2種方案都可以
五、總結(jié)
供應(yīng)商模塊文章就不進行更多說明了,實際上本文說的是市面上通用的產(chǎn)品設(shè)計方案,其中整個采購的難點在于采購的費用相關(guān),如:采購的費用對沖影響歷史數(shù)據(jù)、供應(yīng)商的評分等。
一些偏向生產(chǎn)類型的公司,有自己長期合作的供應(yīng)商,采購的商品也復(fù)雜多樣,涉及原料、半成品、成品等。這些公司的會將采購模塊抽離出來,單獨做一個SRM系統(tǒng),這就會涉及到采購合同、樣品、供應(yīng)商考核、供應(yīng)商評分、詢報價、比價、供應(yīng)商返利等等操作。
在財務(wù)方面本人接觸的不深,比如和供應(yīng)商的對賬出現(xiàn)了差異,生成差異單的處理。供應(yīng)商的應(yīng)付和財務(wù)的核銷等等操作,有懂的老哥可以在本文留言,一起探討。
本文由@koi 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash, 基于 CC0 協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
otd流程
已入庫上架的SKU,采購?fù)素浀臅r候應(yīng)該是不知道對應(yīng)的采購單據(jù)的,這直接關(guān)聯(lián)到采購單上不太合適吧?
采購?fù)素浛隙ㄒP(guān)聯(lián)采購單啊,這樣才知道那個采購單發(fā)生了退貨
真實業(yè)務(wù)場景中,已入庫上架的產(chǎn)品,當發(fā)現(xiàn)有不良品需要退貨時,產(chǎn)品上是沒有標識屬于哪個采購單的不良品,這時就不能關(guān)聯(lián)到采購單了;如果還沒入庫是可以直接關(guān)聯(lián)到采購單的
零售業(yè)務(wù)來貨頻繁的時候,現(xiàn)場人員確實不知道是哪個采購訂單的貨,分場景提供兩種處理方式,無法區(qū)分的按照商品維度退、能夠確定具體采購單的引用采購單退。
想請教下:作者寫的是采購單:到貨通知單=1:N,像供應(yīng)商分次到貨的這種,是生成多個收貨單是嗎?所以這個到貨通知就是一個下發(fā)到wms總單據(jù)?到貨通知單:收貨單=1:N?
我們設(shè)計是允許針對一個收貨通知單,多次收貨。
線上下單的圖沒有貼過來
寫得太好了,頂!