跳轉到

程式資訊

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

統一發票進銷項媒體申報轉檔

功能簡介

「統一發票進銷項媒體申報轉檔」把指定所屬年月(雙月期)的銷項、進項、退回、零稅率發票資料,依財政部媒體申報格式整理成定長文字檔(SDF),供營業稅 401 申報上傳使用。會計或稅務人員在每期申報前用它一鍵產生申報媒體檔。

它在發票流程中位於最末端——前面 銷項發票進項發票銷項退回零稅率明細 都登錄完成後,本表單只讀取這些資料、按格式重組欄位,不會修改任何發票。

提供兩種轉檔模式:

  1. 進銷項:產出一般進銷項申報媒體檔(含銷項、銷項退回、進項、以及由零稅率補出的銷項)。畫面會顯示重組後的明細格線,再按 匯出 寫成文字檔。
  2. 零稅率:產出零稅率銷售額清單媒體檔,按 查詢 即直接寫出文字檔。

與 401 稅額試算的差異

本表單只負責「產生申報媒體檔」。要在畫面上試算當期應納/溢付營業稅額(進項、銷項彙總、上期累積留抵等),請用 401 稅額試算。兩者在程式內共用同一個 ProgramClass.TUTAX,但是不同表單、不同用途。

前置需求

  • 權限:P.發票 → P-060 的瀏覽權限。
  • 基礎資料:轉檔結果完全來自下列已登錄的發票與公司主檔——
