跳轉到

程式資訊

  • 程式 IDGTRRAMA
  • 所屬子系統:C.總務管理
  • 狀態:stable

雜項進貨入庫

功能簡介

「雜項進貨入庫」(GTRRAMA)用來登錄廠商交貨的進貨入庫單:在主檔記錄廠商、發票、報關(提單/報單)與付款條件等表頭資訊,在進貨明細逐列輸入品號、數量、單價與來源/目的儲位完成入庫,並在進口費用明細輸入關稅、運費等進口成本,由系統依各明細金額自動分攤回每一列、算出單位成本與進貨成本。

這支表單是總務(非生產)採購流程裡「收貨入帳」的關鍵環節,主要由總務/倉管人員使用。它可以手動新增,也可以從 採購轉進貨(Gputora) 一次把未進貨的採購明細帶進來。入庫後的成本會反映到庫存與應付帳款;本單也提供應付帳款查詢側欄,直接查出本單已產生的應付資料。

與生產採購進貨的區別

本單屬於 C 總務管理模組,處理公司內部非生產性物資的進貨入庫。生產用採購進貨請見 G 採購付款

前置需求

  • 權限:C.總務管理 → C-070 雜項進貨入庫 的新增/修改/刪除/瀏覽權限;列印與查看金額另受權限旗標 AllowViewPrice 控制(見欄位連動與附加功能)。
  • 基礎資料:下列主檔/參數會直接影響本單可否正確輸入與計算——
資料 影響的結果
倉庫主檔、儲位主檔 隸屬倉庫、明細的 Source Bin/Destination Bin 來源;儲位下拉只列出本單倉庫下的儲位
廠商主檔 廠商代號/簡稱、預設帶入的交易部門
品號主檔 明細 品號 帶出品名、單位、庫存管制等
幣別與匯率資料 幣別/匯率;未填匯率時自動抓交易日期的關稅賣出匯率
稅別主檔 稅別 決定稅率,連動稅額、含稅金額計算
付款方式(C203)、運送方式(C201)、收付條件 對應下拉與帶值
進口費用代碼參數(Cmb_C222) Get Fee 一鍵帶出的費用清單與其預設科目、客廠部、是否為成本
GL 科目主檔 進口費用明細的 科目代號/名稱

操作步驟

新增進貨入庫單

  1. 按工具列 新增。系統自動帶入預設值:公司代碼=1、交易日期=今天、幣別=本位幣、匯率=1(詳見欄位說明)。
  2. 輸入表頭:選 Warehouse(隸屬倉庫)Prefix(序號前置碼),再依序填 Transaction Date(交易日期)Vendor Code(廠商代號)Currency(幣別)/FX Rate(匯率)Payment Method(付款方式)Payment Term(收付條件)
  3. 填發票/報關資料:Invoice No/Date/Amount(發票號碼/日期/金額)Tax Code(稅別)/Tax Amount(稅額)Bill Of Lading No(提單號碼)Declaration No(報單號碼)Shipping Method(運送方式) 等。
  4. 進貨明細(中間格線)逐列輸入:

    1. 品號:輸入或查詢後自動帶出品名、單位等。
    2. 數量/單價/其他金額:任一改動即重算該列原幣未稅與稅額。
    3. Source Bin(轉出倉儲)/Destination Bin(轉入倉儲):下拉僅列出本單倉庫下的儲位。
    4. 視需要填 關稅稅率預訂交期備註 等。
  5. 進口費用明細(最下方格線)輸入進口成本:可直接逐列輸入,或按 Get Fee 一鍵帶出 C222 設定的費用清單,再填各列本幣未稅金額。

  6. 按工具列 儲存。儲存前系統會做費用分攤與多項平衡檢核(見欄位連動與附加功能),通過後才寫入。

金額/成本相關欄位看不到?

主檔右側價格區、明細的單價/成本欄、以及整個進口費用明細格線,都受權限旗標 AllowViewPrice 控制。沒有檢視價格權限的使用者只會看到入庫的數量與品項,看不到金額。

修改 / 刪除

  1. 用工具列的瀏覽(上一筆/下一筆/查詢)切換到要處理的單據。
  2. 修改 進入編輯,調整欄位後 儲存;或按 刪除 整單刪除。
  3. 已轉帳款或已交貨的明細列不可再編輯:當某列 轉帳款數量 > 0已交數量 > 0 時,該列會被鎖定(CanEdit 為 false)。已有轉出備註的進口費用列同樣鎖定,代表已被後續單據引用。

