程式資訊
- 程式 ID:
OUTSOURCINGFILLRATE - 所屬子系統:F.生產管理
- 狀態:stable
委外廠商達交率查詢¶
功能簡介¶
「委外廠商達交率查詢」用委外(外包)採購單的指交日期與暫收單的實際進貨日期比對,統計每家委外廠商在指定期間內的準時交貨情形,算出兩個核心指標:達交率 (Fill Rate) 與 延納率 (Delay Rate)。適合生管/委外管理人員定期檢視外包協力廠商的交期表現。
本表與採購模組的廠商達交率查詢(VENDORFILLRATE)共用同一套統計邏輯與後端 SP,差別在於本頁預設的廠商類別為「外包廠商」,且各項預設值與急單天數參數對應到外包情境(見欄位連動與附加功能)。
畫面分成左右兩張表:
- 左表(彙總):以廠商為單位,列出交貨件數、準交件數、延交件數、急單件數,以及由前述件數算出的達交率/延納率,最後附一列「合計」。
- 右表(明細):逐張委外採購單序號列出指交日期、訂購日期、訂貨量、品號品名與是否結案,方便追查是哪幾筆單造成延交。
達交率 vs 延納率
本表的兩個指標是同一件事的兩面:延納率 = 延交件數 ÷ 交貨件數 × 100,達交率 = 100 − 延納率。延納率越低、達交率越高,代表該委外廠商交期表現越好。
前置需求¶
- 權限:F.生產 →
委外廠商達交率查詢的瀏覽權限。 - 基礎資料:統計結果的正確性取決於下列資料的維護狀況——
| 資料 | 影響的結果 |
|---|---|
| 委外採購單(含明細指交日期、訂購日期) | 交貨件數母數、急單判定、延納日數計算 |
| 暫收單(含暫收日期、數量、NG 數量) | 完納日期、交貨量/不良量/入庫量、未納量 |
| 廠商主檔(採購/外包屬性、簡稱) | 廠商分類(採購/外包)、彙總列的廠商簡稱 |
| 工作日曆 | 急單前置天數與延納日數均以工作天計算 |
系統參數 6002(外包急單天數) |
急單判定的前置工作天數 |
急單天數參數(外包用 6002)
本頁預設廠商類別為外包,急單前置天數取系統參數 6002;若參數值不大於 0,外包預設帶 3 個工作天。若把廠商類別改成採購,則改取參數 6001(不大於 0 時預設 14 個工作天)。
操作步驟¶
本表為純查詢報表,沒有新增/修改/刪除單據的動作,操作集中在「設定條件 → 查詢 → 檢視」。
步驟① 進入並設定查詢條件¶
- 開啟「委外廠商達交率查詢」,系統自動進入新增狀態並帶入預設條件(見欄位說明)。
- 確認或調整 Beginning Date(起始日期) / Ending Date(截止日期):預設為本月一日 ~ 今天。後端依此日期區間撈出該期間的委外採購單明細與對應暫收單。
- 選擇 Vendor Type(廠商類別):預設為
外包廠商,一般委外查詢維持此預設即可;此選擇同時決定急單天數要取哪一支系統參數。 - 視需要勾選 IncludedUrgentOrder(含急單):此勾選控制彙總表「延交件數/延納率」是否要計算(見欄位連動與附加功能)。

步驟② 執行查詢¶
- 按
查詢按鈕,系統向後端 SP 取資料、合併暫收單並逐筆計算延納情形,過程中狀態列每處理 100 筆會顯示「延交明細表...」的進度訊息。 - 查詢完成後:
- 左表(彙總) 顯示各廠商的件數統計與達交率/延納率,最後一列為「合計」。
- 右表(明細) 顯示逐筆委外採購單序號的交期與數量明細。

