由於成本模組涉及多個功能與成本計算原理,說明方式採用 案例驅動:透過實例呈現想解決的問題、以及調整後的結果,而不會過度深入原理,避免整篇文章顯得過於繁瑣。本章將針對 成本模組-SVL修改單價 功能進行說明,延續 Day19 提到「庫存異動後無法修改」的挑戰。
為簡化案例,所有基礎單價設定為 100,委外加工費也同樣設定為 100。
BOM 架構
成本單價
料號 | 成本單價 |
---|---|
Z 原料 | 100 |
預估人工 | 100 |
預估製費 | 100 |
半成品-1 | 300 |
K 成品 | 500 |
日期 | 類別 | 單號 | 料號 | 單價 | 數量 | 金額 |
---|---|---|---|---|---|---|
8/1 | 採購 | P001 | Z 原料 | 100 | 1 | 100 |
8/2 | 生產 | MO/001 | 半成品-1 | 300 | 1 | 300 |
8/3 | 生產 | MO/002 | K 成品 | 500 | 1 | 500 |
8/4 | 出貨 | OUT/001 | K 成品 | 500 | 1 | 500 |
8/4 | 應收 | INV/001 | K 成品 | 1000 | 1 | 1000 |
我們希望在 SVL 層級允許修改成本單價。
案例中將 8/1 採購單的單價由 100 → 200,推算影響結果如下:
日期 | 類別 | 單號 | 料號 | 單價 | 數量 | 金額 |
---|---|---|---|---|---|---|
8/1 | 採購 | P001 | Z 原料 | 200 | 1 | 200 |
8/2 | 生產 | MO/001 | 半成品-1 | 400 | 1 | 400 |
8/3 | 生產 | MO/002 | K 成品 | 600 | 1 | 600 |
8/4 | 出貨 | OUT/001 | K 成品 | 600 | 1 | 600 |
8/4 | 應收 | INV/001 | K 成品 | 1000 | 1 | 1000 |
可以看到,修改了第一張單據(Z 原料),後續三張單據的成本單價全數被連動,這正是我們預期的結果,異動結果如下:
在 Odoo 原生設計中,SVL(Stock Valuation Layer)一旦產生後就不允許修改,
但在台灣實務情境裡,經常會出現 進貨價格需要調整 的狀況,若無法修改,後續成本計算將出現偏差。
總結來說,SVL 單價修改功能的設計,不只是單純的數值調整,
更是讓成本系統具備 可回溯、可修正、可控管 的彈性, 增加日常需求的使用情境。