列印

切換到要列印的單據後,使用工具列的列印功能輸出進貨入庫單。列印同樣受 AllowViewPrice 影響,無檢視價格權限時金額欄不會輸出。

從採購轉進貨帶入

  1. 在本單按延伸功能(ExtendedFunction1),開啟 採購轉進貨(Gputora) 視窗。
  2. 在該視窗依廠商/倉庫條件挑選未進貨的採購明細並產生進貨單。
  3. 關閉視窗後,若 Gputora 有產生新單據,本單會以該單 pkid 自動定位(Navigate)過去,明細與費用已帶入,接著確認金額後 儲存 即可。

查詢本單應付帳款

主檔切換單據後,右側 AP Query(應付帳款查詢) 側欄會自動以本單倉單號查出已產生的應付帳款資料(透過 SP TWORK_QRY_TRRAMAAPQUERY)。可用來確認本單是否已轉入應付。

欄位說明

主檔(表頭)

欄位 必填 說明/格式/預設
WHTransaction No(倉單號) 系統產生,唯讀。本單主鍵代號,AP 查詢即以此為條件
TransactionNo(單號) 系統產生,唯讀
Warehouse(隸屬倉庫) 入庫倉庫;連動明細儲位的可選範圍
Prefix(序號前置碼) 單據前置碼,依 ProgramClass=GTRRAMA 取號
Transaction Date(交易日期) 預設今天;作為幣別匯率查詢的基準日
Vendor Code(廠商代號) 輸入後帶出廠商簡稱,並把交易部門設為同值
Currency(幣別)/FX Rate(匯率) 預設本位幣+匯率 1;改幣別會連動明細與費用重算
Payment Method(付款方式) 下拉,來源代碼表 C203
Payment Term(收付條件) 收付條件號,帶出說明
Invoice No/Date/Amount(發票號碼/日期/金額) 發票資訊
Tax Code(稅別)/Tax Amount(稅額) 稅別決定稅率,連動含稅金額;稅額亦顯示於右側價格區
Bill Of Lading No(提單號碼)/Declaration No(報單號碼) 進口報關資訊
Fee Allocation(分攤費用) 進口費用合計(關稅+其他成本費用),儲存時與明細分攤總額互相檢核
Shipping Method(運送方式) 下拉,來源代碼表 C201
Remark(交易備註) 自由輸入
Turn In Note(轉入備註)/Turn Out Note(轉出備註) 系統產生,唯讀;標示本單與其他單據的轉入/轉出關係
Fee(總費用) 唯讀,進口費用明細本幣未稅合計
價格區(Currency/Amount/Duty/Other/稅額/含稅本幣) 全部唯讀,受 AllowViewPrice 控制;分別對應總原幣未稅、總本幣未稅、總關稅分攤、總其他分攤、稅額、本幣應收付

進貨明細

欄位 必填 說明/格式/預設
Line No(序號) 系統產生,唯讀;補零位數為 4
品號 查詢帶出品名、單位、庫存管制等
品名 由品號帶出,唯讀
客廠品號 廠商端品號
交易別碼 唯讀;RA/RB/RC/RD 等,決定該列是否計入成本與稅額計算
Source Bin(轉出倉儲)/Destination Bin(轉入倉儲) 儲位下拉,僅列本單倉庫下儲位
數量 改動即重算原幣未稅與稅額
單位 下拉,UOM 清單
單價/其他金額 改動即重算金額;受 AllowViewPrice 控制
原幣未稅 系統算出=數量×單價+其他金額(依幣別小數位四捨五入)
關稅稅率 進口關稅率(%),參與關稅分攤;填關稅費用時此欄不可全為 0
關稅分攤/其他分攤 系統依費用明細自動分攤回各列,唯讀結果
本幣未稅/單位成本/成本/微調本幣 系統算出;單位成本=(本幣未稅+分攤費用)÷數量
預訂交期/備註 可輸入
採購單pkid/採購單號/轉入單pkid/訂單pkid 來源單據關聯,唯讀
轉帳款數量 唯讀;> 0 時該列鎖定不可編輯

進口費用明細

