由於成本模組涉及多個功能與成本計算原理,本章同樣採用 案例驅動 的方式來說明,本次的重點放在 成本模組-SVL 修改日期 功能,延續 Day19 提到「庫存異動後無法修改」的挑戰。
本篇要解決的是「修改日期」的問題,設定都是相同的-請參考D20架構-網址,因此直接從案例切入。
我們在 8/4 增加了一筆 Z 原料的採購,單價為 200。因為之後沒有再領用 Z 原料,所以當下對後續成本沒有影響。
日期 | 類別 | 單號 | 料號 | 單價 | 數量 | 金額 |
---|---|---|---|---|---|---|
8/1 | 採購 | P001 | Z 原料 | 100 | 1 | 100 |
8/3 | 生產 | MO/001 | 半成品-1 | 300 | 1 | 300 |
8/4 | 採購 | P002 | Z 原料 | 200 | 1 | 200 |
8/5 | 生產 | MO/002 | K 成品 | 500 | 1 | 500 |
8/6 | 出貨 | OUT/001 | K 成品 | 500 | 1 | 500 |
8/6 | 應收 | INV/001 | K 成品 | 1000 | 1 | 1000 |
我們希望在 SVL 層級允許修改日期。
案例中,將 8/4 的採購單 P002 日期改為 8/2,導致領料成本由 100 → 150,進而影響到後續生產與出貨:
日期 | 類別 | 單號 | 料號 | 單價 | 數量 | 金額 |
---|---|---|---|---|---|---|
8/1 | 採購 | P001 | Z 原料 | 100 | 1 | 100 |
8/2 | 採購 | P002 | Z 原料 | 200 | 1 | 200 |
8/3 | 生產 | MO/001 | 半成品-1 | 350 | 1 | 350 |
8/5 | 生產 | MO/002 | K 成品 | 550 | 1 | 550 |
8/6 | 出貨 | OUT/001 | K 成品 | 550 | 1 | 550 |
8/6 | 應收 | INV/001 | K 成品 | 1000 | 1 | 1000 |
結果顯示:修改 P002 的日期,後續三張單據的成本單價全數被連動,達到我們希望的效果,異動結果如下:
在 Odoo 原生設計中,SVL(Stock Valuation Layer)的日期一旦確定,就無法再進行修改。然而在實務情境中,日期誤植 或 延遲登錄 都相當常見,若無法更正,將導致整個成本計算出現偏差。
總結來說,SVL 日期修改功能的設計,不只是「補救錯誤」而已,更是確保成本計算邏輯 符合時序、可回溯、可控管 的必要工具,讓系統使用增加應用情境。