跳轉到

程式資訊

  • 程式 IDQRY_PROFIT_NOGI
  • 所屬子系統:M.主管資訊
  • 狀態:stable

毛利率分析

版本狀態

本功能(程式 ID QRY_PROFIT_NOGI,選單代號 M-160)新版 TsERP(C#/WPF)已完成移植,提供出貨明細與產品/客戶/業務/客戶類別/日期/單號/群組七個彙總頁籤,並可列印兩張毛利彙總報表(見列印)。查詢條件、彙總邏輯與計算方式沿用 VFP 舊版(class qry_profit_nogi),下列說明對兩版皆適用;新版目前仍在 runtime 驗收階段,實際畫面文字若有微調以程式為準。

功能簡介

「毛利率分析」把一段期間內的出貨明細(出貨單、出貨退回單)逐筆抓出本幣未稅金額與成本,算出每一筆的利潤與整體毛利率,再從產品、客戶、業務員、客戶類別、日期、單號、群組七個面向做彙總排名。適合業務/財會主管回答:哪些產品、客戶、業務員最賺錢、哪些賠錢,以及整體毛利率水準。

資料來源是出貨交易主檔 trsama + 明細 trsade,只取交易別碼為 SA(出貨)、SB(出貨退回)、SF 的明細;退回單(SB)的數量與金額會轉成負數參與彙總。利潤的定義是 本幣未稅 − 成本,毛利率=利潤 ÷ 出貨金額 × 100

此功能同時提供一條標準成本對照線:依「標準成本單號」帶入各品號的標準單位成本,算出標準成本與標準利潤,並可用「標準單位成本差異%」篩出實際成本與標準成本落差過大的明細。

前置需求

  • 權限:M.主管資訊 → M-160 毛利率分析 的瀏覽(與列印)權限。
  • 基礎資料:查詢結果的完整度取決於下列資料的維護狀況——
資料 影響的結果
出貨交易(trsamatrsade,交易別碼 SA/SB/SF) 出貨明細的每一列、所有彙總與毛利率
客戶主檔(cudata 客戶簡稱/名稱、客戶類別、區域、經銷商、集團簡稱、送貨地點
品號主檔(invent)與群組主檔(grpm 品名、單位、容量、群組代號與群組說明
業務員主檔(salesmen 業務員姓名(含最新業務員與歷史業務員)
標準成本(coststd_mcoststd_d1 標單位成本/標準成本/標準利潤,以及差異篩選

成本來自交易明細

每筆明細的成本/單位成本直接取自出貨明細 trsade 既有的成本欄位(出貨當下結轉的成本),不是本表單即時重算。若某筆出貨的成本為 0,利潤會等於整筆未稅金額,毛利率偏高,請回頭檢查該出貨單的成本是否正確結轉。

操作步驟

步驟① 設定查詢條件

在左側條件面板輸入篩選條件:

  1. 輸入客戶代號起訖(預設起 空白 ~訖 zzzz,即不限制)。
  2. 輸入交易日期起訖(預設起=當月 1 日、訖=今天)。
  3. 輸入品號起訖(預設起 空白 ~訖 zzzz)。
  4. 輸入業務員起訖(預設起 空白 ~訖 zzzz)。
  5. 視需要輸入集團代號隸屬倉庫稅別做進一步篩選。
  6. 勾選要納入的單據類型:出貨單出貨退回單(兩者預設皆勾)。
  7. 業務別最新業務員=取客戶主檔目前掛的業務員/歷史業務員=取出貨當下記的業務員):在 VFP 原版此選項預設為 歷史業務員畫面上隱藏Visible=.F.),一般使用者看不到也改不到,實際固定以歷史業務員計算。
  8. 視需要勾選 客戶彙總依隸屬客戶不含"A"開頭之品號 勾選框雖在面板上,但舊版查詢程式並未讀取,目前不影響結果)。
  9. 確認標準成本單號:當你離開「起始日期」欄位時,系統會依該月份自動帶入最新的標準成本單號(見欄位連動與附加功能),也可手動修改。

步驟② 執行查詢

按條件面板的 查詢 鈕,系統清空舊結果後重新抓出貨明細,逐筆算出利潤與標準利潤,並同時建立七種彙總,結果分別顯示在右側八個頁籤(見結果頁籤主要欄位)。畫面下方同時顯示出貨總額(未稅)/成本總額/利潤總額/毛利率四個合計欄。

步驟③ 切換報表種類與篩選

  1. 各彙總頁籤上方的報表種類可切 名次(依利潤由大到小排名)或該頁的維度代號(第二顆選項標籤即該頁名稱,如產品/客戶/業務/類別…,實際按鍵值代號排序)。
  2. 在「出貨明細」頁,輸入標準單位成本差異%後按 篩選,只保留實際單位成本與標準單位成本落差達該百分比的明細(差異%填 0=取消篩選)。

步驟④ 列印與匯出

新版列印報表

新版 TsERP 提供兩張標準彙總報表 M160-1 客戶毛利率分析表M160-2 品項毛利率分析表,詳見列印一節。下列 PFIT1_x 等套表對照為 VFP 舊版的明細列印慣例,供對照參考。

  1. 「出貨明細」頁的列印鈕上方有報表選擇客戶產品日期單號業務),決定列印明細時的排序與套表(PFIT1_1PFIT1_5,VFP 舊版)。
  2. 預覽列印Email 即依所選報表輸出;按 Excel 匯出成「毛利分析表」。
  3. 各彙總頁籤亦有各自的列印鈕與 Excel 名稱(如產品彙總、客戶彙總、族群彙總等)。
  4. 若資料表有對應的樞紐分析表範本,可按 樞紐分析表 開啟 Excel 樞紐(見欄位連動與附加功能)。

欄位說明

查詢條件

欄位 必填 說明/格式/預設
客戶代號(起/訖) 預設 空白zzzz(不限制)
交易日期(起/訖) 格式 yyyy/MM/dd;預設起=當月 1 日、訖=今天
品號(起/訖) 預設 空白zzzz
業務員(起/訖) 預設 空白zzzz;依「業務別」決定比對最新或歷史業務員
集團代號 填入時加上 集團代號= 條件,產品彙總會帶集團代號/簡稱
隸屬倉庫 填入時只取該倉庫的出貨
稅別 填入時只取該稅別的出貨
標準成本單號 離開起始日期欄位時自動帶該月最新 A% 開頭成本單號,可手改
出貨單 勾選=納入交易別碼 SA(預設勾)
出貨退回單 勾選=納入交易別碼 SB(預設勾,退回金額轉負數)
業務別 最新業務員(cudata)/歷史業務員(trsama,預設);VFP 原版此控制項 Visible=.F. 隱藏,實務上固定走歷史業務員
不含"A"開頭之品號 條件面板上的勾選框,但 VFP 原版查詢程式並未讀取此值(勾選與否目前不影響結果,屬未啟用控制項)
客戶彙總依隸屬客戶 勾選時客戶彙總改以集團(隸屬)客戶為單位彙總
標準單位成本差異% 出貨明細篩選用,預設 10;填 0 取消篩選

結果頁籤主要欄位

頁籤 主要欄位 說明
出貨明細profit1 客戶代號/簡稱、交易日期、倉單號、序號、品號/品名、數量、單價、原幣未稅、本幣未稅、單位成本、成本、利潤、標單位成本、標準成本、標準利潤、幣別、匯率、稅別、稅額、發票號碼、客戶品號、客戶類別、業務員、集團、經銷商、送貨地點 每筆出貨明細逐列;退回單金額已轉負
產品彙總(毛利產品別) 名次、品號、品名、群組代號、出貨金額、出貨成本、利潤、毛利率、集團代號/簡稱 依品號彙總
客戶彙總(毛利客戶別) 名次、客戶代號、客戶簡稱、業務員編號、姓名、出貨金額、出貨成本、利潤、毛利率 依客戶彙總(可改依隸屬客戶)
業務彙總(毛利業務員別) 名次、業務員編號、姓名、出貨金額、出貨成本、利潤、毛利率 依業務員彙總
類別彙總(毛利客戶類別) 名次、客戶類別、出貨金額、出貨成本、利潤、毛利率 依客戶類別彙總
日期彙總(毛利日期別) 名次、交易日期、星期幾、出貨金額、出貨成本、利潤、毛利率 依交易日期彙總
單號彙總(毛利單號別) 名次、交易別碼、交易日期、客戶代號/簡稱、倉單號、出貨金額、出貨成本、利潤、毛利率 依倉單號彙總
群組彙總(毛利族群別) 名次、群組代號、說明、出貨金額、出貨成本、利潤、毛利率 依群組(族群)彙總

頁面下方合計欄

欄位 說明
出貨總額(未稅) 出貨明細本幣未稅加總
成本總額 出貨明細成本加總
利潤總額 出貨明細利潤加總(=未稅−成本)
毛利率 利潤總額 ÷ 出貨總額 × 100(四捨五入 2 位;金額為 0 時顯示 0)

欄位連動與附加功能

下列行為源自 VFP 原始碼、新版已一併實作,兩版邏輯一致。

起始日期離開 → 自動帶標準成本單號

  • 當你輸入完起始日期並離開該欄位,系統會以該日期的年月(yyyy/MM)去 coststd_m 找出最新一筆 A% 開頭的成本單號MAX(成本單號),且銷貨年月=該月),自動填入標準成本單號欄位;查不到則清空。
  • 你仍可手動覆寫標準成本單號,查詢時以欄位內的值為準。

