跳轉到

程式資訊

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

銷項退回(暨免用統一發票)

功能簡介

「銷項退回」用來登錄銷貨退回與折讓所開立(或收受)的折讓單、退回憑證,以及部分免用統一發票之銷項憑證。資料以「所屬年月+憑證類別」為一張主檔,底下掛多筆退回明細,是 401 申報書「銷項」面減項的來源之一,主要由會計/開立發票人員使用。

主畫面上半部是主檔(公司代碼、所屬年月、憑證類別、發票/轉入/轉出備註),中間是明細格線,下半部則即時加總應稅/零稅/免稅/作廢/空白的筆數與金額。新增資料另以獨立的銷項退回暨免用統一發票新增視窗逐筆輸入。

與其他銷項單據的關係

本表單登錄的是「銷項退回/折讓」憑證;正常開立的銷項發票請見銷項發票、存證作廢發票另見存證作廢發票。轉自應收帳款的退回折讓可用工具列的轉入功能帶入。

前置需求

  • 權限:P.進銷項憑證 → P-040 銷項退回 的對應權限。各動作分別檢查:
    • 新增 / 修改 / 刪除 / 列印:標準單據權限。
    • 編號(編冊造號):對應 VFP 的「其他 1」權限。
    • 轉入(應收帳款轉入):對應 VFP 的「其他 3」權限,無權限時系統會提示「無此轉單權限」。
  • 基礎資料:下列主檔/參數會影響本表單能不能正確帶值與計算——
資料 影響的內容
公司資料(公司代碼) 主檔公司代碼下拉、明細歸屬公司
憑證類別代碼(C214 / C2142) 主檔與新增視窗的憑證類別下拉;憑證類別決定稅額算法
客戶/廠商部門主檔(CUSP) 明細輸入部門代號時自動帶部門簡稱/統一編號,輸入統一編號反查代號
系統參數 表定稅率U_Prgpar("10") 應稅明細的稅額計算,未設定預設 5%
系統參數 2300 編號 排序依據:0=依發票日期,其他值=只依發票號碼

操作步驟

查詢既有資料

  1. 用工具列的上一筆/下一筆/SeekRenew 在主檔間移動,畫面會載入該「所屬年月+憑證類別」的全部退回明細。
  2. 移動到一筆主檔後,下方的應稅/零稅/免稅/作廢/空白筆數與金額會自動重算(見欄位連動與附加功能)。

新增(單筆輸入)

新增不在主畫面直接做,而是開獨立的銷項退回暨免用統一發票新增視窗逐筆登錄:

  1. 按工具列 新增,開啟新增視窗。視窗預設帶入:公司代碼=1所屬年月=當期發票年月憑證類別=33課稅別=1.應稅
  2. 輸入或確認公司代碼所屬年月憑證類別課稅別。新增視窗的憑證類別下拉只提供代碼含 333436 的憑證類別(取自 CMB_C214)。
  3. 銷退發票號碼輸入退回憑證號碼(最多 10 碼,輸入後自動轉大寫)。若憑證類別為 33/34 且號碼為 10 碼,系統會自動回查原發票帶出部門代號/簡稱、統一編號、原始銷售金額,並算出該發票的已銷退金額(見欄位連動與附加功能)。
  4. 輸入客戶(部門代號)、銷售金額、視需要的統一編號/其他憑證/冊號/編號/彙加註記/備註,並勾選固定資產/土地/洋煙酒註記
  5. 稅額/合計金額會依憑證類別與課稅別自動算出(合計金額唯讀)。
  6. 儲存。系統檢核所屬年月不得空白、憑證類別不得空白、合計金額不得為 0、發票日期須正確、發票號碼與其他憑證不可都空白;通過後寫入,並把畫面上的「新增筆數」加 1,可接續輸入下一筆。
  7. 全部輸入完按關閉視窗,主畫面會自動定位到剛新增的那筆主檔。

小技巧

新增視窗可連續登錄多筆同一張主檔(同一所屬年月+憑證類別)的退回明細;每存一筆「新增筆數」就累加,方便核對輸入張數。