資料 影響的結果
公司主檔(統一編號、稅籍號碼、公司地點) 申報檔的銷售人統編/稅籍編號;零稅率檔的銷售人縣市別(由公司地點推算)
銷項發票 進銷項檔的銷項明細列
銷項退回 進銷項檔的銷項退回列
進項發票 進銷項檔的進項明細列
零稅率明細 零稅率媒體檔;進銷項檔中「未對應到銷項發票」的零稅率補列
發票種類對照(sk_taxtype 進項各憑證的 P1/P2/P3 組法(其他憑證 vs 一般發票)

所屬年月一定要有資料

本表單以所屬年月為唯一查詢條件去呼叫資料庫程序(TWORK_TUR_TICK,查詢別 4)。若該期沒有任何已登錄發票,查回的明細會是空的,格線無資料、也無法匯出。

操作步驟

整個流程是「選條件 → 查詢 → 匯出」三步:

條件面板

步驟① 設定條件

  1. 選擇轉檔模式
    • 進銷項(預設):產生一般進銷項申報媒體檔,查詢後在右側格線檢視。
    • 零稅率:產生零稅率銷售額清單,按 查詢 直接寫檔。
  2. 選擇 公司代碼:預設 1。下拉選單列出公司代碼,右側唯讀欄位顯示對應的公司全名。
  3. 輸入 所屬年月:預設帶當期雙月(例如 9 月開啟會帶 當年-09-10,遮罩格式 yyyy-MM-dd)。這個值就是申報期別,必須與發票登錄時的所屬年月一致。

「是否合併」目前不可用

舊版 VFP 有「是否合併」勾選(合併同一稅籍下多家公司)。新版程式保留了此參數,但畫面上的勾選控件已停用(註解隱藏),目前一律以「依公司代碼」過濾。需要合併申報時請先洽系統管理。

步驟② 查詢

按工具列的 查詢

  • 模式為 進銷項 時,系統呼叫資料庫程序取回該期的銷項、銷項退回、進項、零稅率四組明細,依申報格式重組後顯示在格線(見 欄位說明)。
  • 模式為 零稅率 時,系統取回零稅率主檔、彙總後直接寫出文字檔並跳出「已匯出資料---<路徑>」訊息,不在格線顯示。

進銷項查詢結果格線

步驟③ 匯出(進銷項模式)

確認格線資料無誤後,按格線上方的 匯出

  1. 系統把格線每一列依固定欄寬串成一行,整份寫成 UTF-8 文字檔。
  2. 檔名為 <本公司統一編號>.txt(取登入環境本公司的統一編號,非畫面所選公司代碼),存到系統暫存目錄(ERPIO.TempsRoot)。
  3. 完成後跳出「已匯出資料---<完整路徑>」訊息,依該路徑取檔上傳申報。

沒有資料不能匯出

若格線是空的(尚未查詢、或該期無資料),按 匯出 會跳「無資料」提示並中止。請先完成步驟②。

欄位說明

查詢條件

欄位 必填 說明/格式/預設
模式(進銷項/零稅率) 單選,預設 進銷項
公司代碼 下拉選公司代碼,預設 1;右側唯讀欄帶出公司全名
所屬年月 遮罩 yyyy-MM-dd,預設當期雙月(單月份起算,例 2026-09-10

進銷項結果格線

格線每一列即申報媒體檔的一筆記錄,欄位都是已格式化的定長字串(補零、補空白),方便逐欄核對:

欄位 說明
流水號 7 碼,自 1 起算,整份檔連號
格式代號 憑證類別代碼(如 31/32/34/36/21/22 等)
資料年月 民國年月 5 碼(年3碼+月2碼);零稅率銷項與部分進項憑證改用實際發票日期月份
稅籍編號 公司稅籍號碼前 9 碼
P1 申報格式第一段:依憑證/彙加註記放買受人統編或發票迄號
P2 申報格式第二段:銷售人統編+發票號碼/其他憑證號(依格式代號 34/36 等規則)
P3 金額段,12 碼補零(含稅或未稅依憑證類別決定)
課稅別 1 應稅/2 零稅/3 免稅,非此三者填 D
營業稅額 10 碼補零;課稅別為 D 時填 0
空白 5 碼空白(格式保留欄)
扣抵代號 進項扣抵區分(取自進項「類別」首碼);銷項為空白
特種稅額稅率 1 碼,預設空白
彙加註記 來源彙加註記為 Y 時填 A,否則空白
通關方式註記 零稅率銷項:經海關填 2、未經海關填 1;其餘空白

格線欄位都是格式化字串

這些欄位是為了輸出檔而預先補滿位數的字串(例如金額「000001234500」),不是可運算的數值;用途是讓你在匯出前比對檔案內容,不要拿來加總。

欄位連動與附加功能

這一節把「選了什麼、按了什麼,系統會做什麼」逐條說明,全部對應實際程式行為。

開窗預設值

  • 開啟表單時,所屬年月自動帶當期雙月。算法是取系統當月:若為偶數月則退一個月(湊成單月起算的雙月期),組成 當年-起月-起月+1(例如 6 月開啟帶 2026-05-06、9 月開啟帶 2026-09-10)。
  • 公司代碼預設 1,下拉清單由公司主檔載入;選定後右側欄位即時顯示該公司全名。
  • 模式預設 進銷項

按「查詢」時

  1. 系統以 所屬年月 = '<所選年月>' 為條件、查詢別 4,呼叫資料庫程序 TWORK_TUR_TICK,一次取回五組結果:銷項發票明細、銷項退回明細、零稅率主檔、進項發票明細、公司主檔(codata)。
  2. 公司資料檢核:若公司代碼為 0(未選)或查不到公司主檔,跳「公司資料錯誤」並中止——這時格線不會有資料。
  3. 從公司主檔取稅籍號碼前 9 碼當稅籍編號、取統一編號當銷售人統編,套到每一筆記錄。

進銷項模式接著依序組出四種來源的列(共用同一張 營業人進銷資料檔):

  • 銷項發票明細:每筆給流水號,組 P1/P2/P3、營業稅額。
    • 當你的銷項課稅別為零稅(2),系統會用發票實際月份覆寫資料年月;並比對零稅率主檔,經海關的把通關方式註記設 2、未經海關設 1
    • 憑證類別 3436 時 P2 改放「其他憑證」而非發票號碼;彙加註記 Y 的 P1 改放發票迄號。
  • 銷項退回明細:規則同銷項,金額與稅額相加進 P3。
  • 進項發票明細
    • 憑證類別 2829(海關代徵營業稅繳納證)走專屬組法,P2 放其他憑證。
    • 其餘依發票種類(查 sk_taxtype)分「其他憑證(Z)」與「一般發票」兩路,再依憑證類別 222427 決定 P3 是否含稅、營業稅額是否歸 0。
    • 扣抵代號取進項「類別」首碼(1 進貨及費用/2 固定資產)。
    • 憑證類別 212225 時資料年月改用發票日期月份。
  • 零稅率補銷項:把零稅率主檔中找不到對應銷項發票(字軌號碼 不在 銷項發票「發票號碼前8碼+序號」清單)的那幾筆,補成課稅別 2 的銷項列,經海關填通關方式註記 2、否則 1

零稅率模式則改走另一條:把零稅率主檔依憑證類別/字軌號碼/發票日期等鍵分組彙總(數量、經海關金額、非海關金額分開加總),逐筆換算成民國年月、報單號碼(出口報單號以 / 切段重組)、買受人統編(外銷方式 4 才帶統編)後,直接組出固定欄寬的「進銷項資料」字串並寫檔,不顯示格線。

零稅率的銷售人縣市別來自公司地點

零稅率媒體檔需要「銷售人縣市別」1 碼代碼,系統由登入環境本公司的公司地點字串比對縣市名稱推得(例如含「台北市」→ A、「新北市/台北縣」→ F、「高雄市」→ E 等)。若公司地點未維護或無法對應,這碼會是空白。

按「匯出」時(進銷項模式)

  • 先檢查格線是否有資料,無資料則跳「無資料」中止。
  • 把每一列用各欄固定寬度(格式代號2/稅籍編號9/流水號7/資料年月5/P1=8/P2=18/P3=12/課稅別1/營業稅額10/扣抵代號1/空白5/特種稅額稅率1/彙加註記1/通關方式註記1)串成定長文字行。
  • 整份以 UTF-8 寫到 ERPIO.TempsRoot 下的 <本公司統一編號>.txt(登入環境本公司統一編號),並跳出含完整路徑的完成訊息。

零稅率寫檔位置

零稅率模式的檔名為 零稅率<本公司統一編號>.txt(同樣取登入環境本公司統一編號),同樣寫到系統暫存目錄,按 查詢 當下即完成並提示路徑。

規劃中/尚未提供

舊版 VFP 另有「鈞寶」「銓育」等客戶專屬的進銷項轉檔變體與 .T02 副檔輸出,新版尚未移植。目前僅提供標準「進銷項」與「零稅率」兩種 .txt 輸出。

常見問題

按了查詢,格線完全沒有資料?

請依序確認:(1) 所屬年月是否與發票登錄的期別一致;(2) 該期是否真的有銷項/進項發票登錄;(3) 公司代碼是否選到正確公司。若跳出「公司資料錯誤」,表示公司主檔查不到該代碼的稅籍/統編資料。

P3(金額)或營業稅額看起來像一串 0 又補零,是壞掉嗎?

不是。媒體申報格式要求定長補零,所以金額會顯示成 12 碼、營業稅額 10 碼的補零字串(例如 000001234500)。這是正確的輸出格式,不是可運算數值,請勿拿來加總比對。詳見欄位連動與附加功能

找不到匯出的檔案?檔名是什麼?

進銷項模式檔名為 <本公司統一編號>.txt、零稅率模式為 零稅率<本公司統一編號>.txt(統一編號取自登入環境的本公司,與畫面所選公司代碼無關),都寫在系統暫存目錄(ERPIO.TempsRoot)。完成訊息「已匯出資料---」後面就是完整路徑,依該路徑取檔即可。

選了「零稅率」按查詢卻沒看到格線?

這是正常的。零稅率模式不在畫面顯示明細,按 查詢 當下就直接把媒體檔寫出並提示路徑。要在畫面檢視明細的只有「進銷項」模式。

我要的是當期「應納或溢付營業稅額」,這裡看不到?

本表單只產生申報媒體檔,不做稅額試算。請改用 401 稅額試算 查看進銷項彙總與本期應納/留抵稅額。

「是否合併」勾不到?

新版畫面上的合併勾選目前停用,一律以所選公司代碼過濾。需要跨公司合併申報請洽系統管理。

相關功能


需補截圖清單

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

  1. tutax-step1.png — 條件面板(模式單選、公司代碼、所屬年月)
  2. tutax-step2.png — 進銷項查詢後的結果格線(含 P1/P2/P3 等定長欄位)