第 3 課
除不盡的時候怎麼取整:從哪個數字開始算
第 1 課用的例子是 105 ÷ 1.05 = 100,剛好除得盡。真實的價格大多除不盡。發票上的銷售額、稅額、總計都只能寫整數,所以 ERP 一定要知道三件事:從哪個數字出發、在哪裡四捨五入、算幾次。
法律只講了一句話:稅額四捨五入到元
取整的規則,母法裡只有這一句。稅額算出來有小數時,不滿 1 元的部分四捨五入。
營業人銷售貨物或勞務,除本章第二節另有規定外,均應就銷售額,分別按第七條或第十條規定計算其銷項稅額,尾數不滿通用貨幣一元者,按四捨五入計算。加值型及非加值型營業稅法 第 14 條第 1 項
注意這句話的方向:是「就銷售額」算出稅額。也就是先有銷售額,稅額是從它算出來的。第 1 課的 銷售額 = 定價 ÷ 1.05 說的是三個數字之間的關係,這個關係永遠成立;但程式要照哪個方向算,要看買方是誰。
| 買方 | 從哪個數字出發 | 稅額什麼時候算 |
|---|---|---|
| 營業人(有統編) | 未稅的銷售額 | 每一張發票算一次 |
| 非營業人(消費者) | 含稅的總計(定價) | 報稅時整期算一次 |
開給公司:先有銷售額,整張發票算一次稅
稅額是對整張發票的銷售額合計算一次,不是每一行各算再加起來。財政部規定的電子發票資料格式(MIG)裡,每一行明細只有品名、數量、單價、金額,沒有稅額欄位。稅額只有一格,放在整張發票的合計區,旁邊的說明直接引用上面那條第 14 條。MIG 4.0 的 A0101(第 32~44 頁)和 F0401(第 72~89 頁)都是這樣。
看一個例子。公仔中盤商賣給阿丸玩具店三款公仔,每款 10 盒:
| 品名 | 數量 | 單價(未稅) | 金額 | 如果每行各算稅 |
|---|---|---|---|---|
| 公仔 A | 10 | 101 | 1,010 | 50.5 → 51 |
| 公仔 B | 10 | 103 | 1,030 | 51.5 → 52 |
| 公仔 C | 10 | 105 | 1,050 | 52.5 → 53 |
| 銷售額合計 | 3,090 | 加總 156 |
正確的算法是 3,090 × 5% = 154.5,四捨五入成 155,總計 3,245。每行各算再加總會得到 156,多了 1 元。只差 1 元,但買方會拿發票上的稅額去扣進項,你的 ERP 和對方的帳就對不起來了。
明細可以有小數,合計一定是整數。MIG 允許每一行的單價和金額帶小數,但銷售額合計、稅額、總計都規定是整數,說明寫的是「小數點以下四捨五入」。所以單價 33.3 元的商品可以照實寫,把每一行未經取整的金額加起來,到合計才四捨五入一次。A0101 的銷售額合計說明還註明「買受人為營業人時不含稅」。
開給消費者:發票只寫總計,稅額整期才算
開給消費者的發票只寫含稅的定價,稅額不在每一張發票上算。第 2 課講過,買方不是營業人時要「以定價開立」。那稅額什麼時候算?答案在營業稅法的施行細則裡:報稅時,把這一期所有這種發票的總額加起來,一次拆出稅額。施行細則是行政院依母法訂的補充規定,這一條 113-12-17 修正。
銷項稅額=當期開立統一發票總額÷(1+徵收率)×徵收率/銷售額=當期開立統一發票總額-銷項稅額/前項銷項稅額,尾數不滿通用貨幣一元者,按四捨五入計算。加值型及非加值型營業稅法施行細則 第 32-1 條(買受人為非營業人、以定價開立者)
差別有多大?假設這一期在動漫展賣了 100 個鑰匙圈,每個含稅 50 元,開了 100 張發票:
| 算法 | 怎麼算 | 銷項稅額 |
|---|---|---|
| 每張發票各算再加總(錯) | 50 ÷ 1.05 × 5% = 2.38 → 2,乘 100 張 | 200 |
| 整期算一次(法規) | 5,000 ÷ 1.05 × 5% = 238.1 → 238 | 238 |
每張都捨去一點點,100 張就少報了 38 元。張數越多、單價越低,差得越多。這種錯不會出現在任何一張發票上,只會在申報書上,所以很難發現。給消費者的發票傳到平台時,資料欄位怎麼填,等講 MIG 那一課再查清楚。
一個找不到官方答案的陷阱:有些含稅總計湊不出來
開給公司時,如果客戶談的是含稅總價,有些數字照規則算不出來。例如客戶說「這批含稅 1,060 元」。1,060 ÷ 1.05 = 1,009.5,銷售額寫 1,009 或 1,010 都湊不回 1,060:
| 銷售額 | 稅額(× 5% 四捨五入) | 總計 |
|---|---|---|
| 1,009 | 50.45 → 50 | 1,059 |
| 1,010 | 50.5 → 51 | 1,061 |
這不是巧合。銷售額每增加 20 元,稅額會多跳 1 元,所以每 21 元就有一個含稅總計永遠湊不出來,例如 10、31、52、1,060、4,000。這門課沒有找到財政部對這種情況的說明。最穩的做法是避開它:開給公司的報價一律用未稅價,稅另外加。鼎新 A1 就是這樣設計的,有統編的發票,課稅別一定要選「應稅外加」。真的遇到客戶堅持某個含稅總價,總計會差 1 元,怎麼處理請問公司的會計師。A1 的規定見本資料夾的產品手冊「發票開立/上傳」。這是一家廠商的做法,不是法律。
• 「四捨五入」是 0.5 一律進位。很多語言內建的取整不是這樣:Python 的
round(476.5) 得到 476,C# 的 Math.Round 預設也是同一種「遇到 .5 取偶數」的規則。稅額 476.5 要寫 477,用錯函式就會少 1 元。• 用整數算最安全。不要用浮點數。金額都是 0 以上的整數時:開給公司的稅額 =
(銷售額 + 10) // 20;開給消費者那一期的稅額 = (當期總額 + 10) // 21。這兩條跟法規的算法在 0 到 20 萬元之間逐一比對過,完全一樣。• 資料以哪個數字為準:開給公司的銷貨單存未稅單價,稅額和總計由它算出來;開給消費者的存含稅定價。不要兩個都存、讓使用者兩邊都能改。
• 明細不取整,合計才取整。把每一行未經取整的金額加總,四捨五入成銷售額,再算一次稅額。
• 營業稅報表分兩條路加總:開給公司的,把每張發票上的稅額加起來;開給消費者的,把總額加起來再用施行細則第 32-1 條算一次。
練習
先不要往上翻,憑記憶作答。數字題只填整數。最後兩題是前兩課的複習。
ERP 要開一張發票給有統一編號的公司。照第 14 條,程式應該從哪個數字開始算?
一張開給公司的發票有三行明細,金額(未稅)分別是 1,010、1,030、1,050 元。發票上的稅額要填多少?
一張開給公司的發票,銷售額合計 9,530 元。稅額要填多少?
財政部的電子發票資料格式(MIG)裡,哪些金額可以帶小數?
這一期開給消費者的發票,總額(含稅)加起來是 50,000 元。申報時的銷項稅額是多少?
這一期賣了 100 個鑰匙圈給消費者,每個含稅 50 元。每張發票各算稅再加總得 200 元,整期一次算得 238 元。申報要用哪一個?
第 2 課複習:2026 年 11 月 13 日(星期五)開了一張電子發票給一般消費者。最晚哪一天要傳到平台?
第 1 課複習:你的公司 9 月 20 日開了一張發票。這筆銷售所屬那一期的營業稅,最晚什麼時候要申報?
- 加值型及非加值型營業稅法,全國法規資料庫,114-05-28 修正。引用第 14、32 條。
- 加值型及非加值型營業稅法施行細則,全國法規資料庫,113-12-17 修正。引用第 32-1 條。
- 電子發票資料交換標準訊息建置指引 MIG 4.0(PDF),財政部電子發票整合服務平台。引用 A0101 與 F0401 的明細與金額欄位說明。
- 鼎新 A1 產品手冊「發票開立/上傳」,本資料夾
產品手冊/37_電子發票-紙本列印/262_發票開立_上傳.md。引用有統編時課稅別要用「應稅外加」。