修改

  1. 移動到要修改的主檔,按工具列 修改
  2. 進入編輯後,明細格線中的課稅別、銷售金額、稅額、部門代號等欄位可改;視需要勾選 顯示固定資產、土地 顯示並編輯這兩欄。
  3. 改完按 儲存。儲存前系統會把主檔的發票鍵值(=所屬年月+憑證類別)重算,並把明細的所屬年月/憑證類別/發票鍵值/公司代碼一律同步成主檔的值。

刪除

  • 整張主檔刪除走工具列 刪除
  • 單筆明細刪除:VFP 規定憑證類別為 31/32/35 者不得刪除單筆;可刪除者標記為刪除後不列入加總。

單筆刪除限制(規劃中)

VFP 對單筆明細刪除有「31/32/35 憑證不得刪單筆」的限制。新版 C# 目前未見對應的單筆刪除攔截邏輯,此限制以實際版本為準。

列印

  • 按工具列 列印 產生銷項退回報表(VFP 報表程式 TICKSR_P)。

欄位說明

主檔(畫面上半部)

欄位 必填 說明/格式/預設
公司代碼 公司下拉;新增預設 1,儲存時若為 0 會自動補 1
所屬年月 發票申報年月,格式 InvoiceYearMonth;主畫面唯讀(由新增視窗帶入)。空白或 - - 擋存檔
憑證類別 C214/C2142 代碼下拉,唯讀顯示;決定稅額算法。空白擋存檔
發票鍵值 系統 =所屬年月+憑證類別,存檔時自動產生,唯讀
發票備註/轉入備註/轉出備註 文字備註;轉入/轉出備註為系統轉單時帶入

明細格線

欄位 可編輯 說明
冊號/編號 系統 編號 功能編冊造號後填入(冊號 3 碼、編號 2 碼)
發票號碼/其他憑證 退回憑證號碼或其他憑證
發票日期 退回憑證日期
課稅別 下拉 1.應稅2.零稅3.免稅4.作廢5.空白;改值會連動稅額與備註
統一編號 客戶統編
部門代號/部門簡稱 ✔(代號) 輸入代號自動帶簡稱與統編
銷售金額 改值依課稅別重算稅額與合計
稅額 應稅可手動覆寫,連動合計
合計金額 系統 =銷售金額+稅額,唯讀
備註 系統 隨課稅別自動帶(作廢/以下空白)或清空
固定資產/土地 勾選欄;預設隱藏,勾 顯示固定資產、土地 才出現

新增視窗額外欄位

欄位 必填 說明/預設
銷退發票號碼 ✔(或其他憑證) 最多 10 碼,自動轉大寫;33/34 且 10 碼時回查原發票帶值
發票迄號 連號退回時的迄號
原始銷售金額/已銷退金額 系統 回查原發票與既有退回彙總帶入,唯讀,供核對
彙加註記 彙總申報註記
洋煙酒註記 勾選欄

欄位連動與附加功能

這一節把「輸入某欄位後系統會做什麼」「按某按鈕會做什麼」整理出來。

課稅別連動(明細格線)

當你在明細的課稅別下拉改值(LostFocus 觸發),系統會:

  • 4.作廢:把該列備註設為「作廢」。
  • 5.空白:把該列備註設為「以下空白」,並把這一列以下的所有明細課稅別一併設為 5.空白(連鎖填空),然後重算下方加總。
  • 1.應稅/2.零稅/3.免稅:清空備註,並呼叫 SetAmount 依課稅別重算稅額——
    • 應稅:稅額=銷售金額 × 表定稅率(四捨五入到整數),合計=銷售金額+稅額。
    • 零稅/免稅:稅額歸 0,合計=銷售金額。

銷售金額/稅額連動(明細格線)

  • 銷售金額:系統依目前課稅別呼叫 SetAmount 重算稅額與合計,並更新下方加總。
  • 稅額:合計金額=銷售金額+稅額 自動跟著變。

部門代號 / 統一編號互帶(明細與新增視窗)

  • 輸入部門代號:自動帶出該客廠部的部門簡稱統一編號(透過 DescriptionHelper.GetCusp)。
  • 輸入統一編號:反查客廠部主檔,帶出對應的部門代號/簡稱。在明細格線中,統編查不到會提示「查無資料」;新增視窗則靜默不帶值。

