程式資訊
- 程式 ID:
TICKR_M - 所屬子系統:P.發票管理
- 狀態:stable
輸入發票號碼(進項發票新增視窗)¶
功能簡介¶
「輸入發票號碼」是進項發票(Tickr,P-020)的逐筆新增彈出視窗。在進項發票主表單按「新增」時,系統會開啟這個模態視窗(視窗標題為「輸入發票號碼」),讓會計/稅務人員一張一張輸入進項憑證——發票號碼、廠商、進項金額、稅額等——存檔後系統會把該筆掛到對應的所屬年月+憑證類別主檔下,並把游標導引到剛新增的那一筆。
這個視窗本身不顯示主表單的明細格線,而是專注在「填好一張、存一張、繼續填下一張」的連續輸入流程。它的角色相當於進項發票明細的快速登錄器,不是獨立的查詢/維護程式——所有查詢、修改、刪除、編冊造號、列印、傳票核對等動作都回到進項發票主表單操作。
如何叫出這個視窗
這個視窗不是主選單的獨立功能,而是從進項發票主表單的工具列按「新增」時自動彈出。關閉視窗後,主表單會自動定位到本次新增的最後一筆資料。
前置需求¶
- 權限:須具備 P.發票 →進項發票(
P-020)的新增權限,才能開啟本視窗。 - 基礎資料:下列主檔/參數會影響本視窗能否正確帶值與計算——
| 資料 | 影響什麼 |
|---|---|
| 公司基本資料 | 公司代碼下拉選單的來源(預設帶 1) |
憑證類別代碼表(CMB_C2141) |
憑證類別下拉選單與其中文說明 |
| 廠商主檔(Spdata) | 輸入統一編號或廠商代號時互相帶出對方與簡稱 |
系統參數「表訂稅率」(_prgpar 第 10 項) |
應稅進項金額自動算稅的稅率(一般為 5) |
| 既有的進項發票主檔 | 同一所屬年月+憑證類別已存在時,新筆掛到原主檔(不重建) |
操作步驟¶
- 在進項發票主表單按工具列的
新增,系統彈出「輸入發票號碼」視窗。視窗左上角的新增筆數會顯示這次開窗以來已成功存入幾筆(從001起跳)。 - 確認或修改視窗上方的主檔欄位:
- 公司代碼:預設
1,右側自動顯示公司名稱。 - 所屬年月:預設帶系統的發票申報年月(格式為民國年月遮罩),存檔後憑此+憑證類別決定資料掛到哪張主檔。游標開窗後會先停在這個欄位。
- 憑證類別:預設
21,右側自動顯示類別說明。 - 類別:預設第一項
1.進貨及費用,可改選2.固定資產、3.不可抵進貨、4.不可抵固資、5.進項綜合。 - 課稅別:預設「應稅」,影響是否自動算稅(見欄位連動與附加功能)。
- 公司代碼:預設
- 輸入發票識別資訊:發票日期、發票號碼(最多 10 碼,輸入後自動轉大寫)、需要時填發票迄號、冊號、編號。海關代徵類請改填其他憑證(海關代徵營業稅繳納證號碼)。
- 輸入廠商:可直接打統一編號讓系統帶出廠商,或在廠商欄輸入/查詢廠商代號,兩者會互相帶值並帶出廠商簡稱。
- 輸入進項金額(營業稅稅基)。若課稅別為應稅,系統會自動算出稅額並回填合計金額;金額或稅額有特殊情形時可手動改稅額。
- 視需要填備註、彙加註記、彙總張數。
- 按
儲存。通過檢核後系統存檔、跳出「新增成功」、新增筆數 +1,並清備視窗讓你接著輸入下一張。 - 全部輸入完成後按
取消/關閉視窗。若這次至少成功新增過一筆,主表單會自動定位到最後新增的那一筆。
連續輸入
這個視窗設計成「存一張、留在原視窗繼續填下一張」。不必每張都關視窗重開——按 儲存 後直接改欄位填下一張即可,新增筆數會替你累計本次輸入的張數。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 公司代碼 | ✔ | 下拉選自公司資料,預設 1;右側顯示公司名稱(唯讀) |
| 所屬年月 | ✔ | 發票申報年月遮罩(InvoiceYearMonth),預設帶系統當期申報年月;存檔不可空白 |
| 憑證類別 | ✔ | 下拉選自代碼表 CMB_C2141,預設 21;右側顯示類別說明(唯讀);存檔不可空白 |
| 類別 | ✔ | 下拉清單:1.進貨及費用/2.固定資產/3.不可抵進貨/4.不可抵固資/5.進項綜合,預設第一項 |
| 課稅別 | ✔ | 進項發票課稅別清單,預設「應稅」;決定是否自動算稅 |
| 發票日期 | ✔ | 短日期格式;存檔時必須是可解析的日期,否則擋存 |
| 發票號碼 | △ | 最多 10 碼,輸入後自動轉大寫;與其他憑證至少擇一輸入 |
| 發票迄號 | — | 連號發票的迄號 |
| 冊號 | — | 編冊用冊號 |
| 編號 | — | 編冊用編號 |
| 其他憑證 | △ | 海關代徵營業稅繳納證號碼;填了它可不填發票號碼 |
| 統一編號 | — | 最多 10 碼;輸入後自動帶出廠商(見下節) |
| 廠商(代號) | — | 廠商查詢欄;帶出廠商簡稱並回填統一編號 |
| 廠商簡稱 | — | 由廠商代號/統一編號自動帶入(唯讀) |
| 進項金額 | △ | 營業稅稅基;輸入後依課稅別自動算稅與合計 |
| 稅額 | — | 應稅時系統自動算(進項金額 × 表訂稅率,四捨五入到整數);可手動覆寫 |
| 合計金額 | ✔ | 進項金額 + 稅額,唯讀;存檔時若為 0 會被擋下 |
| 原始進項金額 | — | 憑證類別 23/24 時帶出原發票進項金額(唯讀,見下節) |
| 已銷退金額 | — | 憑證類別 23/24 時帶出已充抵金額(唯讀,見下節) |
| 彙加註記 | — | 彙加用註記 |
| 彙總張數 | — | 彙總張數,預設 0 |
| 備註 | — | 自由文字備註 |
欄位連動與附加功能¶
這一節把「輸入某欄位後系統會做什麼」「按某按鈕會做什麼」全部列出,全部來自實際程式碼。
開窗時帶的預設值¶
當視窗開啟時,系統會:
- 把公司代碼設為
1、憑證類別設為21、課稅別設為「應稅」、類別設為清單第一項1.進貨及費用。 - 把所屬年月帶成系統當期的發票申報年月。
- 把游標先停在所屬年月欄位。
- 載入公司、憑證類別(代碼表
CMB_C2141)、類別與課稅別四個下拉清單。
輸入發票號碼後¶
當你輸入發票號碼時,系統會:
- 自動轉大寫——不論你打大小寫,存進去的一律是大寫。
- 只有在發票號碼剛好 10 碼時才進一步處理;長度不足不會觸發後續帶值。
-
若憑證類別是 23 或 24(退出折讓相關),系統會用這張發票號碼去回查原進項發票明細,並帶出:
- 廠商代號/廠商簡稱/統一編號(取憑證類別相符的那一筆原始發票)。
- 原始進項金額(原發票的進項金額)。
- 已銷退金額(同一張發票號碼、但憑證類別不同的那些筆的進項金額加總,代表已被充抵/銷退掉的金額)。
23/24 的充抵帶值
這個回查只在憑證類別 23/24 時發生,用途是讓你新增退出折讓時看得到原發票的金額與已充抵狀況。一般進貨(21/22)不會觸發。
輸入統一編號後¶
當你在統一編號欄輸入並離開時,系統會:
- 用統一編號到廠商主檔(Spdata)查詢,帶出對應的廠商代號與廠商簡稱。
- 反過來,當廠商代號被帶入或你直接改廠商代號時,系統會用廠商代號回查廠商基本資料,再把該廠商的統一編號回填。
也就是說統一編號 ↔ 廠商代號是雙向連動的:填哪一邊都會自動補另一邊與廠商簡稱。
輸入進項金額後(自動算稅)¶
當你輸入進項金額時,系統依課稅別決定怎麼算:
- 課稅別含「應稅」:
- 取系統參數「表訂稅率」(
_prgpar第 10 項,一般為 5)。 - 稅額 = 進項金額 × 稅率 ÷ 100,四捨五入到整數(逢 0.5 往遠離 0 的方向進位)。
- 合計金額 = 進項金額 + 稅額。
- 取系統參數「表訂稅率」(
- 課稅別非應稅(免稅/零稅率等):
- 稅額 直接設為 0。
- 合計金額 = 進項金額。
手動改稅額後¶
若你直接修改稅額欄,系統會立即把合計金額重新算成「進項金額 + 你輸入的稅額」。也就是稅額可在自動算稅之後手動覆寫,合計會跟著更新。
儲存(儲存 按鈕)會做的檢核與動作¶
按 儲存 時,系統依序檢核(任一條不過就跳訊息並停在原視窗,不存檔):
- 所屬年月不得空白。
- 憑證類別不得空白。
- 合計金額不得為 0。
- 發票日期必須是可解析的日期。
- 其他憑證與發票號碼至少要填一個(兩者皆空會擋「發票號碼未輸入」)。
全部通過後系統會:
- 以「所屬年月+憑證類別」組出發票鍵值,回查是否已有對應主檔——有就掛在既有主檔下(更新),沒有就新建一張主檔。
- 把這張發票寫成一筆明細(含廠商、金額、稅額、海關繳納證等)掛到主檔。
- 取得新資料的 pkid 暫存,作為關窗後主表單自動定位用。
- 新增筆數 +1、跳「新增成功」,並讓你接著輸入下一張。
關窗(取消 按鈕)與回主表單定位¶
按 取消/關閉視窗時:
- 若這次開窗期間至少成功存過一筆(pkid 大於 0),視窗以「成功」結果關閉,進項發票主表單會自動跳到本次新增的最後一筆。
- 若一筆都沒存成功,視窗以「取消」結果關閉,主表單停留原位。
這個視窗沒有修改/刪除功能
本視窗只負責「新增」。要修改或刪除已建立的發票、做編冊造號、列印或傳票核對,請回進項發票主表單操作。
常見問題¶
按儲存沒反應,跳「合計金額 = 0」?
合計金額是由「進項金額+稅額」自動算出來的唯讀欄。請先填進項金額——應稅時系統會自動算稅並帶出合計;若為免稅/零稅率,合計就等於進項金額。進項金額沒填或為 0,合計自然是 0,存檔會被擋。
稅額一直是 0,自動算稅沒生效?
自動算稅只在課稅別含「應稅」時觸發。請確認課稅別選的是「應稅」而非免稅/零稅率。另外稅率來自系統參數「表訂稅率」(_prgpar 第 10 項)——若該參數沒設定或為 0,算出來的稅額也會是 0。需要時可在稅額欄手動輸入,合計會跟著重算。
輸入統一編號/廠商代號帶不出廠商?
統一編號要在廠商主檔(Spdata)裡查得到才會帶出廠商代號與簡稱;廠商代號則要在廠商基本資料中存在才會回填統一編號。若帶不出來,請先確認該廠商已建檔,或直接用廠商查詢欄選取。
存檔時跳「發票號碼未輸入」?
系統要求發票號碼與其他憑證(海關代徵營業稅繳納證號碼)至少填一個。一般發票填發票號碼;海關代徵類請改填其他憑證即可。
我輸入了發票號碼但廠商、金額沒被自動帶出來?
自動回查帶值只發生在憑證類別為 23 或 24(退出折讓相關)且發票號碼剛好 10 碼時,用途是帶出原發票的廠商、原始進項金額與已充抵金額。一般進貨(憑證類別 21/22)不會自動帶廠商與金額,需自行輸入。
關窗後主表單沒跳到我剛新增的資料?
主表單只有在本次開窗「至少成功存過一筆」時,才會在關窗後自動定位到最後新增的那筆。若你一筆都沒存成功(每次按儲存都被檢核擋下)就直接關窗,主表單會停留原位。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/P-Invoice/images/):
tickr_m-step1.png— 從進項發票主表單按「新增」彈出本視窗的全貌(含新增筆數)tickr_m-step2.png— 主檔欄位區(公司代碼/所屬年月/憑證類別/類別/課稅別)tickr_m-step3.png— 廠商與金額區(統一編號、進項金額、稅額、合計金額自動算)tickr_m-step4.png— 存檔後「新增成功」訊息與新增筆數累加