按「查詢」時系統做的事

當你按 查詢,系統依序執行:

  1. 清空出貨明細(profit1)與七個彙總暫存表。
  2. 標準成本單號coststd_mcoststd_d1 撈各組件的標準單位小計,建立標準成本對照索引。
  3. 用條件面板的值組出 SQL,從 trsamatrsade 出發,LEFT JOIN 客戶(cudata,含集團)、業務員(salesmen)、品號(invent)、群組(grpm)撈出貨明細。固定條件是交易別碼 IN ('SA','SB','SF') 且日期/客戶/品號落在區間。
  4. 逐筆處理每一列明細:
    • 空值轉 0U_NULLTOREAL)後計算。
    • 業務別=最新業務員時,業務員編號/姓名改用客戶主檔目前掛的業務員(最新業務)。
    • 交易別碼為 SB(退回) 時,把數量、其他金額、原幣未稅/含稅、本幣未稅/含稅、成本全部變號為負
    • 利潤=本幣未稅 − 成本
    • 依品號 SEEK 標準成本:標單位成本=標準成本單號帶來的單位小計;標準成本=數量 × 標單位成本(四捨五入到指定小數位數);標準利潤=本幣未稅 − 標準成本。
  5. 依七個面向 GROUP BY 出彙總(產品/客戶/業務員/客戶類別/日期/單號/群組),每個彙總都:
    • 毛利率=利潤 ÷ 出貨金額 × 100(出貨金額為 0 時毛利率 0)。
    • 依利潤由大到小給名次(前 999 名給 0001~0999,第 1000 名以後皆顯示 1000)。
    • 日期彙總另外算出該日的星期幾
  6. 算出畫面下方四個合計欄並重整所有頁籤。