小技巧
調整條件後再按一次 查詢 即可重算,系統會把上一次的結果標記刪除後重新填入,不需重開畫面。兩張表的格線都支援欄位排序與匯出 Excel(於格線上按右鍵)。
本頁沒有列印鈕
本 F-生產版委外達交率查詢的畫面只提供 查詢,沒有列印或轉傳票按鈕。若需出表,請使用採購模組的廠商達交率查詢列印頁。
欄位說明¶
查詢條件¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| Document No(單號) | — | 系統欄位,唯讀;本頁為純查詢、不存單,通常保持空白 |
| Created Date(建檔日期) | — | 唯讀,預設今天 |
| Query Time(查詢時間) | — | 唯讀,按下查詢時自動填入當下時間 |
| Beginning Date(起始日期) | ✔ | 查詢期間下界,預設本月一日 |
| Ending Date(截止日期) | ✔ | 查詢期間上界,預設今天 |
| Vendor Type(廠商類別) | ✔ | 採購廠商(1) 或 外包廠商(2),本頁預設外包廠商 |
| IncludedUrgentOrder(含急單) | — | 控制彙總表延交件數/延納率是否計算,預設未勾選,存為 Y/空值 |
彙總表(左表)欄位¶
| 欄位 | 說明 |
|---|---|
| Vendor Code / Vendor Name(廠商代號 / 廠商簡稱) | 來自廠商主檔;合計列顯示 Total / 合計 |
| Order Record Count(交貨件數) | 該廠商在區間內的委外採購單序號筆數(達交率母數) |
| On Time Record Count(準交件數) | 交貨件數 − 延交件數 |
| Delayed Record Count(延交件數) | 延納日數 > 0 或尚未完納的筆數 |
| Urgen Record Count(急單件數) | 被判定為急單的筆數 |
| Delay Rate(延納率) | 延交件數 ÷ 交貨件數 × 100,四捨五入至小數 2 位 |
| Fill Rate(達交率) | 100 − 延納率 |
| Notes(備註) | 一般為空 |
明細表(右表)欄位¶
| 欄位 | 說明 |
|---|---|
| Vendor Code / Vendor Name(廠商代號 / 廠商簡稱) | 該委外採購單序號的供應廠商 |
| Order No / Order Line No(訂購單號 / 訂購單序號) | 委外採購單與其明細序號 |
| Order Date(訂購日期) | 委外單下單日,急單判定的基準 |
| Purchase Order Line Pkid(採購明細鍵值 purchid) | 採購單明細主鍵,內部用以對應暫收單 |
| SKU / SKUDescription(品號 / 品名) | 委外品項 |
| Quantity(訂貨量) | 委外採購單序號的訂購數量 |
| Designated Date(指交日期) | 委外單指定的交貨日(延納判定的基準) |
| Is Closed(是否結案) | 該採購單序號的結案狀態 |
| Notes(備註) | 被判定為急單者標示「急單」 |
明細的數量與完納日是內部計算欄
後端在合併暫收單時會算出每筆的完納日期、交貨量、不良量、入庫量、未納量、延納日數等中間值(用以判定彙總的延交件數與比率),但右表畫面只呈現上表所列的欄位。完整的計算邏輯見欄位連動與附加功能。
欄位連動與附加功能¶
本節說明「按下查詢後系統實際做了什麼」,全部來自後端統計邏輯。使用者只需設定條件即可,但理解這些連動有助於解讀結果。
進入畫面時帶入的預設值¶
當你開啟本表(進入新增狀態),系統會:
- Created Date(建檔日期) 帶入今天。
- Beginning Date(起始日期) 帶入今天所在月份的一日、Ending Date(截止日期) 帶入今天。
- Vendor Type(廠商類別) 預設為「外包廠商」(代碼 2)。
- 記錄建檔人員,並清空左右兩張結果表。
按下 查詢 時的處理流程¶
當你按下 查詢,系統依序:
- 在 Query Time(查詢時間) 欄位寫入當下時間。
- 依 Vendor Type(廠商類別) 決定急單天數:外包取系統參數
6002(≤ 0 時用 3)、採購取6001(≤ 0 時用 14)個工作天。 - 呼叫後端 SP(
TWORK_QRY_PURCHM)撈出區間內的委外採購單明細與對應的暫收單兩份資料。 - 把上一次查詢結果(左右兩表)標記為刪除,再填入這次的彙總與明細。
急單判定(明細「Notes」欄)¶
對每一筆採購單序號,系統用訂購日期往後推「急單天數」個工作天:
- 當某筆資料的 Designated Date(指交日期) ≤ 訂購日期 + 急單天數(工作天) 時,系統會把該筆 Notes 標為「急單」,代表這張單給協力廠商的備料前置期太短。
- 反之 Notes 留空。
「含急單」勾選會影響延交件數的計算口徑
勾選 IncludedUrgentOrder(含急單) 會以 Y 傳入後端,控制彙總表「延交件數」的篩選條件:
- 勾選(
IncludedUrgentOrder = Y):延交件數依「延納日數 > 0 或尚未完納」統計,急單筆數也計入延交。 - 未勾選:延交件數的篩選條件不成立,該欄一律算為 0,連帶延納率為 0、達交率不換算(留 0)。
無論勾選與否,Urgen Record Count(急單件數) 欄都會獨立列出被判定為急單的筆數。請以件數欄交叉判讀比率。
暫收單合併與完納日/數量推算¶
系統把每筆採購單序號(以 Purchase Order Line Pkid 對應)的所有暫收單依暫收日期排序後逐筆累加:
- 完納日期:取暫收日期中最晚的一筆。若採購單序號交貨未足量(入庫量 < 訂貨量),完納日期會被清空,代表「尚未完納」。
- 交貨量/不良量:累加暫收單的數量與 NG 數量;入庫量 = 交貨量 − 不良量。
- 未納量:只在「完納日 ≥ 指交日」的暫收筆數上累加合格交貨量(交貨量 − NG),代表逾期才入庫的量。
延納日數計算¶
- 若已交足量(入庫量 ≥ 訂貨量):
- 完納日 ≤ 指交日 → 延納日數 = 0、未納量歸 0(準時交貨)。
- 完納日 > 指交日 → 延納日數 =(指交日到完納日的工作天數 − 1),最小 0。
- 若尚未交足量:完納日期清空,延納日數 =(指交日到今天的工作天數 − 1),最小 0——也就是「到目前為止已經延了幾個工作天」。
彙總(左表件數與比率)¶
系統把明細依廠商分組統計:
- Order Record Count(交貨件數) = 該廠商的採購單序號總筆數。
- Delayed Record Count(延交件數) = 延納日數 > 0 或尚未完納的筆數;此項受「含急單」勾選控制(見上)。
- Urgen Record Count(急單件數) = Notes 為「急單」的筆數。
- On Time Record Count(準交件數) = 交貨件數 − 延交件數。
- 接著呼叫比率計算:延納率 = 延交 ÷ 交貨 × 100(四捨五入 2 位)、達交率 = 100 − 延納率。當交貨件數或延交件數為 0 時,兩個比率均維持 0。
- 最後加總所有廠商,產生一列
Total/ 合計,並以總件數重新計算合計的達交率/延納率。
與採購版(廠商達交率查詢)的關係¶
- 兩支程式(本頁
OUTSOURCINGFILLRATE與採購模組VENDORFILLRATE)共用同一套統計邏輯(廠商延納統計Bll)與後端 SP(TWORK_QRY_PURCHM)。 - 差別在預設廠商類別:本頁預設外包(2),採購版預設採購(1);廠商類別連動的急單天數參數也隨之為
6002/6001。 - 採購版另提供列印頁;本生產版畫面只有查詢,無列印鈕。
常見問題¶
查不到任何資料?
請確認:(1) 起訖日期區間內有可統計的委外採購單與對應暫收單;(2) Vendor Type 選對了類別(採購/外包屬性以廠商主檔為準,本頁預設外包)。日期區間的實際比對欄位由後端 SP TWORK_QRY_PURCHM 決定。
達交率/延納率都顯示 0?
當廠商的交貨件數為 0,或延交件數為 0(全部準時交貨)時,比率會維持 0。前者代表區間內沒有可統計的交貨筆數;後者其實是好事,表示沒有延交(達交率應視為 100,但程式在延交件數為 0 時不換算、留 0,請以件數欄判讀)。另外若未勾選「含急單」,延交件數會被算為 0,連帶比率為 0——詳見欄位連動與附加功能。
勾不勾「含急單」差在哪?
此勾選控制彙總表「延交件數/延納率」是否計算:勾選時才會依「延納日數 > 0 或尚未完納」統計延交件數(急單也計入);未勾選時延交件數一律為 0、延納率為 0。Urgen Record Count(急單件數) 欄不受此勾選影響,始終獨立顯示被判定為急單的筆數。
急單天數是怎麼定的?可以改嗎?
急單前置工作天數取自系統參數:本頁外包用 6002、若改成採購則用 6001。參數值 ≤ 0 時,外包預設 3、採購預設 14 個工作天。需調整請洽系統管理員維護對應參數。
某筆明細看起來貨早就到了,卻被算成延交?
若該採購單序號的入庫量尚未達到訂貨量,系統會把完納日期清空,並以指交日到今天的工作天數計延納日數——也就是「目前尚未交足,已累積延了幾天」。請補登或核對該委外單的暫收單交貨量/NG 量。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/F-Production/images/):
outsourcingfillrate-step1.png— 條件列(起訖日期、廠商類別=外包、含急單勾選、查詢鈕)outsourcingfillrate-step2.png— 查詢後左右雙表(左彙總含合計列、右明細)