Ctrl K

進項憑證檢核規則

對象:會計、顧問、介接廠商
最後更新:2026-11-04
程式:PCE_LIB_AP_Validate.js 的 validateRecord
適用:交易子列表存檔、PCE 進項資料存檔、進項 CSV、AP Write。畫面、CSV、API 用同一套規則。
HTML:HTML 版 · English
PDF:PDF(含索引)

沒通過會擋下存檔或寫入。差額在容許範圍內的稅額只回警告,仍可存檔。API 成功時警告在 warnings。

格式 21/25 要先用 invCatCode 或 docFormatName 對到其中一筆格式主檔。對不到是 lookup 錯誤,不是下面這些欄位規則。

下列欄位不在這套檢核:總計、申報營業稅、已申報、來源交易、clientRef。

1. 憑證格式

代碼名稱
21三聯式統一發票(invCatCode 01)/電子計算機統一發票(05)
22二聯式收銀機統一發票、載有稅額之其他憑證
23三聯式/電子計算機/三聯式收銀機之進貨退出或折讓證明單(逐筆)
24二聯式收銀機及載有稅額之其他憑證之進貨退出或折讓證明單(逐筆)
25進項三聯式收銀機(06)/一般稅額計算之電子發票(07)
26彙總登錄每張稅額 500 元以下之進項三聯式、電子計算機統一發票
27彙總登錄每張稅額 500 元以下之進項二聯式收銀機、載有稅額之其他憑證
28進項海關代徵營業稅繳納證
29進項海關退還溢繳營業稅申報單

憑證格式代碼必填。沒選就停,不再檢其他欄。代碼 DocTypeRequired。

2. 每次都檢的共通欄位

欄位規則代碼
憑證開立日期必填DocDateRequired
資料所屬年月必填。空白時改用憑證開立日期換算。須為民國五碼 YYYMM(年三位+月二位,月 01~12,例如 11508)DocPeriodRequired、DocPeriodFormat
申報期別必填,不會自動補。格式同資料所屬年月FilingPeriodRequired、FilingPeriodFormat
買受人統一編號必填、8 碼、檢查碼須正確BuyerTaxIdRequired、BuyerTaxIdLengthNotValid、BuyerTaxIdNotValid
課稅別必填,只允許 1 應稅、2 零稅率、3 免稅TaxTypeRequired、TaxTypeInvalid
進項扣抵代號必填。應稅可為 1~4;零稅率或免稅只能 3 或 4DeductionCodeRequired、DeductionCodeInvalid

扣抵代號:1 進項可扣抵之進貨及費用、2 進項可扣抵之固定資產、3 進項不可扣抵之進貨及費用、4 進項不可扣抵之固定資產。

課稅別主檔若還有 F(作廢)、D(空白未使用),這套檢核仍只接受 1、2、3。

3. 號碼欄:依格式必填、擇一或禁填

同一列只能走一條號碼路徑。兩個都填,或該填的都沒填,會擋下。

格式發票號碼其他憑證號碼公用事業載具流水號海關代徵營業稅繳納認證碼
21必填禁填禁填禁填
22,未勾彙加與其他憑證擇一與發票號碼擇一禁填禁填
22,彙加(A)禁填必填禁填禁填
23必填禁填禁填禁填
24與其他憑證擇一與發票號碼擇一禁填禁填
25與載具流水號擇一禁填與發票號碼擇一禁填
26必填禁填禁填禁填
27與其他憑證擇一與發票號碼擇一禁填禁填
28、29禁填禁填禁填必填

擇一失敗的代碼:發票與其他憑證是 GuiNumberCommonNumberConflict;格式 25 發票與載具是 GuiNumberUtilityConflict。禁填的代碼:GuiNumberMustNotHave、CommonNumberMustNotHave、UtilityCarrierMustNotHave、CustomsAuthCodeMustNotHave。格式 22 彙加卻填了發票號碼:GuiNumberMustNotHaveOnSummary。格式 22 彙加卻沒填其他憑證:SummaryMarkRequiresOtherDoc。

3.1 發票號碼格式、字軌、重複

有填發票號碼時:

  1. 須為 1~2 位大寫英文+ 8 位數字。0 位英文或小寫會擋下。代碼 GuiFormatError、GuiTrackRequired。
  2. 字軌須在財政部字軌表。期別優先用憑證開立日期換算的雙月期(單月進到下一個雙月,例如 11507 與 11508 都屬 11508);沒有日期才用資料所屬年月。格式 23 比對 21 與 25 的字軌;格式 24 比對 22 的字軌;其餘比對自己的格式代碼。代碼 GuiTrackPeriodRequired、GuiTrackDocTypeRequired、GuiTrackNotAllowed。
  3. 同一筆憑證格式主檔(下拉選到的那一列)不可重複。格式 21 的三聯式與電子計算機是兩筆主檔,互不列入對方的重複檢查。比對範圍:未停用的 PCE 進項資料(編輯時排除自己);帳上若有 API進項資料,再加待審與轉入失敗,不含退回與已轉入。同一支 API 或同一份 CSV 裡,後面的列也會把前面已通過檢核的號碼當成重複。格式 23、24 不查重複。 代碼 GuiNumberDuplicated。

