程式資訊
- 程式 ID:
TICKA_AR - 所屬子系統:P.發票管理
- 狀態:stable
應收帳款轉統一發票¶
功能簡介¶
「應收帳款轉統一發票」是銷貨發票(TICKA)的一個延伸(轉單)功能。當應收帳款已經透過 AR/AP 模組產生(例如收款沖帳、應收憑單),但對應的稅務憑證還沒開立時,財務人員用這支工具把這些尚未開立發票的應收帳款(稅別 T31 開頭、財務類別 11/12)勾選後,套用財務先預留的空白發票號碼,一次轉開成正式的統一發票。
使用時機與角色:
- 由發票作業人員(財務)在銷貨發票主檔畫面按
延伸功能1(應收帳款轉統一發票)開啟。 - 本功能不是直接登打發票,而是「挑單 → 配號 → 轉開」:來源是已存在於應收帳款檔(rp_m/rp_d view)裡、發票號碼還空白的資料。
- 轉開成功後,系統會把剛產生的那張發票帶回銷貨發票主檔顯示,後續的列印、作廢、折讓等都回到主檔操作。
此頁是 TICKA 的延伸功能
本功能沒有獨立的主選單代號,必須從銷貨發票的工具列延伸功能進入。它與出貨單轉統一發票(延伸功能2)、出口報單轉統一發票(延伸功能3)是同一個主檔的三個並列轉單來源,差別只在於抓單的來源不同。
前置需求¶
- 權限:須具備銷貨發票(TICKA)的新增權限——本功能轉開的發票即寫入 TICKA 的資料表,轉單時會以 TICKA 的權限檢核。
- 基礎資料 / 參數:轉開能否成功取決於下列資料的維護狀況——
| 資料 | 影響的結果 |
|---|---|
| 空白發票(財務於發票檔預留的「空白」課稅別發票號碼) | 沒有空白發票就無法配號轉開,會出現「發票不夠,請財務新增後再重轉發票」 |
應收帳款(rp_m/rp_d,稅別 T31 開頭、財務類別 11/12、發票號碼空白) |
查詢結果清單的來源;不符這些條件的資料不會被列出 |
| 客戶基本資料(統一編號、抬頭、地址) | 帶入發票的統一編號/名稱/地址;統一編號空白會擋存檔 |
稅別與稅率設定(名稱含 5%/0%) |
決定稅額算法(5% 課稅或 0% 零稅) |
操作步驟¶
本畫面有兩個頁籤:左頁「應收帳款轉統一發票」是挑單轉開的主畫面;右頁「Locked Source」顯示被別人鎖住、本次無法轉的單(標題會顯示筆數)。
步驟一 設定發票年月與發票日期¶
- 確認上方的 發票年度、發票月份、發票日期。
- 三者預設帶入今天的年、月與當日日期。
- 發票月份只接受奇數月(統一發票以雙月為一期,1‑2 月為一期、3‑4 月為一期…)。若你輸入偶數月,系統會自動減 1 改成該期的單數月。
- 系統用這組年月去發票檔找出財務預留的空白發票號碼,並檢核發票日期是否合法(詳見欄位連動與附加功能)。
步驟二 查詢待轉的應收帳款¶
- 按
查詢。 - 系統會:
- 檢查發票日期 / 月份是否正確、是否有別人正在轉同一張表、該月份是否有空白發票。
- 透過轉單預存程序
TWORK_TUR_TICKA_AR鎖定來源表並撈出符合條件的應收帳款。
- 結果顯示在主格線(master),每筆是一張待轉發票的彙整(一個財務單號一列);下方明細格線(detail)顯示目前所選那筆的品項明細。被別人鎖住的單會被分流到 Locked Source 頁籤,不會出現在可勾選清單中。
步驟三 勾選並維護統一編號¶
- 在主格線最左邊的 勾選 欄逐筆打勾,或用左下角的
全 選/全部不選按鈕批次處理。 - 確認 / 補上每筆的 統一編號(此欄可編輯)。只要任何一筆勾選的資料統一編號是空白,就無法轉開。
- 視需要點選不同列,下方明細會切換顯示該筆的品號、品名、數量、單價、原幣未稅等。
步驟四 轉開發票(存檔)¶
- 按工具列(
SqlEditTurn)的存檔/轉開按鈕。 - 系統做最後檢核(至少勾一筆、統一編號皆已填、空白發票足夠),通過後把勾選的應收帳款套上空白發票號碼,寫入銷貨發票的發票主檔(ticka_m)與明細(ticka_d)。
- 轉開完成後本畫面的清單會清空,並把最後一張轉成的發票帶回銷貨發票主檔。按
離開回到主檔即可看到。
小技巧
若勾了很多筆但只想先轉一部分,先按 全部不選 再逐筆勾,比一筆筆取消快。轉開後若還有沒轉完的單,重新 查詢 會再列出剩下未開發票的應收帳款。
欄位說明¶
條件區¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 發票年度 | ✔ | 西元年,預設今年 |
| 發票月份 | ✔ | 只接受奇數月;輸入偶數月自動 −1 改為該期單數月;預設今天月份(偶數則減 1) |
| 發票日期 | ✔ | YYYY/MM/DD,預設今天;須落在發票年度+月份所屬的那一期內,且不得早於該期已開發票的最大日期 |
主格線(master,每張待轉發票一列)¶
| 欄位 | 可編輯 | 說明 |
|---|---|---|
| 勾選 | ✔ | 勾選後本筆才會被轉開 |
| 財務單號 | — | 來源應收帳款的財務單號 |
| 倉單號 | — | 倉庫交易單號 |
| 客戶簡稱 / 名稱 | — | 客戶簡稱與稅別名稱(如「應稅5%」) |
| 貨款 | — | 該財務單號下各明細原幣未稅加總(SetAmount 累計) |
| 其他金額 | — | 其他費用欄位;目前 SetAmount 未填入此欄,通常顯示 0 |
| 銷售金額 | — | 該財務單號下各明細本幣未稅加總(SetAmount 累計) |
| 稅額 | — | 依稅別名稱自動算:名稱含 5%→銷售金額×5%(四捨五入到本幣小數位);含 0%→0;都沒有則不計算 |
| 合計金額 | — | 銷售金額 + 稅額 |
| 幣別 / 匯率 | — | 來源幣別與匯率(匯率以 FXRate 格式顯示) |
| 發票號碼 | — | 來源若已有發票號碼會顯示(待轉的通常為空) |
| 交易日期 | — | 來源交易日期 |
| 統一編號 | ✔ | 發票買受人統一編號;勾選筆若空白會擋存檔 |
| 地址 | — | 買受人地址(應收帳款來源此處通常為空) |
明細格線(detail,所選那筆的品項)¶
| 欄位 | 說明 |
|---|---|
| 序號 | 來源明細序號 |
| 品號 / 品名 / 客戶品號 | 品項資訊 |
| 單位 / 數量 / 單價 | 計量單位、數量、單價 |
| 原幣未稅 | 原幣未稅金額 |
| 備註 | 來源明細備註(缺件說明) |
| 隸屬倉庫A / 單號A | 來源倉庫與倉庫交易單號 |
欄位連動與附加功能¶
這一節整理「輸入某欄位後、或按某按鈕後系統會做什麼」,全部依實際程式碼整理。
發票月份自動修正為單數月¶
當你在 發票月份 輸入偶數(例如 4 月),系統會自動把它改成同一期的單數月(4→3)。原因:統一發票以雙月為一期,發票檔以期別(單數月)儲存。這是輸入即時生效的連動,你會看到欄位值被改掉。
按 查詢 時的連鎖檢核¶
按 查詢 後,系統依序做下列檢查,任何一關沒過就出訊息並中止,不會撈資料:
- 發票日期合法性:發票日期必須以
發票年度/發票月份或發票年度/(發票月份+1)(該期的另一個月)開頭,否則「發票日期或發票月份輸入錯誤」。 - 發票日期不得回填到更早:若該期發票檔內已有更晚的發票日期,會擋「發票日期不得小於發票內已有之發票日期」。
- 沒有別人正在轉:若有其他使用者正鎖定發票主檔轉單,會擋「○○○ 正在轉單,請稍後再試」。
- 該月份要有空白發票:發票檔查無此月份資料會擋「發票檔內查無此月份之資料」;查得到才往下取出課稅別為「空白」的可用發票號碼。
查詢結果的來源與分流¶
- 撈單條件固定為:財務類別
11或12、稅別T31開頭、且發票號碼為空白的應收帳款(透過TWORK_TUR_TICKA_AR預存程序+來源表鎖定取得)。 - 撈回的資料若被別人鎖住,會被分流到右側 Locked Source 頁籤(標題顯示鎖定筆數),這些單本次不能轉。
- 同一財務單號的多筆明細會彙整成主格線一列,並由系統累計 貨款/銷售金額/稅額/合計金額。
- 明細中客戶品號以「沖帳:29」開頭或原幣未稅為 0 的列會被略過、不納入發票明細(這類是沖帳科目對轉列,不應出現在發票上)。
勾選 / 全選 / 全部不選¶
- 主格線最左的 勾選 欄、左下的
全 選、全部不選都是控制哪些列要轉開。全 選/全部不選會把目前清單所有列一次設定。
選列即時帶出明細¶
點主格線任一列,下方明細格線會立刻換成該列(依 pkid 對應)的品項明細。沒有對應明細時顯示空白。
合併同品號單價(預設開啟)¶
轉開時系統預設合併單價:同一張發票內、品號相同且單價相同的明細會被合併成一列,數量與各項金額(原幣未稅 / 原幣含稅 / 本幣未稅 / 本幣含稅)加總。這讓同品項多筆出貨在發票上併成一行。
稅額計算邏輯¶
稅額不是來源帶的,而是查詢時由 應收轉發票Poco.SetAmount 依稅別名稱現算(同時把各明細的原幣未稅累計成貨款、本幣未稅累計成銷售金額):
- 名稱含
5%→ 稅額 = 銷售金額 × 5%(四捨五入到本幣小數位數),合計 = 銷售金額 + 稅額。 - 名稱含
0%→ 稅額 = 0,合計 = 銷售金額。 - 名稱既不含
5%也不含0%→ 稅額與合計金額都不會被指派,維持 0。這種情況通常代表稅別主檔的名稱沒帶百分比字樣,需檢查稅別設定。
存檔(轉開)時的把關¶
按存檔時 AllowSave 會逐項檢查,任何一項不過就擋下並出訊息:
- 至少勾一筆,否則「請先選擇一筆資料」。
- 勾選筆的統一編號都要有值,否則「請先輸入統一編號」。
- 空白發票要夠用:每勾一筆要配一個課稅別為「空白」的發票號碼,不夠時擋「發票不夠,請財務新增後再重轉發票」。
通過後系統把每筆勾選資料套上一個空白發票(並蓋上發票日期、客戶資料、金額、稅額),明細逐筆重編 3 碼序號後寫入發票主/明細表;轉開後記錄最後一張發票的 pkid。
轉開後帶回主檔¶
轉開成功(或取消)後,本畫面的暫存清單(主格線、明細、Locked Source)都會清空。成功時把最後產生的發票 pkid 記下,按 離開 回到銷貨發票主檔時,主檔會自動切換到那張新發票。
課稅別的顯示對應
來源課稅別代碼會被轉成易讀文字:開頭為 1 → 1.應稅、2 → 2.零稅、3 → 3.免稅、其餘一律 → 5.空白。配號時則是去發票檔找課稅別等於「空白」(課稅別.空白)的預留發票號碼來套用。
常見問題¶
按查詢出現「發票檔內查無此月份之資料」或「發票不夠」?
這代表財務還沒在發票檔替這個年度/月份(期別)預留空白發票號碼。應收帳款轉統一發票是「套用既有空白發票號碼」,本身不會自行產生新號碼。請先請財務在發票作業新增該期的空白發票,再回來重轉。
明明有未開發票的應收帳款,查詢卻是空的?
撈單條件很嚴格:必須是財務類別 11 或 12、稅別 T31 開頭、且發票號碼為空白的應收帳款。財務類別或稅別不符、或該筆已經有發票號碼,都不會被列出。另外被別人鎖住的單會跑到 Locked Source 頁籤而不在可勾選清單。
存檔時一直擋「請先輸入統一編號」?
只要任何一筆被勾選的資料統一編號是空白就會擋。統一編號欄位是可編輯的——請在主格線把勾選筆的 統一編號 補齊,或取消勾選那些不開發票的列。
某些明細沒有出現在發票上?
系統會刻意略過兩類明細:客戶品號以「沖帳:29」開頭的列、以及原幣未稅為 0 的列。這些是沖帳對轉用、不應列入發票的資料,屬正常設計。
稅額顯示 0 或跟預期不符?
稅額是依稅別名稱現算的:名稱含 5% 才按 5% 計稅,含 0% 即為零稅、稅額 0。若稅別設定的名稱裡沒有這兩種百分比字樣,稅額不會被算出。請檢查稅別主檔的名稱設定。
為什麼月份輸入 4 月卻變成 3 月?
統一發票以雙月為一期,本功能以單數月當期別儲存,所以輸入偶數月會自動減 1 改成同期的單數月,屬正常行為。
相關功能¶
- 銷貨發票(本功能的母程式,轉開後回此檢視 / 列印 / 作廢)
- 出貨單轉統一發票(同主檔的延伸功能2)
- 出口報單轉統一發票(同主檔的延伸功能3)
- AR/AP 應收應付(應收帳款來源)
- 發票管理首頁
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/P-Invoice/images/):
ticka_ar-step1.png— 條件區(發票年度 / 月份 / 日期)與查詢按鈕ticka_ar-step2.png— 查詢後主格線(含勾選欄、統一編號欄)+下方明細格線ticka_ar-step3.png— 全選 / 全部不選 按鈕與存檔(轉開)後帶回主檔ticka_ar-step4.png— Locked Source 頁籤(被鎖住無法轉的單)