程式資訊
- 程式 ID:
PURCH - 所屬子系統:G.採購付款
- 狀態:stable
採購單¶
功能簡介¶
「採購單」是向廠商正式下訂的交易單據,記錄向哪一家廠商、買哪些品號、數量、單價、預訂交期與送貨地點。它是採購流程的核心單據:上游可由請購單經請購轉採購帶入,下游則由暫收單與進貨單沖回「已交數量/暫收數量」,並提供採購單列印出單給廠商。採購人員與採購主管是主要使用者。
一張採購單分成三段:
- 主檔:廠商、幣別、匯率、稅別、付款/運送條件、送貨地點等整單共用資訊。
- 明細:逐列的品號、數量、單價、預訂交期,以及由後續單據回填的已交/暫收/未交數量。
- 比價區:選到某一明細列時,下方自動列出該品號在不同廠商的最新報價,方便比價。
前置需求¶
- 權限:G.採購 →
G-040 採購單的新增/修改/刪除/瀏覽/列印權限。其中「金額、單價」欄位另受可看價格權限控管,無權者整個價格區塊(單價、原幣未稅、本幣未稅、總金額)會隱藏。 - 基礎資料:下列主檔會直接影響本單能不能正確帶值與存檔——
| 資料 | 影響的結果 |
|---|---|
| 廠商基本資料(SPDATA) | 廠商簡稱、預設幣別/稅別/交易條件/付款方式/運送方式/收付條件/送貨地點/是否暫收——輸入廠商代號即一併帶出(見欄位連動) |
| 品號主檔(庫存品號) | 明細的品名/單位、品號的包裝量(箱)、以及依前置時間推算的預訂交期 |
| 倉庫主檔 | 進貨倉庫對應的送貨地點;新增時自動帶預設倉庫 |
| 幣別與匯率資料 | 幣別/匯率;非本位幣時換算本幣金額 |
| 稅別主檔 | 稅別的稅率,影響含稅單價與含稅金額計算 |
| 交易條件 / 付款方式 / 運送方式(代碼表 C202 / C203 / C201) | 主檔三個下拉與明細的運送方式 |
| 收付條件(PaymentTerm) | 收付條件號與其說明 |
系統參數 3017 |
新增時帶入的預設進貨倉庫 |
操作步驟¶
新增採購單¶
- 按工具列
新增。系統自動帶入下列預設值(詳見欄位連動與附加功能):採購別、本位幣、匯率 1、預設進貨倉庫、採購日期=今天。 - 在廠商代號輸入或以放大鏡查詢廠商,系統會帶出廠商簡稱,並一併帶入該廠商預設的幣別、稅別、交易條件、付款方式、運送方式、收付條件、送貨地點、是否暫收(沒設幣別時帶本位幣)。
- 確認採購日期、進貨倉庫、幣別/匯率、稅別等主檔欄位(廠商帶出的值都可手動覆蓋)。
- 在明細區逐列輸入:
- 品號:輸入或查詢品號,系統自動帶出品名、單位、廠牌等,並依品號前置時間推算預訂交期。
- 數量、單價:輸入後系統即時算出該列原幣未稅/本幣未稅,並累計到主檔總數量與總金額。
- 視需要填預訂交期、備註、需求部門、請購人員、送貨地點等。
- 按工具列
存檔。存檔前系統會檢查採購日期、廠商代號、幣別、進貨倉庫、匯率皆已輸入,且明細至少有一列有品號與數量(品號空白或數量為 0 的列會被視為刪除)。
修改與刪除¶
- 先用工具列的上一筆/下一筆/查詢定位到要處理的採購單。
- 按
修改進入編輯。已有已交數量或暫收數量的明細列不可再改(該列鎖定,見CanEdit)。 - 改完按
存檔;若要放棄改用取消。 - 按
刪除可刪整張採購單(依權限與後續單據狀態而定)。
查價與比價¶
- 在某一明細列按
查價按鈕(需有可看價格權限),系統查出該品號的歷史報價,並把畫面切到比價(特殊查詢)頁籤。 - 只要在明細列之間移動,下方比價區會自動顯示該品號在不同廠商的最新報價,採購日期作為查價基準日。
請購轉採購¶
- 按工具列延伸功能
請購轉單(延伸功能 1)。 - 在彈出的請購轉採購視窗挑選要轉入的請購明細,確定後系統會把產生的採購單定位顯示出來。
確認¶
- 在瀏覽狀態按延伸功能
確認(延伸功能 4)。 - 系統會自動進入編輯、把主檔確認欄蓋上目前使用者帳號後存檔;存檔失敗會自動取消,不會留下半套資料。
特殊修改¶
- 在瀏覽狀態按延伸功能
特殊修改(延伸功能 3),進入框架的特殊修改模式。 - 此模式用於已成立的採購單做受限的調整(VFP 原版僅開放單價、備註、是否結案,且單價不得高於原單價)。
列印¶
- 按工具列
列印。系統以目前採購單的採購單號作為起訖條件帶入採購單列印。 - 在列印頁可調整單號區間後輸出。
發送供應商協同¶
讓沒有安裝 ERP 的供應商,用手機或電腦瀏覽器開一條安全連結,就能看到這張採購單的明細並回覆交期,你再回到系統審閱回覆。整段流程不會即時改動採購單,供應商回覆後仍由你決定是否套用。
- 先用上一筆/下一筆/查詢,把畫面定位到要發送的那張採購單(先確認廠商代號、明細品項與需求交期都正確)。
- 按工具列
發送供應商協同。系統會針對這張採購單產生一條一次性安全連結,並自動寄信到該廠商在廠商基本資料登記的聯絡信箱。 - 送出後畫面會提示已寄出。之後供應商回覆的內容,到供應商回覆審閱頁檢視與套用。
供應商收到的信件裡有一條專屬連結,點開即是這張採購單的線上明細表單(品項、數量、需求交期),供應商可以一鍵確認、逐行改交期、或拒接。信中與表單都不會出現任何單價或金額。
連結有效期與重發
- 供應商連結的有效期為 14 天,逾期點開即失效。
- 對同一張採購單再按一次
發送供應商協同(重發)會使先前那條連結立即失效,供應商必須改用最新一封信的連結。內容有更新、或供應商反映連結打不開時,重發即可。 - 連結不需帳號密碼、本身即權限——請只寄給該供應商窗口,不要轉發給第三方(詳見供應商回覆審閱 → 安全提醒)。
回覆不會自動改單
供應商回覆是一份「快照」,系統不會自動更新採購單的預訂交期。你要在供應商回覆審閱頁逐行看過、按「套用交期」後才會寫回採購單。
欄位說明¶
主檔欄位¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 採購單號 | 系統 | 存檔時依規則自動編號,唯讀 |
| 採購日期 | ✔ | 短日期;新增預設今天 |
| 進貨倉庫 | ✔ | 倉庫查詢;新增帶系統參數 3017 的預設倉庫 |
| 廠商代號 | ✔ | 廠商查詢,超連結可開廠商資料 |
| 廠商簡稱 | — | 由廠商代號自動帶出,唯讀 |
| 幣別 | ✔ | 新增預設本位幣;改幣別會重帶匯率 |
| 匯率 | ✔ | 新增預設 1;幣別變動時取採購日期的賣出匯率 |
| 輸入人員 | — | 唯讀 |
| 傳真日期 | — | 短日期 |
| 交易條件 / 付款方式 / 運送方式 | — | 下拉代碼(C202 / C203 / C201) |
| 稅別 | — | 稅別查詢,帶出稅率供金額計算 |
| 收付條件號 | — | 收付條件查詢,帶出說明 |
| 送貨地點 | — | 多行文字;由進貨倉庫或廠商預設帶出,可手改 |
| 採購備註 / 備註1 / 頁尾備註 | — | 多行文字 |
| 是否結案 | — | 是/否;設為「是」會把所有明細列一併結案 |
| 總數量 / 原幣金額 / 本幣金額 | 系統 | 由明細彙總,唯讀;無看價權限時隱藏金額 |
明細欄位¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 序號 | 系統 | 列序號,唯讀 |
| 品號 | ✔ | 品號查詢;帶出品名、單位、包裝量(箱),並推算預訂交期 |
| 品名 | — | 由品號帶出,唯讀 |
| 廠商品號 | — | 廠商端品號 |
| 數量 | ✔ | 採購數量;不可小於已交數量 |
| 單位 | — | 由品號帶出,可改 |
| 單價 | — | 需看價權限;輸入後算金額 |
| 原幣未稅 / 本幣未稅 | 系統 | =數量 × 單價(本幣再乘匯率),唯讀 |
| 預訂交期 | — | 短日期;新增依品號前置時間或預設今天 +14 天 |
| 已交數量 / 暫收數量 / NG數量 / 未交數量 | 系統 | 由進貨/暫收單回填,唯讀 |
| 備註 | — | 明細備註 |
| 結案 / 是否結案 | — | 該列結案勾選 |
| 運送方式 / 送貨地點 / 特別要求 | — | 明細層的運送與交貨資訊 |
| 替換前品號 | — | 替代料來源品號 |
| 需求部門 / 請購人員 / 姓名 | — | 需求來源;請購人員帶出姓名 |
| 須否成績表 / 檢驗別 | — | 品質檢驗相關 |
| 暫定週數 / 回覆日期 | — | 交期回覆資訊 |
| L/C號碼 / 關稅pu | — | 進口採購相關,唯讀 |
| 用途 / 廠牌 / 停用 / 管制 / 中文描述 | — | 由品號主檔帶出,多為唯讀 |
| 請購pkid / 請購單號 / 訂單pkid | 系統 | 來源追溯欄位,唯讀 |
欄位連動與附加功能¶
這一節整理「輸入某欄位、按某按鈕後系統會做什麼」,全部來自實際程式碼。
新增時的預設值¶
- 按
新增後,主檔自動帶:採購別=1、匯率=1、幣別=本位幣、進貨倉庫=系統參數3017設定的倉庫、送貨地點=該倉庫的送貨地點、公司代碼=1、採購日期=今天。 - 新增一列明細時,預訂交期先預設為今天 +14 天;若該列品號帶得出前置時間,會再以品號前置時間覆蓋為實際推估交期。
備註
明細列建立時會自動把當下主檔掛為該列的稅務母體,因此明細的含稅計算會跟著主檔的稅別、匯率走,不需逐列再選稅別。
主檔欄位連動¶
- 當你輸入或修改廠商代號(失焦時),系統會以廠商主檔自動帶出:廠商簡稱、收付條件號+條件說明、幣別(無設定時用本位幣)、稅別、交易條件碼、付款方式碼、運送方式碼、送貨地點、是否暫收。查不到該廠商時,這些欄位會清空(幣別回本位幣)。
- 當你選擇進貨倉庫,系統會把該倉庫設定的送貨地點帶到主檔送貨地點欄;查不到倉庫時送貨地點清空。
- 當你變更幣別,幣別控件會依採購日期自動帶出對應的賣出匯率到匯率欄。
- 當你修改匯率,系統會重新計算所有明細的原幣/本幣金額與主檔總金額(透過稅額計算器重算)。
- 當你把主檔是否結案設為「是」,系統會把每一列明細的「是否結案」一併設為
Y。
規劃中/尚未提供
VFP 原版另有「依含稅單價反推未稅價/反推稅率」的雙向換算。目前新版 C# 採由未稅價算含稅金額(單向,存檔時依稅率計算),尚未提供由含稅反推未稅的輸入方式。
明細欄位連動¶
-
當你輸入品號,系統會:
- 帶出該品號的品名與單位。
- 若該列預訂交期尚未填,依品號的前置時間(leadtime)自動推算預訂交期(採購日期 + 前置天數)。
- 帶出品號的包裝量(箱)。
(廠牌、中文描述、停用/管制說明等欄位顯示的是 DB 檢視表帶出的品號資料,非由本列輸入即時觸發。) - 當你修改數量,系統會即時重算該列金額,並做檢核:數量不可小於已交數量。不符時該列會出現「Quantity must be greater than [Received Quantity]」的紅框錯誤,需修正後才能存檔。 - 當你修改單價,系統會即時重算該列原幣未稅/本幣未稅。 - 數量變動時,系統同步累計主檔的總數量並觸發該列查價;原幣未稅變動時累計主檔的總原幣金額。 - 金額計算:原幣未稅=數量 × 單價(依幣別小數位四捨五入);本幣未稅=匯率為 1 時等於原幣未稅,否則為原幣 × 匯率。含稅金額在存檔時依稅別稅率一併算出。
小技巧
已有已交數量或暫收數量的明細列會自動鎖定(不可編輯),避免改動已進貨的內容。要調整這類列請改走後續的進貨/暫收作業。
查價與比價(比價區)¶
- 明細列上的
查價按鈕:按下後查出該品號歷史報價,把作業面板切到「比價(特殊查詢)」頁籤,並重新整理下方比價區。基準日為主檔採購日期、廠商為主檔廠商。 - 選列即比價:在瀏覽狀態下,只要移動到不同明細列,下方比價區會自動以該品號查出不同廠商的最新報價。進入編輯狀態時比價區會清空。
- 查價/比價的單價區塊都受可看價格權限控管,無權者看不到。
工具列延伸功能¶
| 動作 | 對應功能 | 行為 |
|---|---|---|
請購轉單 |
延伸功能 1 | 開請購轉採購視窗,選好後把產生的採購單定位顯示 |
| EDI 匯出 | 延伸功能 2 | 將目前採購單主檔+明細包成 EDI XML 檔輸出到本機 EDI 目錄,完成後重新整理 |
特殊修改 |
延伸功能 3 | 進入框架的特殊修改模式(受限欄位調整) |
確認 |
延伸功能 4 | 瀏覽狀態下自動進編輯 → 主檔「確認」蓋目前使用者 → 存檔;失敗自動取消 |
確認比對(採購量 vs 訂單量)¶
採購單的「確認」邏輯(PurchBll.Confirm)會以採購單的請購/品號為鍵,向銷售訂單資料比對:當某品號的採購數量與對應訂單數量不一致時,回傳一份差異清單(顯示訂單號、品號、ORDER/PO 數量),提醒採購量與訂單量對不上。
規劃中/尚未提供
VFP 原版工具列另有 工作流程(送審)、快速審核、結案、修改交期、進貨(進貨/暫收查詢)、L/C 等按鈕。這些在目前新版 C# 採購單尚未提供對應按鈕;其中「請購轉單」「確認」「特殊修改」已移植。明細的拆分功能(SplitCommand / 採購拆單)程式碼已存在,但對應欄位在畫面上目前為關閉狀態。
常見問題¶
為什麼看不到單價、金額欄位?
單價與金額(原幣未稅、本幣未稅、總金額)受可看價格權限控管。沒有該權限時整個價格區塊會隱藏,請洽系統管理員開通。
存檔時一直被擋,說某欄位未輸入?
存檔前會檢查採購日期、廠商代號、幣別、進貨倉庫、匯率都要有值,匯率必須大於 0。另外明細至少要有一列填了品號且數量不為 0——品號空白或數量為 0 的列會被當成刪除。
改數量時跳出「Quantity must be greater than [Received Quantity]」?
採購數量不可小於已交數量。該品號已經進貨的數量會回填到「已交數量」,所以新數量必須 ≥ 已交數量才合法。
某一列明細為什麼不能編輯?
只要該列有已交數量或暫收數量(已經進貨或暫收過),系統會鎖定該列以免改到已交易內容。要調整請改由後續進貨/暫收作業處理。
本幣金額怎麼跟原幣一樣,沒有換算?
當匯率為 1(例如幣別就是本位幣)時,本幣金額本來就等於原幣金額。若是外幣卻沒換算,請確認匯率欄是否被帶成 1,必要時重選幣別讓系統依採購日期重帶賣出匯率。
輸入廠商後,交易條件/付款方式等沒有變?
輸入廠商代號並失焦後,系統才會帶出該廠商預設的廠商簡稱、幣別、稅別、交易條件、付款方式、運送方式、收付條件、送貨地點等。若直接打字未離開欄位、或該廠商主檔本身沒設這些預設值,畫面就不會變動——請確認游標已離開廠商代號欄,並到廠商基本資料補齊預設條件。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/G-Purchasing/images/):
purch-step1.png— 採購單主檔+明細整體畫面purch-step2.png— 新增採購單的主檔輸入區(廠商、幣別、倉庫帶值)purch-step3.png— 明細列輸入(品號帶值、數量單價算金額)purch-step4.png— 比價區(選列後不同廠商最新報價)purch-step5.png— 請購轉採購彈窗purch-send-collab.png— 按下發送供應商協同後的已寄出提示畫面