退回與出貨抵銷的方式

出貨退回單(SB)不是另列一筆正數退回,而是把該列的數量與金額直接轉成負數併入彙總。因此某產品/客戶若退貨多於出貨,其出貨金額、利潤可能為負,毛利率也會是負值。

業務別:最新業務員 vs 歷史業務員

  • 歷史業務員(預設):以出貨單當下記錄的業務員(trsama.業務員編號)為準,業務員區間也比對它。
  • 最新業務員:改以客戶主檔目前掛的業務員(cudata.業務員編號)為準,業務員彙總會跟著改用最新業務員。

業務別在 VFP 原版隱藏

業務別 選項在舊版的 Visible 設為 .F.(畫面上看不到),預設值固定在 歷史業務員,因此實務上一律以歷史業務員計算。新版移植時若要讓使用者切換,需把此控制項顯示出來。

客戶彙總依隸屬客戶

勾選 客戶彙總依隸屬客戶 後,客戶彙總頁不再以下單客戶為單位,而是改用集團(隸屬)客戶代號/簡稱GROUP BY,方便看整個集團的毛利。其餘頁籤不受影響。

標準單位成本差異篩選

  • 在「出貨明細」頁輸入標準單位成本差異%後按 篩選
    • 系統對每筆明細算 ABS((標單位成本 − 單位成本) / 單位成本 × 100)只保留達到或超過你設定百分比的明細,並把差異%標在「篩選」欄。
    • 單位成本或標單位成本為 0 的明細,標記為 (標準)單位成本=0 一併列出(提醒成本可能漏設)。
  • 差異%填 0 即清除篩選、顯示全部明細。

報表選擇與列印套表

  • 「出貨明細」頁列印鈕上方的報表選擇決定明細列印的排序與套表:客戶PFIT1_1產品PFIT1_2日期PFIT1_3單號PFIT1_4業務PFIT1_5
  • 切換報表選擇會即時改變「出貨明細」頁的排序(客戶別/產品別/交易日期別/單號別/業務別)。
  • 列印前若無資料會跳「無資料可列印」。

列印/預覽/Email/Excel

  • 各頁籤的列印工具列提供預覽、列印、Email、Excel 四種輸出。
  • Excel 匯出名稱:出貨明細=「毛利分析表」、產品彙總/客戶彙總/業務彙總/類別彙總/日期彙總/單號彙總=各頁名稱、群組彙總=「族群彙總」;彙總頁籤套表依序為 PFIT12(產品)、PFIT13(客戶)、PFIT14(業務)、PFIT15(類別)、PFIT16(日期)、PFIT17(單號)、PFIT18(群組)。