欄位 必填 說明/格式/預設
Line No(序號) 補零 3 位
費用代碼 來源 C222;Get Fee 帶入時自動帶費用說明、科目、客廠部
費用說明 唯讀;含「關稅/CUSTOMS/DUTY」字樣者視為關稅費用
科目代號/名稱 GL 科目,新增時可由費用代碼帶入
客廠部代號/簡稱 由費用代碼帶入或自行輸入
幣別/匯率 Get Fee 帶入時預設本位幣+匯率 1
原幣未稅/本幣未稅 輸入本幣未稅時自動把幣別設本位幣、匯率 1、原幣未稅=本幣未稅
是否為成本 預設 Y;只有為成本(且非關稅)的費用才併入「其他分攤」
費用備註/轉出備註 轉出備註唯讀,有值代表已被後續單據引用、該列鎖定

欄位連動與附加功能

這一節把「輸入某欄位/按某按鈕後系統會做什麼」逐項列出,全部來自實際程式碼。

新增時的預設值

  • 新增 後(AfterAddNew),主檔自動帶:公司代碼=1、交易日期=今天(短日期格式)、匯率=1、幣別=本位幣,並清空進口費用明細。
  • 新增一列進口費用SetNewData)時,是否為成本 預設 Y
  • 新增一列進貨明細時,系統把該列的 MasterInventory 指向主檔,使儲位篩選(只列本倉庫儲位)與後續計算能取到表頭資訊。

幣別/匯率連動(表頭 → 明細)

  • 當你改主檔 幣別,系統會把每一列進貨明細的幣別同步成新幣別並重算金額。
  • 當你改主檔 匯率,系統會把每一列進貨明細的匯率同步成新值並重算。
  • 新增進貨明細列時,會自動把該列的幣別、匯率設成目前主檔的幣別與匯率(OnAddListener),確保新列與表頭一致。

廠商代號帶值

  • 輸入 Vendor Code(廠商代號) 時(廠商代號Binding),系統除了設定廠商代號,也會把 交易部門 設為同一值。廠商簡稱由查詢控件帶出。

明細金額即時重算

  • 進貨明細的 數量/單價/其他金額 任一改變,立即呼叫稅額計算(CalculateAmountTaxCalculator),重算該列原幣未稅、含稅與稅額。
  • 品號 輸入後(品號Binding)由 DescriptionHelper.SetISKU 帶出品名、單位等品號相關資訊。
  • 進口費用明細輸入 本幣未稅 時,自動把幣別設本位幣、匯率設 1、原幣未稅=本幣未稅。

Get Fee(一鍵帶入進口費用,ToolTip:C222)

按主檔的 Get Fee 按鈕(GetFeeCommand):

  1. 比對目前進口費用明細已有哪些費用代碼,把 C222 參數表裡還沒出現的費用代碼逐一補成新列。
  2. 每補一列帶入:費用代碼、費用說明、預設科目、客廠部、是否為成本,幣別=本位幣、匯率=1。
  3. 重新給所有費用列編序號(3 位補零)。

此按鈕只有在新增/修改/特殊編輯狀態下可按;且整個按鈕受 AllowViewPrice 權限控制,無檢視價格權限時隱藏。

費用分攤與成本計算(儲存時自動執行)

儲存時(GtrramaSaveGtrramaBll.ExpenseAllocation)系統做進口成本分攤:

  1. 先清空各明細的關稅分攤、其他分攤、進貨倍數。
  2. 把進口費用分成兩桶:關稅費用(費用說明含「關稅/CUSTOMS/DUTY」)累加成 customs;其餘標記為成本(是否為成本=Y) 的累加成「其他成本」。
  3. 依各進貨明細的原幣未稅占比,把「其他成本」分攤成各列其他分攤;依各列換算後關稅額占比,把關稅費用分攤成各列關稅分攤
  4. 分攤產生的尾差(湊整誤差)補到金額最大的那一列,確保分攤總額與費用總額完全相等。
  5. 算出各列單位成本=(本幣未稅+其他分攤+關稅分攤)÷數量、成本=數量×單位成本,並把含稅單價、原幣/本幣含稅依稅率算出;同樣把湊整尾差補回成本最大列。
  6. 算出進貨倍數=成本÷本幣未稅(給後續成本回算用)。

儲存前的檢核(擋存檔條件)

