程式資訊
- 程式 ID:
TICKR - 所屬子系統:P.發票管理
- 狀態:stable
進項發票¶
功能簡介¶
「進項發票」(Tickr,P-020)是進項憑證的彙整登錄表單。系統把同一所屬年月+憑證類別的所有進項憑證(三聯式發票、收銀機發票、海關代徵營業稅繳納證、退出折讓單等)集中成一張主檔,逐筆登錄發票明細,並自動依類別(進貨及費用/固定資產)與稅額是否超過 500 元分組,算出申報營業稅所需的各項合計。會計/稅務人員每月用它建立進項憑證底稿、做編冊造號,並可進一步與傳票核對、列印申報媒體。
主檔層只記三個 key 欄位(所屬年月、憑證類別、公司代碼)與備註;真正的發票資料都在下方明細表格裡。每一筆明細透過新增視窗(輸入發票號碼)逐張帶入。
與銷項發票的對應
本表單是進項側;銷項(開立給客戶的發票)請見銷項發票、銷項退回(暨免用統一發票)。
前置需求¶
-
權限:P.發票 →
P-020 進項發票的對應權限。新增/修改/刪除/列印分別受各自權限控管;編號(編冊造號)受「其他功能 1」權限、轉入受「其他功能 2」權限、傳票核對受「其他功能 3」權限控管。 -
基礎資料:登錄與計算的完整度取決於下列資料——
| 資料 | 影響的結果 |
|---|---|
| 憑證類別代號表(C2141) | 主檔與新增視窗的憑證類別下拉;不同類別決定稅額算法與編冊索引鍵 |
| 廠商主檔(SPDATA) | 明細的部門代號/簡稱/統一編號互查;輸入統編可反查廠商,反之亦然 |
營業稅率參數(_prgpar 項目 10) |
自動算稅額的營業稅率來源(新增視窗「應稅」明細、主表格改進項金額重算稅額都讀同一個參數;查無設定時預設 5%) |
| 傳票(SLIY) | 傳票核對 功能比對進項發票與總帳傳票金額差異 |
| 進貨單/暫收單 | 轉入 功能(進貨單轉進項發票)的來源單據 |
操作步驟¶
查詢既有發票主檔¶
- 用工具列的上一筆/下一筆/重新整理瀏覽,或用
Seek依發票鍵值(所屬年月+憑證類別,例2026-06-30+21)定位。 - 切換到某張主檔後,下方表格列出該所屬年月+憑證類別的所有明細;表單底部即時顯示進貨及費用/固定資產在 500 元上下的合計與稅額(見欄位連動與附加功能)。
新增發票明細¶
本表單的新增是「逐張發票」加進當月當類別的主檔,透過獨立的輸入視窗完成:
- 按工具列
新增,開啟輸入發票號碼視窗。 - 視窗預設帶入:公司代碼=1、所屬年月=當期申報年月、憑證類別=
21、課稅別=應稅、類別=清單第一項(1.進貨及費用)。 - 依序輸入發票日期、發票號碼、統一編號/廠商、進項金額等(欄位連動見該頁說明)。
- 按
儲存:系統依所屬年月+憑證類別找出(或建立)對應主檔,把這筆明細掛上去,畫面「新增筆數」+1,可連續登錄下一張。 - 全部輸入完成後關閉視窗;主表單會自動定位到剛新增的主檔。
為什麼新增要另開視窗
主表格本身不支援直接在格子裡新增列(VFP 原版即攔截「在明細直接新增」並提示「請使用新增功能」)。所有新明細一律走 新增 視窗,以確保主檔 key 與編號規則正確。
修改明細¶
- 在主表單按
修改進入編輯狀態。 - 直接在明細表格修改可編輯欄位:序號/冊號/編號/類別/課稅別/統一編號/部門代號/進項金額/稅額/其他憑證/傳票號碼/備註/自訂欄位/彙總張數。
- 修改進項金額或統一編號/部門代號會觸發連動重算與互查(見下節)。
- 按
儲存完成。
刪除明細¶
- 明細只有在發票號碼為空白時才允許直接刪除(
NeedDeleteFunction以發票號碼是否空白判定);已有發票號碼的明細需透過正常編輯流程處理,避免誤刪已申報資料。
編冊造號(工具列 編號)¶
按 編號 會把目前主檔的明細自動重編冊號/編號,是進項憑證申報底稿的標準動作。詳見欄位連動與附加功能。
轉入(工具列 轉入)¶
按 轉入 開啟「進貨單轉進項發票」視窗(Tkturnr),把進貨單據轉成進項發票明細。
傳票核對(工具列 傳票核對)¶
按 傳票核對 會以目前主檔的年度為範圍,比對進項發票明細與總帳傳票的金額,並把差異匯出 Excel。詳見欄位連動與附加功能。
列印¶
按工具列 列印 開啟列印頁(TickrPrint),帶入目前主檔的所屬年月作為列印條件。
列印報表規劃中
新版列印頁目前僅提供所屬年月條件欄位;VFP 原版可依憑證類別(三聯式/二聯式/退出折讓/海關代徵…)分別輸出申報報表,但這些報表設定(CrystalPrintSetting)在新版 C# 中仍是註解狀態(尚未啟用)。實際可印報表以上線版本為準。
欄位說明¶
主檔(表單上方)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 公司代碼 | ✔ | 整數,預設 1。透過公司資訊控件選擇 |
| 所屬年月 | ✔ | 申報所屬年月,格式 YYYY-MM-DD(遮罩 InvoiceYearMonth)。標紅為重要欄位 |
| 憑證類別 | ✔ | 由代號表 C2141 帶出(21 三聯式、22 二聯式收銀機/載有稅額憑證、23/24 退出折讓、25 三聯式收銀機、28 海關代徵…)。決定稅額算法與編冊索引 |
| 發票鍵值 | 系統 | 系統組成(所屬年月+憑證類別),標示為系統產生欄位 |
| 發票備註 | — | 30 字內 |
| 轉入備註/轉出備註 | 系統 | 系統產生欄位(轉單時帶入) |
明細(表格)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 序號 | — | 排序用流水號 |
| 冊號/編號 | — | 申報冊號(3 碼)/冊內編號(2 碼);由 編號 功能自動產生 |
| 發票日期 | ✔ | 唯讀(在新增視窗輸入),格式日期 |
| 發票號碼 | ✔ | 10 碼以內;空白才允許刪除該列 |
| 發票迄號 | — | 連續發票的迄號 |
| 類別 | ✔ | 下拉:1.進貨及費用/2.固定資產/3.不可抵進貨/4.不可抵固資/5.進項綜合。決定底部合計歸屬 |
| 課稅別 | ✔ | 下拉:應稅/零稅/免稅 |
| 統一編號 | — | 8 碼;輸入後反查廠商(見下節),LostFocus 觸發 |
| 部門代號 | — | 廠商代號;輸入後帶簡稱與統編(LostFocus 觸發) |
| 部門簡稱 | 系統 | 由統編/代號互查帶出 |
| 進項金額 | ✔ | 營業稅稅基;修改後依憑證類別重算稅額/合計(LostFocus 觸發) |
| 稅額 | — | 9 位整數;應稅時依稅率自動算,可手改 |
| 合計金額 | 系統 | 唯讀=進項金額+稅額 |
| 其他憑證 | — | 海關代徵營業稅繳納證號等 |
| 傳票號碼 | — | 對應總帳傳票;傳票核對 以此比對 |
| 備註/自訂欄位/彙總張數 | — | 申報附註欄位 |
底部合計(唯讀,系統計算)¶
| 欄位 | 說明 |
|---|---|
| 500元以下/以上 × 進貨及費用/固定資產 | 依明細「類別」與「稅額是否 > 500」分四格累加進項金額 |
| 合計未稅(進貨及費用/固定資產) | 500 以下+以上 |
| 稅額(進費稅額/固資稅額) | 對應類別的稅額加總 |
欄位連動與附加功能¶
【本節說明「輸入某欄位/按某按鈕後系統會做什麼」,全部來自實際程式碼。】
底部合計即時重算(Sum)¶
- 當你切換主檔(
AfterMoverRecord)或修改明細的進項金額(進項金額Binding連動)時,系統會重跑底部八格合計(Sum):- 只計算未刪除(增刪修不是
D)的明細。 - 類別為
1.進貨及費用/3.不可抵進貨/5.進項綜合的列,稅額累加到「進費稅額」;其進項金額依該列稅額是否 > 500 分別累加到「500元以上/以下 進貨及費用」。 - 類別為
2.固定資產/4.不可抵固資的列,稅額累加到「固資稅額」;進項金額同樣依稅額 500 上下分流到固定資產兩格。 - 「合計未稅」=該類 500 以下+以上。
- 只計算未刪除(增刪修不是
主表格修改進項金額 → 自動算稅(SetAmount)¶
- 在主表格(編輯狀態)改某列進項金額,且該主檔憑證類別屬於 21/22/23/24/25/28 時,系統會:
- 取表定稅率(即
_prgpar項目10,查無設定時預設 5),算稅額 = 四捨五入(進項金額 × 稅率 ÷ 100), - 並令
合計金額 = 進項金額 + 稅額, - 接著重跑底部合計。
- 取表定稅率(即
- 直接改稅額欄位時,
合計金額也會即時跟著=進項金額+稅額。
明細統一編號 ↔ 部門代號(廠商)互查¶
- 在主表格輸入統一編號(LostFocus):系統到廠商主檔(SPDATA)找該統編,找到就回填部門代號/部門簡稱;找不到提示「查無資料」。
- 反向:輸入部門代號(LostFocus):以代號查廠商基本資料,回填部門簡稱/統一編號。
- 兩者互為連動,輸入任一邊都會自動補另一邊。
編號(編冊造號)¶
按工具列 編號 觸發 ExtendedFunction1,系統會:
- 先重新整理目前主檔,沒有主檔或沒有明細則直接結束。
- 進入特殊編輯狀態。
- 依憑證類別決定排序鍵:
- 一般類別:以
linkid + 發票日期 + 發票號碼排序。 - 憑證類別
23(退出折讓):改以linkid + 自訂欄位 + 發票號碼排序。
- 一般類別:以
- 排序後呼叫
InvoiceHelper.編號:同一張主檔(linkid)內,冊號從 001 起、編號從 00 起逐筆遞增;編號累計到 100 時冊號 +1、編號歸 0。 - 自動存檔;存檔失敗會跳錯誤訊息並取消編輯。
什麼時候按編號
通常在當月發票全部登錄完畢、要產出申報底稿前按一次,讓冊號/編號連續整齊。重新登錄或補單後可再按一次重編。
轉入(進貨單轉進項發票)¶
按 轉入 觸發 ExtendedFunction2:開啟「進貨單轉進項發票」視窗(Tkturnr,ProgramClass TKTURNR),由該視窗挑進貨單據轉成進項發票明細;關閉後主表單自動重新整理。
傳票核對¶
按 傳票核對 觸發 ExtendedFunction3:以目前主檔所屬年月的前 4 碼(年度) 為範圍呼叫 進項發票核對傳票Bll,它會:
- 撈出該年度所有進項發票明細與其對應的總帳傳票(SLIY)。
- 依傳票號碼分組,分別加總「發票端」的進項金額/稅額/合計,與「傳票端」的貨款/稅。
- 列出有差異者(傳票號碼空白、或進項金額/稅額對不上)並計算差額。
- 把比對結果匯出 Excel(檔名「進項發票核對傳票」)供人工核對。
列印帶值¶
- 按
列印取得列印頁 ViewModel(TickrPrint),若目前有主檔,會把該主檔的所屬年月帶入列印條件,作為報表撈資料的依據。
新增視窗(Tickr_m)的連動¶
輸入發票號碼 視窗本身有多項連動(發票號碼輸入後查既有資料、進項金額自動算稅、統編/廠商互查),請見該頁的欄位連動說明。重點摘要:
- 輸入進項金額且課稅別含「應稅」時,以
_prgpar項目10的稅率自動算稅額與合計;非應稅時稅額歸 0、合計=進項金額。 - 憑證類別為
23/24(退出折讓)時,輸入 10 碼發票號碼會回查原進項發票,帶出原始進項金額與已銷退(充抵)金額供折讓沖抵參考。
常見問題¶
明細的稅額或合計金額一直是 0?
稅額自動計算只在特定憑證類別(21/22/23/24/25/28)下才會依進項金額重算;其他類別需手動輸入稅額。另外在新增視窗,只有課稅別含「應稅」才會自動帶稅,零稅/免稅的稅額會固定為 0。請確認憑證類別與課稅別設定正確。
輸入統一編號後沒帶出廠商(部門代號/簡稱空白)?
統編互查是到廠商主檔(SPDATA)比對,且為 LostFocus 觸發——請在輸入完統編後移開焦點。若仍空白,多半是該統編尚未建廠商主檔,會出現「查無資料」提示;請先到廠商主檔維護。
為什麼不能直接在明細表格新增一列?
這是設計:所有新發票一律走工具列 新增(開「輸入發票號碼」視窗)登錄,以確保主檔 key、課稅別、稅率與編號規則一致。直接在格子新增會被攔截。
明細刪不掉?
明細只有在發票號碼為空白時才允許刪除。已登錄發票號碼(通常代表已申報)的列不開放直接刪除,避免破壞申報底稿;如需作廢請循退出折讓或修改流程處理。
按了編號,冊號/編號沒變或存檔失敗?
編號 需要目前有主檔且有明細才會作用;它會自動進入特殊編輯並存檔。若提示存檔失敗,系統會自動取消編輯——通常是因為資料被其他人鎖定或有驗證未過,請排除後重試。
傳票核對跑出來都是差異列?
傳票核對 只列出對不上的傳票(發票端與傳票端金額不符或缺傳票號碼),相符者不會列出。出現很多差異多半是明細的傳票號碼還沒填、或傳票尚未過帳;先補齊傳票號碼並確認傳票已入帳再核對。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/P-Invoice/images/):
tickr-step1.png— 主表單全貌(上方主檔欄位+明細表格+底部合計)tickr-step2.png— 新增「輸入發票號碼」視窗tickr-step3.png— 底部進貨及費用/固定資產 500 元上下合計區tickr-step4.png—傳票核對匯出的差異 Excel 範例