程式資訊
- 程式 ID:
TICKS - 所屬子系統:P.發票管理
- 狀態:stable
銷項發票¶
功能簡介¶
「銷項發票」是發票模組的核心開立/登錄單據,用來逐本(逐號碼)登記公司開出的銷項統一發票:每一張主檔對應一個發票鍵值(所屬年月 + 憑證類別 + 發票號碼),底下以序號 00~49(或 50~99)展開成一整本 50 聯的明細,記錄每一聯的課稅別、統一編號、部門(客戶)、銷售金額、稅額、合計金額。
會計/開立發票人員在每期申報前用本表單把當期所有發票登錄齊全,畫面下方的應稅/零稅/免稅/作廢/空白筆數與銷售額、稅額統計即是日後 401 申報 的資料來源。除了手動逐本新增,也可透過工具列的 轉入 把應收帳款已開立的發票一次帶進來(見 欄位連動與附加功能)。
與其他發票單據的關係
本表單登的是「自家開出的銷項發票」。進項(收到的)發票請見進項發票;作廢/折讓另有專屬表單。三聯式(憑證類別 31)、二聯式(32)、電子發票(35)、收銀機(36)等格式在本表單由憑證類別區分,連動不同的展開與算稅邏輯。
前置需求¶
- 權限:P.發票 →
P-030 銷項發票的瀏覽、新增、修改、刪除、列印權限;使用轉入功能另需「轉單」權限。 - 基礎資料/參數:
| 資料 | 影響的結果 |
|---|---|
| 憑證類別代碼(C2142 代碼檔) | 主檔憑證類別下拉的可選值與說明文字 |
| 客戶/廠商主檔(Cusp) | 明細部門代號帶出部門簡稱、統一編號;以統編反查代號 |
| 廠商主檔(Spdata) | 明細輸入統一編號時反查對應部門代號/簡稱 |
表定稅率(使用者參數 _prgpar 第 10 項) |
應稅發票自動算稅的稅率,未設定時預設 5% |
| 發票字軌設定 | 轉入 時填入的電子/三聯式/二聯式字軌與起訖號碼 |
操作步驟¶
新增一本發票¶
- 按工具列的
新增,系統先彈出銷項發票新增小視窗(見 銷項發票新增),請輸入:- 發票年度(所屬年月):預設帶當期發票年月。
- 憑證類別:預設
35(電子發票),可改選三聯式31、二聯式32、收銀機36等。 - 發票號碼:該本發票的起號(最多 10 碼)。
- 按
儲存後系統回到主畫面並自動展開明細:- 憑證類別為
36(收銀機)時只產生一列(序號00)。 - 其他類別一次產生 50 列;發票號碼末兩碼為
00時序號為00~49,否則為50~99。
- 憑證類別為
- 逐列填寫明細:課稅別、統一編號 或 部門代號、銷售金額。應稅發票輸入銷售金額後系統會自動算稅(見下節)。
- 確認左下方的筆數/金額統計正確後,按工具列
儲存。
小技巧
一本發票通常只用到前幾聯,剩下未用的聯把課稅別設成 5.空白 即可——系統會把該列之後整本都帶成空白並在備註標「以下空白」(見下節)。
修改與刪除¶
- 用工具列的
查詢/瀏覽或上方發票鍵值移動到要修改的發票,按修改進入編輯狀態後即可改明細。 - 明細格線不可新增列(一本固定 50 聯,新增時即整本展開);要把某一聯標成不用,請改以課稅別
4.作廢/5.空白標記。需要把某列標記刪除時,於該列按 Ctrl + Delete。 - 整本發票的刪除走工具列
刪除;存檔時系統會把標記刪除的明細合計金額歸零再上傳。
列印¶
- 移動到要列印的發票,按工具列
列印,依標準列印流程選擇報表輸出。
轉入(應收帳款轉銷項發票)¶
- 按工具列
轉入,開啟應收帳款轉銷項發票視窗。 - 輸入所屬年月、各類發票(電子/三聯式/二聯式)的字軌與起始/截止號碼。
- 按
儲存,系統依字軌區間抓取應收帳款已開立的發票明細,整批產生銷項發票(詳見 轉入功能)。
欄位說明¶
主檔¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 公司代碼 | ✔ | 預設帶 1;存檔時若為 0 自動補 1 |
| 所屬年月 | ✔ | 發票申報所屬年月(民國年月格式),新增時由新增視窗帶入,主畫面唯讀 |
| 發票號碼 | ✔ | 該本發票號碼,主畫面唯讀(於新增視窗輸入) |
| 發票鍵值 | 系統 | =所屬年月+憑證類別+發票號碼,存檔時自動組出(系統產生欄位) |
| 憑證類別 | ✔ | 下拉(代碼檔 C2142),決定算稅/展開邏輯;新增預設 35 |
| 發票備註 | — | 自由文字(最長 30 字) |
| 轉入備註 | 系統 | 轉入 產生時自動寫入「使用者,轉發票」 |
| 轉出備註 | 系統 | 系統產生欄位 |
明細¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 序號 | 系統 | 00~49 或 50~99,新增展開時自動產生 |
| 發票日期 | — | 唯讀(4 碼,月日) |
| 課稅別 | ✔ | 下拉:1.應稅/2.零稅/3.免稅/4.作廢/5.空白 |
| 統一編號 | — | 輸入後可反查帶出部門代號/簡稱 |
| 部門代號 | — | 輸入後帶出部門簡稱與統一編號 |
| 部門簡稱 | 系統 | 由部門代號/統編帶出 |
| 銷售金額 | — | 應稅類別輸入後自動算稅額、合計金額 |
| 稅額 | 系統 | =銷售金額 × 表定稅率(四捨五入至整數) |
| 合計金額 | 系統 | =銷售金額+稅額 |
| 單號 | — | 來源單據單號(轉入時帶入) |
| 備註 | — | 課稅別設為 5.空白 時自動帶「以下空白」 |
| 固定資產/土地 | — | 勾選欄,預設不顯示,須勾「顯示固定資產、土地」才出現 |
下方統計(唯讀)¶
| 欄位 | 說明 |
|---|---|
| 應稅/零稅/免稅/作廢/空白筆數 | 各課稅別的明細列數 |
| 應稅銷售額/應稅稅額 | 應稅明細的銷售金額、稅額加總 |
| 零稅銷售額/免稅銷售額 | 對應課稅別的銷售金額加總 |
欄位連動與附加功能¶
新增時的自動展開(新增 → 銷項發票新增視窗)¶
當你按 新增 並在銷項發票新增視窗按儲存後,系統依憑證類別與發票號碼末碼,自動把明細整本展開:
- 憑證類別
36(收銀機):只加一列,序號00。 - 其他憑證類別:一次加 50 列。發票號碼末兩碼是
00→ 序號00~49;否則 → 序號50~99,並同步寫入排列順序(000~049或050~099)。 - 每列都先帶好所屬年月、憑證類別、發票號碼與發票鍵值。
輸入銷售金額 → 自動算稅(僅憑證類別 31 / 35)¶
當你在明細輸入銷售金額時:
- 若主檔憑證類別為
31(三聯式)或35(電子發票),系統會自動把該列換算:- 稅額 = 銷售金額 × 表定稅率 ÷ 100(四捨五入至整數,表定稅率取使用者參數,未設為 5%)。
- 合計金額 = 銷售金額 + 稅額。
- 並即時重算下方統計筆數與金額。
- 其他憑證類別不會自動算稅,需自行輸入稅額。
二聯式(憑證類別 32)的含稅倒推為規劃中
VFP 舊版中,二聯式發票(憑證類別 32)以「合計金額」輸入、由系統倒推未稅銷售額與稅額(含稅 ÷(1+稅率))。此倒推邏輯在目前的 C# 版尚未提供,二聯式請以實際金額逐欄輸入。
輸入部門代號 → 帶出簡稱與統編¶
當你在明細輸入部門代號且非空白時,系統會以該代號查客戶/廠商主檔(Cusp),自動帶出該列的部門簡稱與統一編號。
輸入統一編號 → 反查部門代號¶
當你在明細輸入統一編號且非空白時,系統會到廠商主檔(Spdata)以統編反查:
- 找到 → 自動帶入對應的部門代號與部門簡稱。
- 找不到 → 跳出「查無資料」提示。
課稅別設為「5.空白」→ 整本以下帶空白¶
當你把某列課稅別改成 5.空白 時,系統會:
- 把該列備註寫成「以下空白」。
- 把該列之後的所有明細列課稅別一併設成
5.空白(一鍵把整本剩餘聯標成空白)。
顯示固定資產、土地¶
主檔上方有「顯示固定資產、土地」核取方塊(預設不勾):
- 不勾選 → 明細隱藏「固定資產」「土地」兩個勾選欄。
- 勾選 → 顯示這兩欄,可逐列勾選標記該聯屬固定資產或土地(供 401 申報細分)。
存檔前的整理與檢核(儲存)¶
按 儲存 時,系統會:
- 檢核:公司代碼空白→補 1;所屬年月空白或格式不符→擋存並提示「請輸入所屬年月」;發票號碼空白→提示「請輸入發票號碼」。
- 重組發票鍵值:發票鍵值 = 所屬年月+憑證類別+發票號碼。
- 同步明細:把每列明細的憑證類別、所屬年月、發票鍵值、公司代碼對齊主檔;標記刪除的列把合計金額歸零。
轉入(轉入 → 應收帳款轉銷項發票)¶
工具列 轉入 開啟應收帳款轉銷項發票視窗,把應收帳款已開立的發票一次匯入成銷項發票:
- 輸入所屬年月、電子發票/三聯式/二聯式各自的字軌與起始、截止號碼。
- 系統檢核:
- 所屬年月不得空白、格式需正確。
- 起訖號碼末兩碼需為
00或50。 - 單一字軌截止號碼與起始號碼差距不得超過 1000。
- 比對是否有重複發票號碼(重複會擋下並提示先刪除)。
- 系統依字軌區間抓取應收帳款(AR+)的發票明細,依電子(憑證
35)/三聯(31)/二聯(32)分別整本展開為 50 聯;對應到的聯帶入金額、課稅別等,未對應的聯預設為4.作廢,最後一段無資料者自動帶「以下空白」。 - 比對作廢發票檔,把已作廢號碼維持作廢,避免被覆蓋為空白。
- 整批寫入後回到主畫面定位到轉入的第一本發票。
轉入是整批產生、不是逐列編輯
轉入 會一次建立整段號碼區間的發票主檔與明細,請先在 AR 端確認發票號碼、字軌正確再轉,避免產生大量需手動修正的空白/作廢本。
常見問題¶
輸入了銷售金額,稅額卻是 0?
自動算稅只對憑證類別 31(三聯式)與 35(電子發票)生效。其他類別(如二聯式 32、收銀機 36)不會自動帶稅額,需自行輸入。另外若使用者參數的表定稅率被設成 0,算出來自然是 0;未設定時系統預設用 5%。
免稅銷售額為什麼有加總,零稅卻沒進稅額?
這是設計:零稅、免稅只加總「銷售金額」,不計稅額(稅額為 0);只有應稅才會同時加總銷售額與稅額。下方的「應稅稅額」只反映應稅明細。
明細列為什麼不能新增?
銷項發票一本是固定 50 聯的連號結構,明細格線不允許新增列(新增整本時一次展開 50 列)。不要的聯請把課稅別設為 4.作廢 或 5.空白;要把某列標記刪除可在該列按 Ctrl + Delete;要刪整本發票則用工具列 刪除。
輸入統一編號後跳「查無資料」?
以統編反查是查廠商主檔(Spdata)。若該統編未建在主檔中就會查無資料,請先確認客戶/廠商主檔已維護該統編,或改用部門代號輸入。
存檔時一直擋「請輸入所屬年月」?
所屬年月為空、為 - -、或不符發票年月格式都會被擋。所屬年月是在新增視窗輸入後帶入主畫面的唯讀欄,請確認新增當下已正確填寫。
按了「轉入」卻顯示「發票號碼重複」?
轉入前系統會比對該字軌區間是否已有相同發票號碼存在。請先把重複的那幾本發票刪除,再重新執行轉入。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/P-Invoice/images/):
ticks-step1.png— 銷項發票主畫面(主檔+明細格線+下方統計全貌)ticks-step2.png— 新增時彈出的「銷項發票新增」小視窗ticks-step3.png— 勾選「顯示固定資產、土地」後的明細格線ticks-step4.png— 「應收帳款轉銷項發票(轉入)」視窗