程式資訊
- 程式 ID:
BOM_COST - 所屬子系統:D.工程資料
- 狀態:stable
BOM 成本展開¶
功能簡介¶
「BOM 成本展開」針對成品(或半成品)品號,依 BOM 結構逐階展開到最低階零件與製程,再套上廠商料價、關稅與人工費率,累計出每個品號的材料成本、關稅、人工成本與小計,並可對照客戶報價算出售價與毛利。適合成本/業務主管在報價、議價或試算前回答「這顆成品做下去,料工合計多少錢、毛利剩多少」。
畫面分上下兩個格線:
- 上方成本彙總表:一列一個查詢組件號(成品),顯示材料/關稅/人工小計、售價、毛利與各項成本比例。
- 下方成本明細表:點選上方某列後,列出該成品 BOM 展開後的每一個零件與製程及其單階成本,是彙總數字的拆解來源。
純查詢報表
本功能只做試算與展示,不會寫回任何單據或成本檔。算出的成本不會更新庫存主檔的標準成本,只供現場參考與列印。
前置需求¶
- 權限:D.BOM →
D-090 BOM 成本展開的瀏覽(查詢)與列印權限。 - 基礎資料:成本能不能算得齊,取決於下列主檔是否維護完整——
| 資料 | 影響的結果 |
|---|---|
| BOM 結構(含損耗率、製程途程、標準工時) | 展開的零件與製程清單;標準工時是人工成本的基礎 |
| 庫存主檔(品號、單位、單重、群組、儲位、主要供應廠商與比例) | 明細的品名/單位/群組;零件的主要供應廠商取自三組廠商比例中比例最高者 |
廠商進貨資料(暫收/驗收,RA% 單) |
廠商單價別=進貨價時的原材料單價、幣別與關稅稅率 |
| 廠商報價(SPPDMA/SPPDT,含工程代號、代工單價、關稅稅率) | 廠商單價別=廠商報價時的料價,及委外製程的代工人工 |
| 廠商資料(SPDATA,含其他加成) | 廠商簡稱;關稅稅率會再加上該廠商的其他加成 |
| 客戶報價(CUPDMA/CUPDT) | 彙總表的售價/毛利/毛利比例(搭配匯率表換算) |
| 客戶品號對照(CUINVE,含包裝量) | 起訖客戶查詢時的客戶品號與最小包裝量 |
| 製程主檔(PROCNO,工程代號/簡稱) | 委外或部門製程的工程簡稱 |
| 匯率資料 | 條件面板匯率表的買/賣/中值預設(預設帶當日匯率) |
操作步驟¶
本功能是「設條件 → 查詢 → 看兩段結果 → 列印」的查詢流程,沒有新增、修改、刪除。
步驟一 設定查詢條件¶
在左側條件面板填寫查詢範圍與計價方式:
- 選擇查詢別:
起訖客戶,起訖品號(預設):以客戶+品號區間圈出要試算的成品。起訖客戶,起訖機種:先以機種(品別=8 的機種品號)展開出底層成品,再逐顆試算。
- 選擇比例別:
成本(預設)或售價,決定彙總表各比例欄位(材料比例/關稅比例/人工成本比例/材稅比例)是除以小計還是除以售價。 - 選擇廠商單價別:
進貨價(預設,取最近一筆RA%進貨單價)或廠商報價(取最新一筆廠商報價)。 - 輸入起訖客戶/起訖品號/起訖機種:截止欄位預設
zzz(代表到最後)。客戶留空時改以純品號區間查庫存主檔。 - 視需要輸入起始受訂日:填了之後彙總表會多帶訂單備註(該品號在此日期之後的受訂日期,或標
No sales order)。 - 確認/調整人工費率(元/分):預設
1,部門自製製程的人工成本=人工費率 × 標準工時 ÷ 60。 - 檢視右側匯率表:系統自動帶入當日各幣別的買/賣/中值,外幣料價會以此換算本幣。使用匯率欄可直接點儲存格修改。
步驟二 執行查詢¶
按工具列的 查詢。系統會:
- 依條件撈出要試算的成品清單。
- 對每個成品做 BOM 最低階展開(呼叫
Darb_Qry_Bom_Flow),產生明細。 - 逐列套上料價、關稅、人工,累計成本並回填彙總表。
資料量大時,狀態列會顯示 1. Search Data / 2. Calculate Cost 的進度。
步驟三 檢視彙總與明細¶
- 上方成本彙總表:一列一個成品,看材料/關稅/人工小計、售價、毛利與比例。
- 點選某一列,下方成本明細表會自動換成該成品的 BOM 展開明細——每個零件的數量、原材料單價、材料本國價、材料成本、關稅,以及每道製程的標準工時與人工成本。
小技巧
改了使用匯率或人工費率後,直接再按一次 查詢 即可重算,不必重設其他條件。兩個格線都可在格線上按右鍵匯出 Excel。
步驟四 列印¶
按工具列的 列印/預覽即可輸出報表。
欄位說明¶
條件面板¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 查詢別 | ✔ | 起訖客戶,起訖品號(預設)/起訖客戶,起訖機種 |
| 比例別 | ✔ | 成本(預設)/售價,決定比例欄位的分母 |
| 廠商單價別 | ✔ | 進貨價(預設)/廠商報價 |
| 起始客戶/截止客戶 | — | 截止預設 zzz;兩者皆空時改以純品號區間查庫存主檔 |
| 起始品號/截止品號 | — | 截止預設 zzz |
| 起始機種/截止機種 | — | 截止預設 zzz;查詢別=機種時生效 |
| 起始受訂日 | — | 填了才帶訂單備註;格式 YYYY/MM/DD |
| 人工費率(元/分) | — | 預設 1;部門自製人工=費率 × 標準工時 ÷ 60 |
| 匯率表 → 使用匯率 | — | 可編輯;預設帶當日匯率,外幣料價以此換本幣 |
| 匯率表 → 買/賣/中 | — | 唯讀,當日匯率參考值 |
成本彙總表(上方格線)¶
| 欄位 | 說明 |
|---|---|
| 索引鍵值 | 排序鍵;客戶查詢時為「客戶代號,客戶品號」,純品號查詢時為「客戶代號,查詢組件號」 |
| 客戶代號/客戶簡稱/客戶品號 | 起訖客戶查詢時帶出;純品號查詢時為空 |
| 查詢組件號/品名 | 被試算的成品品號與品名 |
| 最小包裝量 | 取自客戶品號對照(CUINVE)的包裝量 |
| Lead Time | 庫存主檔的前置天數 |
| 材料成本/關稅/人工成本/小計 | 單位量 × 單位材料/單位關稅/單位人工;小計=三者相加 |
| 售價 | 單位量 × 單位售價(客戶報價 × 使用匯率) |
| 毛利/毛利比例 | 毛利=售價 − 小計;毛利比例=毛利 ÷ 售價 × 100 |
| 材料比例/關稅比例/人工成本比例/材稅比例 | 各成本 ÷(比例別所選的)小計或售價 × 100 |
| 群組代號/群組說明 | 取自庫存主檔群組設定 |
| 生產部門/部門簡稱 | 主要供應廠商或生產部門 |
| 單位量/單位材料/單位關稅/單位人工/單位小計/單位售價/單位毛利 | 單一單位量的成本與售價拆解 |
| 客報價原幣 | 客戶報價原始幣別單價(未乘匯率) |
| 現行材料費/現行模具費/現行加工費/現行單價/生效日 | 預留欄位,目前不由系統填寫(見欄位連動與附加功能) |
| 廠商代號/廠商簡稱 | 主要供應廠商 |
| 訂單備註 | 有填起始受訂日時:受訂日期或 No sales order |
| 說明 | 材料與人工皆為 0 時顯示「單價或工時未輸入」提示 |
成本明細表(下方格線)¶
| 欄位 | 說明 |
|---|---|
| 品號/品名 | BOM 展開後的零件或製程品號 |
| 加工別 | 製程列才有:委外(Vendor)或 部門(Dept) |
| 生產部門/部門簡稱 | 製程的生產部門或零件的主要供應廠商 |
| 數量/單位 | 展開累計用量(含損耗率);製程列數量=標準工時 |
| 材料成本/關稅/人工成本/小計 | 該列的單階成本(明細小計=材料+關稅+人工) |
| 標準工時 | 製程列的工時(部門自製人工的計算基礎) |
| 幣別/原材料單價/材料本國價 | 料價的原幣別、原幣單價,及換算後的每單位本國價 |
| 顯示品號 | 含縮排與前置符號的階層顯示:▲=查詢的最上層成品(底下還有子件)、▼=還可往下展開的組件、◎=最低階零件、◇=製程;縮排空格數=階層×4 |
| 群組代號/群組說明/儲位/單重/組件編號/序號 | 取自庫存主檔與 BOM 展開的識別資訊 |
欄位連動與附加功能¶
這一節說明「填了某欄、按了某鈕,系統實際會做什麼」。
條件面板的連動¶
- 當你切換「查詢別」:
- 選
起訖客戶,起訖品號,系統先看起訖客戶是否都留空。兩者皆空時,直接以「品號 between 起始品號 and 截止品號」查庫存主檔當成品清單;有填客戶時,改查客戶品號對照(CUINVE)與客戶報價(CUPDMA),以客戶+品號組出清單,並帶出客戶品號與包裝量。 - 選
起訖客戶,起訖機種,系統先撈品別=8 的機種品號,對每個機種呼叫Twork_Biz_BomBottom展開出底層成品(半成品),再把展開出的半成品比對庫存主檔、取同前置碼最大者(排除*P包裝零件)當實際試算品號。
- 選
- 當你選「廠商單價別=進貨價」:原材料單價、幣別與關稅稅率改取最近一筆
RA%(暫收/驗收)進貨,依廠商+品號取報價日期(交易日期)最新的一筆;委外製程人工仍取自廠商報價。 - 當你選「廠商單價別=廠商報價」:料價與委外製程人工都改取最新一筆廠商報價(SPPDMA/SPPDT,依廠商+品號+工程代號取最新)。
- 當你選「比例別」:
成本時四個比例欄位除以「小計」;售價時除以「售價」。只有小計大於 0 的列會計算比例。 - 當你修改「使用匯率」:外幣的原材料單價與客戶報價會以該匯率換算本幣(本位幣固定視為 1);改完要再按一次
查詢才會重算。 - 當你填「起始受訂日」:查詢時額外撈該日期(含)之後的訂單明細,依品號比對;有訂單則訂單備註顯示受訂日期,沒有則顯示
No sales order。留空則不帶訂單備註,也不查訂單。
成本展開與計價邏輯(按 查詢 後自動執行)¶
- BOM 逐階展開:對每個成品由第 1 階往下展開(最多展到系統設定的 BOM 最大階數
BomMaxLevel,目前為 20 階),把每階的零件(◎)與製程(◇)攤平成明細;每往下一階的損耗會逐階相乘累計到展開數量(單位用量=原數量 ×(1+損耗率))。同一查詢組件號下、相同序號+品號+生產部門的零件會累加數量。若展到第 20 階仍未展完(待查組件未清空),會插入一列顯示品號為「Level 20 ,Error」的明細,提示 BOM 結構可能成環(互相引用)。 - 材料成本:零件的材料成本=展開數量 × 廠商單價 × 使用匯率,四捨五入到本幣小數位。
- 關稅:關稅=材料成本 ×(料價來源的關稅稅率 + 該供應廠商的「其他加成」÷100)。關稅稅率隨廠商單價別而不同——選
進貨價時取自RA%進貨單(由進貨的關稅分攤+其他分攤回推稅率),選廠商報價時取自廠商報價(SPPDT)的關稅稅率。 - 材料本國價:(材料成本 + 關稅)÷ 數量,四捨五入到 2 位,代表每單位的到岸本幣料價。
- 人工成本:
- 部門自製製程(加工別=部門):人工成本=人工費率 × 標準工時 ÷ 60,數量欄會被改成標準工時。
- 委外製程(加工別=委外):人工成本直接取該廠商+組件+工程的廠商報價單價。
- 明細小計:每列小計=材料成本 + 關稅 + 人工成本。
- 彙總回填:把明細的材料、關稅、人工分別加總,乘上彙總列的單位量,回填彙總表的材料成本/關稅/人工成本/小計,以及單位材料/單位關稅/單位人工。
- 主要供應廠商:零件的供應廠商取庫存主檔三組(廠商1/2/3)中比例最高的那一組;廠商簡稱再由廠商資料(SPDATA)補上。
售價、毛利與比例¶
- 售價/毛利:若該客戶+品號在客戶報價(CUPDMA)有報價,取最新一筆單價 × 使用匯率為單位售價;售價=單位量 × 單位售價,毛利=售價 − 小計,毛利比例=毛利 ÷ 售價 × 100。沒有客戶報價的列售價與毛利為 0。
- 比例欄位:依「比例別」把材料、關稅、(材料+關稅)、人工各自除以小計或售價再 ×100。
「說明」欄的提示¶
- 當某成品的材料成本與人工成本都是 0:彙總列的說明欄會帶出「單價或工時未輸入」,提醒你該品號底下的零件沒有可用的廠商料價、或製程沒有標準工時,所以成本算不出來。
預留但未填寫的欄位¶
現行料價欄位尚未提供
彙總表的 現行材料費/現行模具費/現行加工費/現行單價/生效日 欄位目前在程式中不會被填值,查詢後一律空白/0。這些是預留欄位,待後續版本接上現行成本來源後才會有資料,現階段請以材料成本/人工成本/小計為準,不要誤判為成本為 0。
列印與工作流程¶
- 本功能
HaveReportData()回傳 true,查詢後即可使用工具列的列印/預覽輸出報表,也可掛工作流程紀錄(RECORD)。 - 上、下兩個格線都支援格線右鍵匯出 Excel。
依檔案查詢尚未提供
查詢別在程式列舉中另有一個 File(依檔案)模式,但目前沒有實作(查詢時會略過、不產生資料)。現階段僅 起訖客戶,起訖品號 與 起訖客戶,起訖機種 兩種可用。
常見問題¶
查出來材料成本、人工成本都是 0,說明欄寫「單價或工時未輸入」?
代表該成品展開後的零件找不到可用的廠商料價,或製程沒有標準工時。請檢查:
- 廠商單價別選
進貨價時,零件要有近期的RA%進貨單價;選廠商報價時要有廠商報價。 - 零件的主要供應廠商(庫存主檔廠商比例最高者)要正確。
- 部門自製製程要在 BOM 途程維護標準工時,且條件面板的人工費率不為 0。
售價、毛利欄位是 0?
售價來自客戶報價(CUPDMA)。請確認該客戶+品號有報價資料;用「起訖客戶,起訖品號」且有填客戶時才會帶客戶報價,純品號區間查詢沒有客戶就不會有售價。
外幣料價的金額看起來不對 / 改了匯率沒變?
外幣是以匯率表的「使用匯率」換算本幣的,本位幣固定當作 1。改完使用匯率後要再按一次 查詢 才會重算;若某幣別沒出現在匯率表,系統會用匯率 1 計算。
「現行材料費 / 現行單價 / 生效日」整欄空白?
這些是預留欄位,目前系統不會填值(見欄位連動與附加功能)。請改看材料成本/人工成本/小計,那才是本功能實際算出的成本。
明細出現「Level 20 ,Error」?
表示該成品的 BOM 展開超過 20 階仍未結束,通常是 BOM 結構互相引用形成迴圈(成環)。請回 BOM 結構 檢查該品號的組件設定。
某些客戶或品號查不到?
確認區間設定正確(截止欄位預設 zzz 代表到最後)。用機種查詢時,只會展開品別=8 的機種品號;底層比對不到對應成品(或被 *P 包裝零件排除)也不會列出。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/D-Bom/images/):
bom_cost-step1.png— 條件面板全貌(查詢別/比例別/廠商單價別與匯率表)bom_cost-step3.png— 上方成本彙總表bom_cost-step3b.png— 下方成本明細表(選取某成品後的 BOM 展開明細)