GtrramaSave.AllowSave 會在下列情況擋下儲存

  • 進口費用裡有關稅費用(本幣未稅 > 0)但明細沒有任何一列填關稅稅率 → 提示要輸入關稅稅率。
  • 主檔匯率 ≤ 0 時,系統自動抓交易日期的關稅賣出匯率補上(非錯誤,是自動補值)。
  • 費用合計 ≠ 明細分攤合計(分攤費用、關稅費用對關稅分攤、成本費用對其他分攤任一不符)→ 提示費用與分攤金額不一致。
  • 進貨金額(總原幣未稅×匯率)+分攤費用 ≠ 總成本 → 提示進貨金額與成本不符。

稅額計算(編輯結束前)

儲存前(HandleDataBeforeEndEditTaxCalculate)系統依主檔稅別取稅率,對交易別碼為 RA/RB 的明細統一重算稅額與含稅金額,再寫回主檔的稅額、本幣應收付等彙總欄位。

延伸功能:採購轉進貨(ExtendedFunction1

按延伸功能開啟 採購轉進貨(Gputora) 視窗,由該視窗依條件挑未進貨的採購明細產生進貨單;視窗關閉後若有新產生的單據(pkid 不為 -1),本單自動定位過去。

切換單據時的彙總重算(AfterMoverRecord

每次瀏覽切換到另一張單據時,系統會:

  1. 重新加總明細的總關稅分攤=各列關稅分攤合計、總其他分攤=各列其他分攤合計、總費用=進口費用各列本幣未稅合計(右側價格區與 Fee 欄即由這三個彙總值顯示)。
  2. 把每一列進貨明細的 MasterInventory 指回主檔,使瀏覽時儲位欄的倉庫篩選仍正確。
  3. 把 AP Query 側欄的查詢條件設成本單倉單號

側欄查詢

  • AP Query(應付帳款查詢):主檔切換單據後自動以本單倉單號呼叫 SP TWORK_QRY_TRRAMAAPQUERY 查出已產生的應付帳款資料(回傳的是應付主檔 rp_m 資料)。
  • Allocation(分攤查詢):選取明細列時會把該列 pkid 傳入並觸發查詢命令。

Allocation 分攤查詢目前未啟用

程式中 Allocation 側欄的實際查詢邏輯目前為停用(程式碼註解未啟用),切換明細列不會帶出資料。此為已知未提供之功能,非操作問題。

常見問題

為什麼存檔被擋,說「費用與分攤金額不一致」?

進口費用明細的合計必須等於分攤到各進貨明細的金額:關稅費用要等於各列關稅分攤合計、成本費用要等於各列其他分攤合計、表頭分攤費用要等於兩者之和。請確認費用都已正確分類(是否為成本、是否關稅),數量/單價輸入完整後再存一次;分攤是在存檔當下自動算的。

填了關稅費用卻不能存?

當進口費用裡有關稅費用(本幣未稅 > 0),明細至少要有一列填關稅稅率,系統才知道怎麼把關稅分攤回去。請在相關進貨明細列補上關稅稅率(%)。

明細的單價、成本、整個進口費用格線都看不到?

這些欄位受權限旗標 AllowViewPrice 控制。沒有檢視價格權限的帳號只會看到入庫品項與數量,看不到金額、成本與費用明細,列印也不含金額。請洽系統管理員調整權限。

某列明細無法編輯?

當該列 轉帳款數量 > 0已交數量 > 0(已被後續轉帳款/出貨引用)時會鎖定不可改;進口費用列有 轉出備註 也會鎖定。請改在來源/後續單據處理。

改了幣別或匯率,金額沒跟著變?

改主檔幣別/匯率會同步明細幣別/匯率並重算,但最終的成本分攤是在儲存時才完整重算。若只是逐欄檢視,請存檔後再看成本與分攤欄。

新增的進口費用列幣別、匯率怎麼自動是本位幣、1?

Get Fee 帶入或輸入本幣未稅時,系統預設幣別=本位幣、匯率=1、原幣未稅=本幣未稅。若該費用是外幣支付,請手動改幣別與匯率後重填原幣未稅。

相關功能


需補截圖清單

以下截圖待 runtime 驗收後補拍(放 docs/C-GeneralAffair/images/):

  1. gtrrama-step1.png — 主檔表頭(廠商/發票/報關區)與右側價格區全貌
  2. gtrrama-step2.png — 進貨明細格線(品號、數量、儲位、分攤與成本欄)
  3. gtrrama-step3.png — 進口費用明細格線與 Get Fee 按鈕
  4. gtrrama-step4.png — AP Query 應付帳款查詢側欄