如何讓讓產品同時在 MTO 和 MTS 模式?
當產品有庫存時走 MTS ,沒有庫存時走 MTO,在 Odoo 該怎麼設定?
什麼是 MTO 、 MTS ?
MTO 是 Make-to-Order 的縮寫,指的是當有銷售訂單成立時,產線才開始依訂單製造所需的量。
MTS 是 Make-to-Stock 的縮寫,指的是產線依安全庫存量製造所需的庫存,當有銷售訂單成立時,直接可供出貨。
BTO 是 Buy-to-Order 的縮寫,指的是當有銷售訂單成立時,採購人員才開始依訂單採購所需的量。
BTS 是 Buy-to-Stock 的縮寫,指的是採購人員依安全庫存量採購所需的庫存,當有銷售訂單成立時,直接可供出貨。
P/O 是 Purchase Order 的縮寫,指的是採購訂單。
M/O 是 Manufacturing Order 的縮寫,指的是製令。
MTO 的產品卻有庫存
使用 Odoo 管理庫存時,因應某些產品是依訂單生產(採購)的情況,會將產品設為「 MTO 」。但還是會碰到一個問題,有時候會因為一些原因(例如,多買一些可以有較好的價格),這些 MTO 的產品會有庫存。於是確認銷售訂單的時候,即使倉庫有貨, Odoo 仍然會自動產生出採購訂單。這樣就產生了一個令人討厭的麻煩,這類的產品有採購訂單出現的時候,採購人員都得先確認庫存數量,然後再決定是否要手動將採購訂單草稿刪除。即使手動刪除了採購訂單草稿,也仍會在系統中留下補貨錯誤( procurement exception )的紀錄。
使用 Odoo 原生的方式解決
使用 Odoo 原本有的功能,就可以解決這個問題。只要取消勾選產品設定中的「 MTO 」,然後在設定訂貨規則( reordering rule )的時候用以下的設定方式:
- 最小數量(安全庫存)設為 0
最大數量設為 0
數量倍數設為 1 (或是依實際狀況而定)
如此一來,不論倉庫有沒有庫存,只要庫存數量不足,系統就會依訂貨規則的設定,將預估庫存補至 0 ,自動產生庫存數字與出庫單數量差額的 P/O 或 M/O ,而有類似於 MTO 的效果。此時,採購或生管人員可依實際情況調整採購或生產數量(例如,買多有優惠等狀況)。當庫存數量足夠時,系統會以 MTS 流程為出庫單扣貨( reserve )。
用原生的方式解決有一個缺點,系統自動產生出的 P/O 或 M/O 不會紀錄是由哪張銷售訂單觸發所產生。對於某些產業,需要知道 P/O 或 M/O 所對應的銷售訂單時,會產生難以追蹤的問題。此時可以使用第三方模組來解決這個問題。
使用第三方模組解決 BTO+BTS
若公司是以採購( Buy )的方式來補貨,則可以使用 OCA 所開發的第三方模組「 Stock MTS+MTO Rule 」來解決這個問題。在要使用 MTO + MTS 規則的倉庫的設定頁面中,需勾選「 Use MTO+MTS rules 」。在產品主檔原本勾選「 MTO 」的地方取消勾選「 MTO 」,改為勾選「 Make To Order + Make To Stock 」即可。步驟如下:
倉庫管理的設定中,「 Routes 」的地方需選擇「 Advanced routing of products using rules 」,「 MTO+MTS 」的選項才會出現。
要使用 MTO + MTS 規則的倉庫的設定頁面中,勾選「 Use MTO+MTS rules 」。
在產品主檔原本勾選「 MTO 」的地方取消勾選「 MTO 」,改為勾選「 Make To Order + Make To Stock 」。
- 完成!
注意!此方式只能處理用採購補貨的流程,若為製造業,則需使用下一個方法。
使用第三方模組解決 MTO+MTS
若公司若公司是以製造( Manufacture )的方式來補貨,則可以使用 OCA 所開發的第三方模組「 MRP MTO with Stock 」來解決這個問題。
倉庫管理的設定中,「 Routes 」的地方需選擇「 Advanced routing of products using rules 」,「 MTO+MTS 」的選項才會出現。
要使用 MTO + MTS 規則的倉庫的設定頁面中,勾選「 MRP MTO with forecast stock 」,使 M/O 的生產量依預測庫存來決定。此步驟非必須。
在產品主檔原本勾選「 MTO 」的地方取消勾選「 MTO 」,只勾選「 Manufacture 」。
「 Manufacturing MTO/MTS Locations 」的地方選擇要使用的倉庫。
- 完成!
注意!此方式只能處理用製造補貨的流程,若為買賣業,則需使用上一個方法。
附註
感謝網友王子勳協助提供製造業解決 MTO+MTS 的方法!