3.2 其他憑證號碼

格式 22、24、27 走其他憑證時,號碼不可長得像發票字軌(前段英文、後段 8 碼數字)。代碼 CommonNumberSimilarToGuiNumber。

3.3 公用事業載具流水號

僅格式 25,且選擇載具路徑時:

  • 長度 10 碼。代碼 UtilityCarrierLength。
  • 須以 BB 開頭(比對前轉成大寫)。代碼 UtilityCarrierPrefix。
  • 不可與既有進項資料重複(編輯時排除自己)。代碼 UtilityCarrierDuplicated。

3.4 海關代徵營業稅繳納認證碼

僅格式 28、29:

  • 必填,長度 14。代碼 CustomsAuthCodeRequired、CustomsAuthCodeLength。
  • 第 1 位不得空白。代碼 CustomsAuthCodePos1。
  • 第 3 位不得為字元 1。代碼 CustomsAuthCodePos3。

4. 銷售人統編

情況規則
格式 28、29禁填。代碼 SellerTaxIdMustNotHave
彙加註記為 A(含格式 26、27,這兩種必須是 A)禁填。代碼 SellerTaxIdMustNotHave
格式 21、23、25,且不是彙加 A必填
格式 22、24,且填了發票號碼必填
格式 24,且填了其他憑證號碼必填
其餘有填統編時不強制,但有填就要合法

必填卻空白:SellerTaxIdRequired。有填時須 8 碼且檢查碼正確:SellerTaxIdLengthError、SellerTaxIdValueError。

格式 22 走其他憑證、且未勾彙加時,銷售人統編可以空白。

5. 銷售金額

去掉小數點後超過 12 個字元就擋下(含負號)。代碼 SalesAmtLengthError。

情況規則代碼
格式 28、29必填。此欄是營業稅稅基TaxBaseRequired
格式 29須約等於稅額 ÷ 5%(四捨五入),差額不可大於 1 元TaxBaseNotMatchTaxAmt
課稅別 1,且不是 28、29須大於 0SalesAmtShouldBeGreaterThanZero

格式 28、29 不套用「應稅須大於 0」。零稅率、免稅沒有「須大於 0」。

6. 稅額

課稅別 2 或 3:稅額必須為 0。代碼 TaxAmtShouldBeZero。

課稅別不是 1、2、3 時,稅額公式先不跑(課稅別本身會先被擋下)。

格式 22、24、27 或格式 25 的號碼欄還沒擇一,或兩個都填時,先不檢稅額,避免和「擇一」重複報錯。

號碼路徑已確定,且課稅別為應稅時:

情況規則
22、27,且填了發票號碼稅額必須為 0(銷售金額已含稅)。代碼 TaxAmtShouldBeZero
22、27,且填了其他憑證稅額 0 視為含稅,通過。稅額不是 0 時,須等於銷售金額 × 5%(四捨五入)
21、23、24、25稅額須等於銷售金額 × 5%(四捨五入)。格式 24 沒有「稅額 0 代表含稅」
26、28、29不套用 × 5%

× 5% 的差額:0 元通過;1~5 元只警告,仍可存檔;大於 5 元擋下。一般路徑代碼 TaxAmtNotEqual(警告 TaxAmtToleranceWarning)。格式 22/27 的其他憑證路徑代碼 TaxAmtOtherDocInvalid(警告 TaxAmtOtherDocToleranceWarning)。

6.1 彙加平均每張稅額

格式 26、27,且課稅別為應稅、彙總張數大於 0 時,平均每張稅額不得大於 500 元。代碼 SummaryTaxPerDocExceed。

  • 格式 26:用畫面上的稅額 ÷ 彙總張數。
  • 格式 27 且稅額為 0(含稅):先把含稅銷售額還原成隱含稅額(銷售金額 × 5% ÷ 1.05,四捨五入),再除以張數。
  • 格式 27 且稅額不是 0:用畫面上的稅額 ÷ 張數。

7. 課稅別與格式

格式允許的課稅別代碼
28只允許應稅(1)或免稅(3),不可零稅率TaxTypeNotAllowed
29只允許應稅(1)TaxTypeNotAllowed
其餘1、2、3TaxTypeInvalid

8. 彙加註記與彙總張數

