跳轉到

程式資訊

  • 程式 IDTICKA_SHIPPING
  • 所屬子系統:P.發票管理
  • 狀態:stable

出貨單轉統一發票

功能簡介

「出貨單轉統一發票」是把倉庫的出貨/隨貨異動直接轉開成統一發票的批次轉單視窗。它不是獨立的主檔,也沒有獨立的主選單代號,而是 銷貨發票(TICKA)的延伸功能2——在銷貨發票表單按該延伸功能後彈出。負責開立發票的會計或業務人員,先在這裡依隸屬倉庫撈出尚未開過發票的出貨單,勾選後填上發票期別與發票日期,系統就會把這些出貨資料填進該期別的空白發票裡,完成轉開立。

在流程上它接在倉庫出貨異動(TRSAMA)之後、正式發票之前

  1. 倉庫先有以 SA 為序號前置碼的出貨異動,且該異動尚未被指定發票號碼。
  2. 在本視窗依倉庫查詢、勾選要開票的單據,填入發票期別與日期。
  3. 存檔後,系統取用該期別預先配號好的空白發票(由 Ticka_m 配號),把出貨資料填入並回寫,轉開立完成。

與「應收轉發票」的差異

本表單與 應收轉發票 共用同一組轉發票資料結構(應收轉發票 主/明細),但來源不同:本表單來源是倉庫出貨異動(序號前置碼 SA,應收轉發票來源是應收帳款。兩者都把選取的單據轉開成 TICKA 統一發票。

前置需求

  • 權限:本視窗由 銷貨發票(TICKA)的延伸功能2 開啟,沒有獨立的主選單代號。轉開立會寫入 TICKA 發票檔,故以 TICKA 的權限檢核(等同需要發票的新增能力)。
  • 基礎資料/前置作業:下列資料會直接影響能否查到資料與能否存檔——
資料 影響什麼
倉庫出貨/隨貨異動(TRSAMA,序號前置碼 SA、稅別 T31%、尚無發票號碼) 決定查詢能撈出哪些可轉開立的單據
隸屬倉庫設定(個人預設倉庫 _prgpar 3010) 開窗時自動帶入的隸屬倉庫預設值
該發票期別的空白發票(由 Ticka_m 預先配號) 存檔時要有足夠的空白發票,否則無法轉開
客戶主檔(統一編號、地址、稅別) 帶出統一編號/地址/稅別/課稅別,統一編號為空白會擋存檔

操作步驟

本視窗有兩個頁籤:主頁籤「出貨單轉統一發票」做查詢與轉開,另一個「Locked Source」頁籤列出目前被別人鎖住、暫時不能轉的單據。

步驟① 設定期別與倉庫

  1. 確認左上的發票年度:預設為今年。
  2. 確認發票月份:預設為當月。台灣統一發票以兩個月為一期,故系統會把偶數月自動往前調成奇數月(例如輸入 6 月會變成 5 月,代表 5–6 月這一期)。
  3. 確認發票日期:預設為今天。日期必須落在「發票年度+發票月份(或月份+1)」的期別範圍內,否則查詢會被擋。
  4. 確認隸屬倉庫:預設帶入個人預設倉庫;可改成要轉開的倉庫代號。查詢只會撈出該倉庫的出貨異動。

期別與倉庫條件

步驟② 查詢可轉開立的出貨單

  1. 查詢。系統會先做三項檢核(見欄位連動與附加功能):發票日期是否合理、是否有人正在轉同一期的單、該期別是否已配有空白發票。
  2. 通過檢核後,上方格線列出符合條件的出貨單(依倉單號彙整成一張張待開票主檔),下方格線顯示游標所在那筆的明細品項
  3. 若有單據正被別人鎖住,會被放到「Locked Source」頁籤,頁籤標題會以紅字顯示鎖住的筆數。

查詢結果與明細

查詢條件是固定的(不可自訂篩選面板)

本表單沒有獨立的查詢條件面板。能撈出的範圍固定為:序號前置碼=SA、稅別 T31% 開頭、且尚未開過發票的該倉庫出貨異動。要縮小範圍只能改隸屬倉庫

步驟③ 勾選並補欄位

  1. 在上方格線逐列勾選勾選欄要轉開立的單據;可用下方 全  選全部不選 按鈕一次處理。
  2. 檢查每一筆的統一編號——此欄可編輯,若客戶沒有統編必須在此補上,否則存檔會被擋。
  3. 其餘金額欄(貨款/銷售金額/稅額/合計金額)為唯讀,由系統依明細加總與稅率算出。

步驟④ 轉開立(存檔)

  1. 按底部工具列的存檔(轉單)按鈕。
  2. 存檔前系統檢核:至少勾選一筆、所有勾選列都有統一編號、且該期別有足夠的空白發票。
  3. 通過後,系統把每一筆勾選的出貨資料填進一張空白發票(明細依序給 001002… 的序號),回寫發票檔。
  4. 存檔成功後,頁籤鎖定狀態與暫存清單會清空;回到 銷貨發票 主檔可看到剛轉開的發票(系統會帶游標到該張發票)。

空白發票不夠會中止

轉開立要用到該期別課稅別為「空白」的發票。若空白發票數量不足,系統會跳出「發票不夠,請財務新增後再重轉發票」並中止。請先由財務以 Ticka_m 配號補足空白發票。

欄位說明

條件區欄位

欄位 必填 說明/格式/預設
發票年度 民國/西元年度;預設今年
發票月份 預設當月;偶數月自動減 1 調成該期起始的奇數月
發票日期 預設今天;必須落在發票期別(月份或月份+1)範圍內
隸屬倉庫 預設個人預設倉庫(_prgpar 3010);查詢只撈此倉庫

主格線欄位(待轉開立清單)

欄位 可編輯 說明
勾選 勾選要轉開立的單據
財務單號 本表單來源為出貨異動,此欄通常為空(財務單號為應收轉發票來源才會帶值)
倉單號 出貨異動的倉庫單號(彙整主檔的依據)
客戶簡稱/名稱 客戶簡稱與稅別名稱(由出貨異動/客戶主檔帶出)
貨款 該倉單號下明細的原幣未稅加總
其他金額 出貨異動的其他金額(本表單未另行加總,通常為 0)
銷售金額 該倉單號下明細的本幣未稅加總
稅額 名稱(稅別名稱)判定:含 5% 時=銷售金額 × 5%(四捨五入至本幣小數位);含 0% 時=0
合計金額 銷售金額 + 稅額
幣別/匯率 由出貨異動帶入
發票號碼 轉開前為空
交易日期 出貨交易日期
統一編號 可在此補填;空白會擋存檔
地址 客戶發票地址(由出貨異動帶入)

明細格線欄位

欄位 說明
序號 出貨明細列號
品號/品名/客戶品號 出貨品項
單位/數量/單價 出貨數量與單價
原幣未稅 該列原幣未稅金額
備註 出貨備註
隸屬倉庫A/單號A 來源出貨的倉庫與單號

欄位連動與附加功能

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

開窗時的預設值

  • 當你開啟本視窗,系統會自動帶入:隸屬倉庫=你的個人預設倉庫(_prgpar 參數 3010)、發票年度=今年、發票月份=當月、發票日期=今天,並把「合併單價」開關預設為開。
  • 帶入發票月份時,若當月是偶數月,系統會自動減 1,把月份固定在該兩月一期的起始奇數月。

發票月份欄位

  • 當你手動輸入發票月份,系統一樣會檢查:偶數會自動減 1,奇數則照原值。這是為了對齊台灣統一發票「單數月為一期起始」的期別規則。

查詢 時的連動檢核

查詢 後,系統依序做三項檢核,任何一項不過就中止並提示:

  1. 發票日期合理性:發票日期的「年/月」必須等於「發票年度/發票月份」或「發票年度/(發票月份+1)」,否則提示「發票日期或發票月份輸入錯誤」。接著比對發票檔內同期別已存在發票的最大發票日期,若你填的日期比它還早,提示「發票日期不得小於發票內已有之發票日期」。
  2. 是否有人正在轉單:若已有別人鎖住同一張發票檔(ticka_m),提示「○○○ 正在轉單,請稍後再試」,避免兩人同時轉開造成衝突。
  3. 是否有空白發票:該期別發票檔內若查無資料,提示「發票檔內查無此月份之資料」;有資料時會把課稅別為「空白」的發票留起來,供存檔時填入。

通過檢核後,系統呼叫轉單預存程序 TWORK_TUR_TICKA_SHIPPING,撈出該倉庫、序號前置碼 SA、稅別 T31% 開頭、且尚無發票號碼的出貨異動,並彙整成待開票清單。

查詢結果的金額自動計算

  • 每張主檔的貨款取明細原幣未稅加總、銷售金額取本幣未稅加總。
  • 稅額依稅別名稱判定:名稱含 5% → 銷售金額 × 5%(四捨五入到本幣小數位);含 0%(零稅率)→ 稅額為 0。合計金額=銷售金額 + 稅額。

課稅別自動歸類

  • 由出貨異動帶入的課稅別會被歸成四類顯示:開頭為 1→「1.應稅」、2→「2.零稅」、3→「3.免稅」、其餘→「5.空白」。

全  選全部不選 按鈕

  • 全  選,把目前清單每一筆的勾選欄設為勾選;按 全部不選 則全部取消。方便整批轉開或整批清空。

主檔/明細連動

  • 當你在上方格線切換游標到某一筆主檔,下方明細格線會立刻顯示該筆的出貨品項(系統以主檔 pkid 對應明細的 linkid 取出對應明細)。

Locked Source 頁籤

  • 查詢時若偵測到部分出貨單正被別人鎖住,這些單據會被放進「Locked Source」頁籤,頁籤標題以紅字顯示鎖住筆數。這些單據本次無法轉開,需等對方完成或解鎖後再查。

存檔(轉開立)的檢核與動作

按存檔時,系統依序檢核:

  1. 至少勾選一筆:未勾選任何資料 → 提示「請先選擇一筆資料」。
  2. 統一編號必填:任一勾選列的統一編號為空 → 提示「請先輸入統一編號」。
  3. 空白發票要夠:每轉一筆就取用一張該期別「課稅別=空白」的發票;不夠時提示「發票不夠,請財務新增後再重轉發票」並中止。

通過後,系統把每筆勾選的主檔資料填入一張空白發票(帶入發票日期、客戶、金額、統編、地址等),明細依序給 001002… 三位數序號,並標記為「新增」狀態寫回 TICKA 發票檔。

合併單價

合併單價預設開啟,但目前無 UI 開關

程式內「合併單價」預設為開,轉開明細時會把同一張單、相同品號且相同單價的明細列合併成一列(數量與各金額加總)。目前畫面上沒有提供切換此行為的勾選框,使用者無法在介面上關閉。

存檔後的清理

  • 轉開立成功後,系統會記住剛產生的發票 pkid 供主檔定位,並清空頁籤鎖定狀態與本視窗的暫存清單(待轉清單、Locked Source)。關閉本視窗時,會把游標帶回 銷貨發票 剛轉開的那張發票。

常見問題

按了查詢卻一筆資料都沒有?

本表單只撈該隸屬倉庫、序號前置碼為 SA、稅別 T31% 開頭、且還沒開過發票(發票號碼空白)的出貨異動。請確認:隸屬倉庫填對、該倉庫確實有未開票的出貨單。已經開過發票的出貨單不會再出現。

提示「發票檔內查無此月份之資料」或「發票不夠」?

轉開立要用該發票期別事先配號好的空白發票。若該期別沒有任何發票、或空白發票被用完,就會出現這兩個提示。請先由財務以 Ticka_m 為該期別配號補足空白發票後,再回來重轉。

存檔被擋,說「請先輸入統一編號」?

被勾選要轉開的單據中,有客戶沒有統一編號。請在主格線的統一編號欄(可編輯)逐筆補上,再存檔。

提示「○○○ 正在轉單,請稍後再試」?

代表已有其他使用者正鎖住同一張發票檔在轉單。請等對方完成後再查詢,避免重複開立。

提示「發票日期不得小於發票內已有之發票日期」?

為維持同期別發票日期不倒退,你填的發票日期不能早於該期別發票檔內已存在發票的最大日期。請把發票日期改成不早於既有發票的日期。

為什麼輸入 6 月,月份卻變成 5 月?

這是刻意的。台灣統一發票以兩個月為一期、以單數月為期別起始,系統會把偶數月自動往前調成奇數月(5 月代表 5–6 月這一期),不是輸入錯誤。

相關功能


需補截圖清單

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

  1. ticka_shipping-step1.png — 期別與倉庫條件區(發票年度/月份/日期/隸屬倉庫)
  2. ticka_shipping-step2.png — 查詢結果:上方待轉開立清單+下方明細格線
  3. ticka_shipping-step3.png —(可選)「Locked Source」頁籤含紅字鎖定筆數