跳轉到

程式資訊

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

進貨單轉進項發票

功能簡介

「進貨單轉進項發票」是一支整批轉檔工具:它把指定所屬年月(兩個月一期)內、已產生應付(AP)傳票且有發票號碼的進貨/費用單據,依憑證類別彙整後,一次轉成 進項發票(tickr) 的主檔與明細。

轉檔完成後,這些進項憑證即進入進項發票作業,可再做申報用的 401 進項媒體檔(tick401) 等後續處理。

此表單以對話視窗形式開啟(標題列顯示「進貨單轉進項發票」),給負責營業稅進項申報的會計/帳務人員,在每期申報前做一次性的批次轉入。

它不是維護畫面

本表單沒有資料格可逐筆編輯,畫面上只有三個條件欄位與一顆 儲存(轉檔)鈕。要逐筆查看/修改轉出後的進項發票,請到 進項發票(tickr)

前置需求

  • 權限:P.發票 → 進貨單轉進項發票 的瀏覽權限即可開啟並執行轉檔。
  • 必須先完成的前置作業:轉檔來源是已過帳的應付傳票,下列資料若缺,相關單據就不會被轉入——
資料 影響什麼
進貨/費用單據已轉應付傳票(系統控管類別 LIKE 'AP%' 來源) 沒有 AP 傳票來源的單據不會被撈出
單據上的發票號碼已填 發票號碼空白的單據一律略過(程式以發票號碼長度 ≠ 0 為撈取條件)
廠商主檔的統一編號/部門(廠商)資料 帶入明細的統一編號、部門代號/簡稱
稅碼對應的稅率(OpenDbf 稅率表) 決定稅率欄與稅額異常判定;T281/T282 稅碼還會反推進項金額
憑證類別(C2141 稅別檔) 條件面板的憑證類別下拉、轉出主檔的憑證類別分組

操作步驟

  1. 開啟「進貨單轉進項發票」對話視窗。
  2. 確認 公司代碼(預設 1)。
  3. 設定 所屬年月:預設帶入「當期」(系統自動把當月推成奇數月,組成 YYYY-奇月-偶月 的兩個月一期,例如 2026-05-06)。游標一開窗即停在此欄。
  4. 視需要選擇 憑證類別
    • 留白(畫面顯示「(空白為全部)」)=轉入本期所有憑證類別。
    • 選一個類別=只轉該類別。
  5. 儲存 執行轉檔。系統會依序:
    1. 檢核所屬年月格式(見欄位連動與附加功能)。
    2. 撈取本期符合條件的進貨/費用單據;若無資料會跳「無資料!!!」。
    3. 檢查該期該憑證類別的發票鍵值是否已轉過,若已存在會擋下並提示先刪除。
    4. 彙整、產生主檔與明細,並做發票重複稅額異常兩項檢查(有異常會跳訊息並把異常清單複製到 Excel)。
    5. 寫入進項發票資料表。
  6. 轉檔成功後視窗回傳成功(DialogResult = true)並關閉。
  7. 進項發票(tickr) 查看/微調轉入的憑證,再接後續申報作業。

要重轉某一期某類別怎麼辦

系統以「所屬年月+憑證類別」組成的發票鍵值防止重複轉入。若要重轉,請先到 進項發票(tickr) 把該期該類別的進項發票主檔刪掉,再回本表單重轉。

欄位說明

欄位 必填 說明/格式/預設
公司代碼 下拉選公司;預設 1。轉出主檔/明細的公司代碼固定寫 1
所屬年月 格式 YYYY-奇月-偶月(一期兩個月,遮罩 InvoiceYearMonth)。預設為當期;起月必為奇數、迄月必為偶數,否則存檔時擋下。
憑證類別 下拉來源稅別檔(C2141);預設空白=全部。會排除以 4 開頭的憑證類別。

所屬年月為什麼是兩個月

台灣營業稅以「單/雙月」兩個月為一期申報,所以本表單的期別固定是「奇數月~下一個偶數月」。預設值會把當月自動往前推成奇數月再配對,例如 6 月開窗會帶 YYYY-05-06

欄位連動與附加功能

這一節說明「按下 儲存 後系統實際做了什麼」,以及各欄位背後的連動規則。

開窗時的預設帶值

  • 當你開啟視窗,系統會:
    • 公司代碼 設為 1
    • 所屬年月 設為當期(GetInvoiceYearMonth:取今年、把當月推成奇數月,組成兩個月期別)。
    • 載入公司下拉清單,並把焦點停在所屬年月欄。