彙加註記:A 彙加、B 分攤。

規則代碼
格式 26、27 必須為彙加(A)SummaryMarkMustBeA
格式 22 不可勾分攤(B)SummaryMarkShareNotAllowed
分攤(B)不可填彙總張數(含格式 25)ShareMarkNoSummaryQty
格式 26、27,或格式 22/25 勾了彙加(A)時,彙總張數須為數字且大於 1SummaryQtyInvalid

9. 開立年月與申報期別

兩邊都是有效 YYYMM 之後:

格式規則代碼
23、24、29開立年月與申報期別須屬同一雙月期。單月會進到下一個雙月,例如 11507 與 11508 都屬 11508DocPeriodMustEqualFiling
21、22、25、26、27、28開立年月不可大於申報期別DocPeriodAfterFiling
21、22、25、26、27、28開立年月距申報期別不可超過 120 個月(10 年)。剛好 120 個月可以DeductionPeriodExceed10Years

格式 23、24、29 不另跑 10 年檢核;它們已限制在同一雙月期。

10. 錯誤代碼對照

代碼說明
DocTypeRequired憑證格式代碼必填
DocDateRequired憑證開立日期必填
DocPeriodRequired資料所屬年月必填
DocPeriodFormat資料所屬年月不是民國五碼
FilingPeriodRequired申報期別必填
FilingPeriodFormat申報期別不是民國五碼
DocPeriodMustEqualFiling23/24/29 不是同一雙月期
DocPeriodAfterFiling開立年月大於申報期別
DeductionPeriodExceed10Years扣抵超過 10 年
BuyerTaxIdRequired買受人統編必填
BuyerTaxIdLengthNotValid買受人統編不是 8 碼
BuyerTaxIdNotValid買受人統編檢查碼錯誤
SellerTaxIdRequired銷售人統編必填
SellerTaxIdLengthError銷售人統編不是 8 碼
SellerTaxIdValueError銷售人統編檢查碼錯誤
SellerTaxIdMustNotHave此情況不可填銷售人統編
GuiNumberRequired發票號碼必填
GuiFormatError發票號碼格式錯誤
GuiTrackRequired發票號碼缺少字軌
GuiTrackPeriodRequired無法判定字軌期別
GuiTrackDocTypeRequired無法判定憑證格式
GuiTrackNotAllowed字軌不在財政部字軌表
GuiNumberDuplicated發票號碼重複
GuiNumberMustNotHave此格式不可填發票號碼
GuiNumberMustNotHaveOnSummary格式 22 彙加不可填發票號碼
GuiNumberCommonNumberConflict發票號碼與其他憑證須擇一
GuiNumberUtilityConflict格式 25 發票號碼與載具須擇一
CommonNumberMustNotHave此格式不可填其他憑證號碼
CommonNumberSimilarToGuiNumber其他憑證號碼不可像發票字軌
SummaryMarkRequiresOtherDoc格式 22 彙加時其他憑證必填
UtilityCarrierMustNotHave此格式不可填載具流水號
UtilityCarrierLength載具流水號不是 10 碼
UtilityCarrierPrefix載具流水號不是 BB 開頭
UtilityCarrierDuplicated載具流水號重複
CustomsAuthCodeMustNotHave此格式不可填海關認證碼
CustomsAuthCodeRequired海關認證碼必填
CustomsAuthCodeLength海關認證碼不是 14 碼
CustomsAuthCodePos1海關認證碼第 1 位空白
CustomsAuthCodePos3海關認證碼第 3 位為 1
SalesAmtLengthError銷售金額過長
SalesAmtShouldBeGreaterThanZero應稅時銷售金額須大於 0
TaxBaseRequired格式 28/29 稅基必填
TaxBaseNotMatchTaxAmt格式 29 稅基與稅額不符
TaxAmtShouldBeZero稅額須為 0
TaxAmtNotEqual稅額與銷售金額 × 5% 差額大於 5
TaxAmtToleranceWarning稅額差額 1~5 元(警告)
TaxAmtOtherDocInvalid其他憑證稅額不合理
TaxAmtOtherDocToleranceWarning其他憑證稅額差額 1~5 元(警告)
SummaryTaxPerDocExceed平均每張稅額大於 500
TaxTypeRequired課稅別必填
TaxTypeInvalid課稅別不是 1、2、3
TaxTypeNotAllowed格式 28/29 的課稅別不允許
DeductionCodeRequired扣抵代號必填
DeductionCodeInvalid扣抵代號與課稅別不相容
SummaryMarkMustBeA格式 26/27 須為彙加
SummaryMarkShareNotAllowed格式 22 不可分攤
ShareMarkNoSummaryQty分攤不可填彙總張數
SummaryQtyInvalid彙總張數須大於 1