新增視窗:銷退發票號碼回查(Get發票

在新增視窗輸入銷退發票號碼(10 碼、憑證類別 33 或 34)時,系統會:

  1. 用發票號碼前 8 碼+序號回查原銷項發票(依憑證類別對應 31/35 或 32),帶出部門代號/簡稱、統一編號、原始銷售金額
  2. 再彙總該發票已登錄的退回金額,填入已銷退金額,供你核對「這張發票還能退多少」。

稅額自動計算(新增視窗,依憑證類別)

新增視窗輸入銷售金額時,依憑證類別採不同算法:

  • 33(外加稅):稅額=銷售金額 × 表定稅率(四捨五入到整數),合計=銷售金額+稅額。
  • 34(總額含稅)+應稅:把輸入的含稅金額反推為未稅銷售額=金額 ÷(1+稅率),合計金額同步為該未稅銷售額。
  • 34+非應稅:稅額 0,合計=銷售金額。

稅額時,34 類別下會反推銷售金額=合計-稅額;其他類別則合計=銷售金額+稅額。

下方筆數與金額加總(Sum

每次移動主檔、改銷售金額、或改課稅別後,系統會掃描全部「未刪除」明細,重算並顯示:

  • 筆數:應稅/零稅/免稅/作廢/空白各別計數。
  • 金額:應稅銷售額、應稅稅額、零稅銷售額、免稅銷售額(皆唯讀)。

顯示固定資產、土地 勾選

勾選主檔上方的 顯示固定資產、土地 後,明細格線會多出固定資產土地兩個勾選欄(未勾時隱藏)。這兩欄只有在編輯狀態下可勾。

工具列延伸功能

動作 對應 系統會做什麼
編號(編冊造號) ExtensionFunction1 進入特殊編輯,把明細依 linkid+發票日期+發票號碼(或參數 2300≠0 時改依 linkid+發票號碼)排序,逐張編冊造號(冊號 3 碼、編號 2 碼,每冊滿 100 筆換冊),再自動存檔;存檔失敗會回復取消
轉入(應收帳款轉入) ExtensionFunction2 開啟應收帳款轉銷貨退回及折讓視窗,把應收帳款的退回/折讓轉成本表單明細,關閉後自動 Renew 重新整理

改號功能(規劃中)

VFP 原版工具列另有「改號(else2)」修改發票號碼的按鈕,相關程式碼在 VFP 中已被註解、未啟用;新版 C# 也未提供。

常見問題

新增時按儲存出現「合計金額 = 0」存不了?

新增視窗檢核合計金額不得為 0。請先輸入銷售金額,系統會依憑證類別與課稅別自動算出稅額與合計;若課稅別為免稅/零稅,合計=銷售金額,金額本身不可為 0。

輸入發票號碼後沒有自動帶出客戶與原始金額?

自動回查只在憑證類別為 33 或 34、且發票號碼為完整 10 碼時才執行。號碼不足 10 碼、或憑證類別非 33/34,系統不會回查原發票,需手動輸入部門代號/統一編號。

改了課稅別,下面好幾列也一起變成「5.空白」?

這是設計行為:把某一列課稅別選為 5.空白 時,系統會把該列以下所有明細一併設為 5.空白並標註「以下空白」,用於整批作廢/留白。若是誤觸,請逐列改回正確課稅別。

應稅明細的稅額算出來是 0 或不對?

稅額用表定稅率(系統參數 U_Prgpar("10"),未設定預設 5%)計算。若稅額異常,請確認該參數設定;另外課稅別若為零稅/免稅,稅額本就為 0。

按「編號」沒反應或排序怪怪的?

編號 需在有明細資料時執行,並依系統參數 2300 決定排序:0 依發票日期排、其他值只依發票號碼排。若編出來的冊號/編號順序與預期不同,請確認該參數設定。

存檔後明細的憑證類別、所屬年月被改成跟主檔一樣?

這是存檔前的同步機制:系統會把每筆明細的發票鍵值、所屬年月、憑證類別、公司代碼一律對齊主檔,確保主明細一致,屬正常行為。

相關功能


需補截圖清單

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

  1. ticksr-step1.png — 主畫面全貌(主檔+明細格線+下方加總列)
  2. ticksr-step2.png — 銷項退回暨免用統一發票新增視窗
  3. ticksr-step3.png — 勾選「顯示固定資產、土地」後的明細格線
  4. ticksr-step4.png編號(編冊造號)後冊號/編號填入結果