儲存(轉檔)時的完整流程

  1. 所屬年月檢核

    • 空白 → 跳「所屬年月不得空白 !!!」並中止。
    • 格式錯誤 → 依錯誤回「年度錯誤」或「月份錯誤」(起月須為奇數、迄月須為偶數、月份介於 1~12),中止。
  2. 撈取來源單據lp_p1 = 12,查 TWORK_TUR_TICK

    • 只撈:發票號碼不為空、系統控管類別 LIKE 'AP%'(應付來源)、傳票號碼落在本期兩個月(傳票年月傳票年月1)、憑證類別不以 4 開頭,且收付客廠號不是 #PC%DM%DF%(排除預付沖款等內部往來)。
    • 若你有選憑證類別,再加 憑證類別 = 你選的值
    • 結果依憑證類別、發票號碼排序。
    • 撈不到任何資料 → 跳「無資料!!!」並中止。
  3. 發票鍵值重複檢查

    • 對撈到的每個憑證類別,組成 發票鍵值 = 所屬年月 + 憑證類別,查進項發票主檔是否已存在。
    • 只要有一個已存在 → 跳「發票鍵值已存在: ⟨憑證類別⟩,請刪除後再轉單 !!!」並中止整批。
  4. 彙整與產生明細(每張發票的轉換規則)

    • 先依「憑證類別+發票號碼」分組加總合計金額稅額;再依憑證類別建立進項發票主檔一筆,明細逐張發票一列。
    • 每列明細的帶值:
      • 發票日期/部門代號/部門簡稱/統一編號/傳票號碼/自訂欄位=取自來源進貨單據。
      • 轉入備註=來源的存貨異動單號;主檔轉入備註寫「⟨使用者⟩,轉進貨發票」。
      • 合計金額=該發票合計(取絕對值);稅額=該發票稅額(取絕對值);進項金額=合計 −稅額。
      • 課稅別=由來源課稅別代碼轉文字(1→應稅2→零稅3→免稅)。
      • 類別(扣抵區分)=由來源扣抵區分轉文字(1.進貨及費用2.固定資產3.不可抵進貨4.不可抵固資9.進項綜合,無對應預設 1.進貨及費用)。
      • 稅率=由來源稅碼查稅率表帶入。
      • 冊號/編號先暫填 999,最後再統一重編(見下「自動編冊號」)。
  5. 特殊稅碼/海關代徵的調整(自動連動)

    • 稅碼以 T281/T282 開頭(屬於由稅額反推金額的情形):進項金額改用 稅額 ÷ (稅率/100) 反推(四捨五入;稅率為 0 時進項金額計 0)。
    • 憑證類別以 28 開頭(海關代徵):把發票號碼搬到其他憑證欄、清空發票號碼統一編號
  6. 自動編冊號InvoiceHelper.編號

    • 同一主檔下的明細,依序自 冊號 001/編號 00 起跳,編號每滿 100 進位一個冊號。你不需手動填冊號。

轉檔前的兩項異常稽核(會彈窗+匯出 Excel)

  • 發票重複:同一批裡同一發票號碼出現一次以上,系統會跳「進項發票-重複異常」,並把重複清單自動複製到 ExcelCopyToExcel)讓你核對。這是提醒,不會中止轉檔。
  • 稅額異常:每列以 進項金額 × 稅率% 算出應有稅額,若實際稅額與之相差超過 ±2 元,視為異常,跳「進項發票-稅額異常」並把異常清單複製到 Excel。同樣是提醒性質。

異常提醒不會阻擋轉檔

「發票重複」與「稅額異常」只是把可疑資料挑給你看(並丟到 Excel),轉檔仍會繼續寫入。請在 Excel 清單比對後,到 進項發票(tickr) 修正或刪除有問題的列。

寫入

  • 彙整完成後,以新增模式寫入 進項發票(tickr) 對應的主檔(Twork_inv_vw_tickr_m)與明細(Tickr_d)資料表。成功則回傳新主檔 pkid 並關閉視窗;失敗顯示錯誤訊息。

目前無查詢結果預覽格與列印

新版 C# 此表單為「設定條件→直接轉檔」的精簡對話框,沒有轉出前的結果預覽資料格,也沒有列印功能;轉出內容請於 tickr 檢視。

常見問題

按了儲存卻跳「無資料!!!」?

代表本期沒有符合條件的單據。請逐項確認:(1) 所屬年月是否選對期別;(2) 來源進貨/費用單已轉應付(AP)傳票且傳票年月落在本期;(3) 單據上發票號碼有填(空白者一律略過);(4) 若有選憑證類別,是否選得太窄(先清空改成全部試試)。另外,憑證類別 4* 開頭以及收付客廠號 #PC*/DM*/DF* 會被系統排除。

跳「發票鍵值已存在: ⟨類別⟩,請刪除後再轉單」?

這一期該憑證類別先前已經轉過。系統用「所屬年月+憑證類別」當唯一鍵防止重複轉入。若要重轉,請先到 進項發票(tickr) 把該期該類別的進項發票刪掉,再回本表單。

所屬年月一直存不下去,提示「月份錯誤」?

期別固定是「奇數月~下一個偶數月」。起月必須是奇數、迄月必須是偶數(例如 2026-05-06),且月份要在 1~12 之間。直接沿用預設值最保險。

轉出後發現某些發票的進項金額或稅額怪怪的?

轉檔時會做兩項稽核:發票號碼重複、以及「進項金額×稅率 與實際稅額相差超過 ±2 元」的稅額異常,並把清單自動匯出 Excel。請以該 Excel 為準,到 進項發票(tickr) 修正。另外,稅碼 T281/T282 與海關代徵(憑證類別 28 開頭)會走特殊計算,屬正常設計。

為什麼明細的冊號/編號我沒填,卻自動有了?

冊號/編號由系統在轉檔時自動編:每張主檔的明細自 001 冊、00 號起跳,每滿 100 號進一冊。你不需手動維護。

相關功能


需補截圖清單

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

  1. tkturnr-step1.png — 條件對話視窗全貌(公司代碼/所屬年月/憑證類別+儲存鈕)
  2. tkturnr-step2.png — 憑證類別下拉(顯示「(空白為全部)」提示)
  3. tkturnr-step3.png — 轉檔後「稅額異常/發票重複」提示訊息與匯出的 Excel 範例