樞紐分析表

  • 若該資料表設定了對應的樞紐分析表範本LCL樞紐分析表),「出貨明細」頁的樞紐下拉會列出可用範本,按 樞紐分析表 會把目前資料 COPY 到暫存目錄、開啟 Excel 範本並 RefreshAll 重新整理樞紐。
  • 範本檔不存在時跳「查無樞紐分析表之檔案」。

包含金額選項

舊版另有一個 包含金額 勾選,只有當程式參數(IS_備註)含「單價」時才會顯示並預設勾選,一般情況隱藏,不影響毛利計算。

列印

新版 TsERP 在毛利率分析下提供兩張標準彙總報表(FastReport,A4),供財務部月報使用;兩張皆可加入自訂查詢面板的彙整列印,與其他月報查詢合併成單一 PDF。

報表編號 報表名稱 資料來源 內容與排序
M160-1 客戶毛利率分析表 客戶彙總 只列毛利率低於 10% 的客戶,依毛利率由低到高排序,用於挑出低毛利客戶檢討
M160-2 品項毛利率分析表 產品彙總 依品號(產品層)彙總,依毛利率由低到高排序,全品項皆列

兩張報表的表頭都會帶入查詢條件的交易日期起訖(報表期間)。

毛利率低於 10% 以紅字標示

兩張報表中毛利率低於 10% 的資料列,毛利率欄位會自動以紅字呈現(FastReport 原生 Highlight 條件格式),方便一眼看出低毛利的客戶與品項。M160-1 因為本身只收錄 <10% 的客戶,整份清單都是紅字。

操作方式:查詢出結果後,於工具列的列印/預覽入口選擇 M160-1 客戶毛利率分析表M160-2 品項毛利率分析表,即可預覽、列印或匯出 PDF。

需先查出資料才能列印

列印前請先按 查詢 帶出資料;出貨明細為空時系統視為無可列印資料。

常見問題

查不到任何出貨資料?

請確認:交易日期區間(預設只有「當月」)內確實有出貨;且至少勾選了出貨單出貨退回單其中一項。固定只抓交易別碼 SASBSF 的明細,其他單別不在此報表範圍。

毛利率特別高或某筆利潤等於整筆金額?

利潤=本幣未稅 − 成本,成本取自出貨明細既有的成本欄位。若該出貨的成本為 0(漏結轉),利潤會等於整筆未稅、毛利率偏高。可用標準單位成本差異篩選(標準)單位成本=0 的明細挑出來檢查。

標準成本/標準利潤是 0?

標準成本來自標準成本單號。請確認:起始日期那個月有 A% 開頭的標準成本單(系統會自動帶入),且該品號在 coststd_d1 內有對應的標準單位小計。找不到標準單號時整欄會是 0。

某客戶或某產品的金額是負的?

出貨退回單(SB)的數量與金額會轉成負數併入彙總。若該客戶/產品的退貨大於出貨,金額、利潤與毛利率都會是負值,屬正常結果。

業務員彙總跟我認知的不一樣?

業務別設定而定:歷史業務員(預設)用的是出貨當下記的業務員;最新業務員改用客戶主檔目前掛的業務員。兩者在客戶換業務後會不同。

列印出來的毛利率為什麼有些是紅字?

這是刻意的提醒:報表中毛利率低於 10% 的資料列,毛利率欄位會以紅字標示(FastReport 條件格式),方便挑出低毛利的客戶(M160-1)與品項(M160-2)檢討。

M160-1 客戶毛利率分析表為什麼只有幾筆?

M160-1 依設計只列出毛利率低於 10% 的客戶(依毛利率由低到高排序),是低毛利客戶檢討清單。若要看全部客戶的毛利,請改看畫面上的「客戶彙總」頁籤;若要看各品項毛利,請印 M160-2 品項毛利率分析表。

相關功能


需補截圖清單

待新版 runtime 驗收後補拍,放入 docs/M-EIS/images/

  1. qry_profit_nogi-step1.png — 查詢條件面板(客戶/日期/品號/業務/集團/倉庫/稅別/標準成本單號)
  2. qry_profit_nogi-step2.png — 出貨明細頁與下方合計欄(出貨總額/成本總額/利潤總額/毛利率)
  3. qry_profit_nogi-step3.png — 八個彙總頁籤切換(建議以產品彙總「名次」排序為主畫面)
  4. qry_profit_nogi-step4.png — 標準單位成本差異篩選與列印/Excel 工具列
  5. qry_profit_nogi-print-m160-1.png — M160-1 客戶毛利率分析表列印預覽(毛利率 <10% 紅字)
  6. qry_profit_nogi-print-m160-2.png — M160-2 品項毛利率分析表列印預覽(毛利率 <10% 紅字)