跳轉到

程式資訊

  • 程式 IDPK
  • 所屬子系統:E.營業收款
  • 狀態:stable

裝箱單(Packing List)

功能簡介

「裝箱單」用來建立外銷出貨的 Packing List,記錄每筆出口品項要裝幾箱、每箱的數量/淨重/毛重/材積,並自動推算每筆明細的起訖箱號。它通常接在 CI(商業發票 / Commercial Invoice) 之後製作:先有 CI,再以 CI 為來源把出貨品項一次帶進裝箱單,由出口承辦人員補上裝箱資訊後印出隨貨文件。

整張單據由「表頭」(一筆 CI 對應一張裝箱單)與「明細」(每個品項一列或多列)組成,最後彙總出整張單的總金額/總箱數/總淨重/總毛重/總材積/總數量供核對。

與 CI、PI 的關係

裝箱單的 CIDocument No 對應一張 商業發票 CIPIDocument No 對應 預估發票 PI。裝箱單只負責「怎麼裝箱」,金額與客戶資訊都是從 CI 帶過來的。

前置需求

  • 權限:E.銷貨 → E-100 裝箱單 的瀏覽/新增/修改/刪除權限。
  • 基礎資料:下列資料會直接影響帶入與計算結果——
資料 影響的結果
商業發票 CI(同 cino Import 時帶入的表頭與明細品項(SKU、單價、單箱數量、箱重、箱材積)
客戶主檔 輸入客戶代號後自動帶出客戶簡稱與幣別
品號(庫存)主檔 輸入 SKU 後自動帶出產品描述單位
幣別/匯率資料 幣別 控件依製表日期取買入匯率;金額小數位數依幣別設定

操作步驟

新增裝箱單(以 CI 帶入最常用)

  1. 從主選單開啟 E.銷貨 → 裝箱單
  2. 點選工具列 新增。系統自動帶入:
    • 製表日期=今天。
    • 幣別=本位幣(之後輸入客戶代號會改成客戶幣別)。
  3. CIDocument No 輸入或查詢要裝箱的商業發票單號。
  4. 按欄位旁的 Import 按鈕,系統依該 CI 把表頭欄位(CI 日期、客戶代號、幣別、商品名稱、頁首/頁尾備註、正嘜)與明細品項一次帶入(詳見欄位連動與附加功能)。
  5. 視需要調整 BeginningBoxNo(起始箱號,預設 1)、Prefix(前置文字)、Suffix(後置文字),讓系統依序編排箱號與箱號文字。
  6. 逐列補齊或修正明細的箱數、單箱淨重/毛重、箱長寬高等。
  7. Order By Line No 依序號重排每列的起始箱號/截止箱號
  8. 點選 儲存

    小技巧

    即使沒有對應的 CI,也可以直接 新增 後手動逐列輸入品項建立裝箱單,Import 只是把 CI 明細一次帶進來的捷徑。

修改 / 刪除

  1. 用工具列的上一筆/下一筆或 CIDocument No 查詢功能切換到要處理的單據。
  2. 修改 後調整欄位,或點 刪除 移除整張單,最後 儲存

    已轉退稅的單據不可修改

    若表頭 轉退稅註記Y(已產生轉退稅出口報單),系統會擋下修改並提示「請刪除轉退稅出口報單資料後,再行修改」。需先處理出口報單,才能回頭改裝箱單。

欄位說明

表頭

欄位 必填 說明/格式/預設
CIDocument No(cino) 商業發票單號,本單主鍵;Import 來源
CIDocument Date(ci日期) CI 日期;Import 時由 CI 帶入
Customer Code(客戶代號) 輸入後自動帶客戶簡稱與幣別
Customer Name(客戶簡稱) 唯讀,依客戶代號自動帶出
Document Date(製表日期) 製單日期,新增時預設今天
PIDocument No(pino) 對應的預估發票 PI 單號
Item Name(商品名稱) 商品名稱,Import 時由 CI 帶入
Currency(幣別) 新增預設本位幣;輸入客戶後帶客戶幣別
PageHeaderNotes(頁首備註) 列印於 Packing List 頁首的多行文字
PageFooterNotes(頁尾備註) 列印於頁尾的多行文字
Shipping Mark(正嘜) 嘜頭(外箱標示),多行文字
轉退稅註記 YN;為 Y 時鎖定修改
Total Amount/Box Quantity/NetWeight/GrossWeight/Volume/Quantity 全為系統彙總(唯讀),由明細加總

明細(每列一品項)

欄位 必填 說明/格式/預設
不足箱 Y 表示這列是 Import 拆出來的尾數(不滿一整箱)列
Line No(序號) 流水序號,Order By Line NoImport 自動編
前置文字/後置文字 由表頭 Prefix/Suffix 統一帶入,可逐列調整
起始箱號/截止箱號 改任一個會回算箱數;Order By Line No 會重排
Box Quantity(箱數) 改值會回算毛重/淨重/材積(=單箱值 × 箱數)
SKU(品號) 輸入後自動帶產品描述與單位
Customer SKU(客戶品號) 客戶端的品號
Quantity(數量) 改值會回算金額
Unit Price(單價) 改值會回算金額;Import 由 CI 帶入
Quantity Per Carton(單箱數量) 每箱裝幾個
Net/Gross Weight Per Carton(單箱淨重/毛重) 改值會回算整列淨重/毛重
Net/Gross Weight(淨重/毛重) 系統算出(單箱值 × 箱數)
Box Height/Length/Width(箱高/長/寬) 改任一個會回算單箱材積與 meas
VolumePerCarton/Volume(單箱材積/材積) 系統算出
meas 箱長×寬×高字串,系統組出
棧板毛重/pl meas/起訖棧板號/棧板數 棧板(pallet)相關資訊
結關日期 該品項結關日
Vendor Code(廠商代號) 供應廠商
Customer Order No(客戶訂單號) 客戶訂單編號
pk備註 該列備註

欄位連動與附加功能

這是裝箱單最關鍵的一節。以下「當你⋯,系統會⋯」全部來自實際程式行為。

表頭欄位連動

  • 新增時的預設值:按 新增 後,系統把製表日期設為今天、幣別設為本位幣。
  • 輸入客戶代號 → 帶幣別:在 Customer Code 輸入或選取客戶後,系統查客戶主檔,把表頭幣別改成該客戶設定的幣別。客戶簡稱(Customer Name)也會在切換單據時自動補上。
  • 幣別 → 金額小數位數:明細金額的四捨五入位數依表頭幣別的小數設定計算,所以 Import 或改幣別後金額顯示位數會跟著變。

Import:以 CI 帶入表頭與明細

當你輸入 CIDocument No 後按 Import(僅在新增狀態可用):

  1. 系統以該 cino 查 CI 資料(呼叫 TWORK_QRY_PK)。查無資料則不動作。
  2. 清空現有明細,重新依 CI 帶入,並把表頭欄位(製表日期=今天、CI 日期、客戶代號、公司代碼、幣別、商品名稱、頁首備註、頁尾備註、正嘜)一次填好。
  3. 明細以「SKU+單箱數量+箱重材積」等條件分組彙總後逐列建立,並自動:
    • 單箱數量算出整箱數(總數量 ÷ 每箱數量取整),帶入箱高/寬/長、單箱淨重/毛重,並算出單箱材積與 meas。
    • 不滿一整箱的尾數會另外拆成一列,序號加 A 前綴、不足箱Y,並按比例換算這箱的淨重/毛重。
    • BeginningBoxNo 開始,依序排好每列的起始箱號/截止箱號
    • 單位為 ZZZ(非實體品項)的列不展開箱資訊。
  4. 帶入後,每列的前置文字/後置文字會套上目前表頭的 Prefix/Suffix。

Import 只在新增可用

Import 按鈕只有在新增狀態才作用;修改既有單據時不會出現重新帶入的效果。要重新帶入請另開新單。

Order By Line No:依序號重排箱號

Order By Line No(編輯狀態可用)時,系統把有品號的明細依序號排序,從 BeginningBoxNo 起算,逐列接力填起始箱號/截止箱號

  • 每列截止箱號=起始箱號+箱數-1(箱數為 0 時起訖相同)。
  • 排到第二箱以後的列會先呼叫 SetBoxQuantity 把該列的箱數、單箱淨/毛重、箱高寬、單箱材積、meas 歸零再重排——避免沿用前一列殘值。

起訖箱號 ↔ 箱數 互算

  • 改起始箱號或截止箱號:只要截止箱號 ≥ 起始箱號,系統自動把箱數設為「截止 − 起始 + 1」。
  • 改箱數(Box Quantity):系統依「單箱值 × 箱數」回算整列毛重/淨重/材積

箱重、箱材積連動

  • 改單箱淨重 / 單箱毛重:系統立即回算整列淨重 / 毛重(=單箱值 × 箱數)。
  • 改箱高 / 箱長 / 箱寬:系統用「高 × 長 × 寬 × 35.3147」算出單箱材積(材積=單箱材積 × 箱數),並把 meas 組成「長高」字串。

金額連動

  • 改數量或單價:系統把「單價 × 數量」依幣別小數位數四捨五入後寫入該列金額;表頭 Total Amount 會同步重算(其餘總箱數/淨重/毛重/材積/總數量也由明細彙總)。
  • 總數量(Total Quantity) 是依單位分組後的合計字串(例如「1200 PCS, 30 SET」),同一張單可同時呈現多種單位的合計。

Prefix / Suffix 批次套用

  • 在工具列輸入 Prefix(前置,最多 2 碼)或 Suffix(後置,最多 2 碼)並離開欄位後,系統會把所有明細列的前置文字 / 後置文字一次更新成該值。

SKU 帶值

  • 在明細 SKU 欄輸入品號後,系統查品號主檔:若產品描述為空則帶入品號的描述,並帶入該品號的單位

存檔前處理與驗證

  • 存檔前:系統會把沒有填品號的明細列標記為刪除(不會存入空列)。
  • 存檔驗證(任一不過就擋存):CIDocument NoCI 日期製表日期客戶代號皆不可為空。

尚未提供的延伸功能

目前 C# 版裝箱單的視窗本身沒有轉傳票、簽核工作流程或附件上傳按鈕。表頭雖保留「工作流程/審核人員/審核日期/已審核」等欄位,但本表單未提供對應的操作介面;列印則由系統共用的報表機制處理,本頁不另列印鈕。

常見問題

按了 Import 卻沒有任何明細帶進來?

請確認 CIDocument No 是有效的 CI 單號,且該 CI 確實有出貨明細。Import 查無資料時不會動作、也不會清空你已輸入的內容。另外 Import 只有在新增狀態才有效。

改了單價或數量,但 Total Amount 沒變?

金額由「單價 × 數量」算出並依幣別小數位數四捨五入。請確認該列的單價數量都已輸入;若幣別尚未帶入(例如客戶代號還沒填),位數可能與預期不同。表頭總額會在明細金額變動時同步重算。

起始 / 截止箱號排得很亂?

箱號是依序號接力排的。請先確認各列序號正確、BeginningBoxNo(起始箱號)設好,再按 Order By Line No 讓系統從頭重排。手動改某列的起訖箱號只會影響該列的箱數,不會自動順延後面各列。

明明改了箱高寬長,材積(Volume)還是 0?

單箱材積=高 × 長 × 寬 × 35.3147,整列材積=單箱材積 × 箱數。若箱數為 0,整列材積就會是 0。請確認該列已有箱數。

想修改單據卻被擋下來,提示要刪除轉退稅出口報單?

表示這張裝箱單的轉退稅註記Y,已產生轉退稅出口報單。需先處理(刪除)對應的出口報單資料,才能回頭修改裝箱單。

為什麼會多出一列序號開頭是 A、標了「不足箱」?

那是 Import 時自動拆出的尾數列:當總數量無法剛好裝滿整數箱,系統把不滿一箱的剩餘量另立一列(序號加 A、不足箱=Y),並按比例換算這一箱的淨重/毛重,方便正確計箱與計重。

相關功能


需補截圖清單

以下截圖待功能 runtime 驗收後補拍(放 docs/E-SalesOrder/images/):

  1. pk-step1.png — 新增後的表頭與工具列(含 CIDocument No 與 Import 按鈕)
  2. pk-step2.png — 按 Import 帶入後的明細格線(含不足箱列)
  3. pk-step3.png — 調整 BeginningBoxNo / Prefix / Suffix 後按 Order By Line No 的箱號排列結果