112/4 起檢查碼改為「可被 5 整除」,你的系統更新了嗎
財政部自 112 年 4 月起修正統一編號的檢查邏輯,由原本的「加權總和可被 10 整除」改為「可被 5 整除」。原因是舊號預估 113 年用罄,改用除以 5 可讓號碼空間增加一倍,且新舊統編格式完全相同(都是 8 碼數字)。
最直接的影響:新制的合法號碼中有一半舊制會誤判。112 年 4 月起視舊號餘存狀況逐步釋出的新產製統編,就落在「除以 5 整除、但除以 10 不整除」這個新區間。檢核程式沒更新的系統,會把這些真實存在的公司統編判成無效,導致客戶開不了發票、填不了表單。
財政部提供兩組號碼供各單位自我檢測:04595252 與 10458570。把它們貼進上方的驗證欄,或丟進你自己的系統:若判定為無效,代表程式還停留在舊制。
好消息是修正很單純:任何能被 10 整除的數必然能被 5 整除,所以舊統編在新制下 100% 仍然有效。程式裡把 % 10 改成 % 5 就完成了,不需要判斷發證日期,也不需要維護兩套邏輯。
統一編號是幾碼?格式一次看懂
統一編號固定是 8 碼純數字,沒有英文字母,前 7 碼是流水號、第 8 碼是檢查碼。只有在台灣辦過稅籍登記的公司、行號、機關團體才有統編, 個人沒有——個人報稅用的是身分證字號(1 個英文字母加 9 碼數字),外國人則是統一證號,三種格式一眼就能分開。 發票上看到的「買受人統編」欄位填的就是這組 8 碼。
統一編號檢查碼演算法
統一編號為 8 碼數字,驗證步驟如下:
- 取加權序列
[1, 2, 1, 2, 1, 2, 4, 1],與 8 碼一一對應 - 每碼乘上對應權重;若乘積 ≥ 10,取十位數與個位數相加(例如 28 → 2 + 8 = 10)
- 把 8 個結果加總
- 總和
mod 5 = 0即為合法統一編號 - 特例:第 7 碼為 7 時,
(總和 + 1) mod 5 = 0也算合法
第 7 碼的權重是 4,該碼為 7 時乘積為 28,取位數和得 10。依官方公告的算法,這個 10 在加總時可以再取一次位數和視為 1,也可以直接取 0——兩種取法剛好差 1,官方因此允許總和加 1 後再判一次,讓兩種實作都能通過。上方「展開計算過程」會把這 8 步逐位列出,可直接對照手算。
使用情境
- 升級系統前先確認檢核程式是否已支援新制(用官方範例號或本頁的「只產生新制才有效的號碼」)
- 表單前端驗證:使用者輸入統編時即時擋掉打錯的號碼
- 批次檢查舊資料庫匯出的統編清單,找出會被舊程式誤擋的筆數
- QA 測試資料:需要整組假姓名、地址、Email 搭配統編,可用 測試資料產生器 一次產出多筆
- 自然人的身分證字號、外國人居留證號請改用 身分證字號驗證(演算法不同)
常見問題
統一編號是幾碼?
8 碼,全部是數字。前 7 碼是流水號,第 8 碼是照財政部公式算出來的檢查碼,所以不是任何 8 個數字都合法——用上方工具貼進來就能驗。常見混淆:身分證字號是 1 個英文字母加 9 碼、外國人統一證號也是 10 碼,只有統編是 8 碼。
為什麼有些新公司的統一編號,我的系統驗不過?
因為檢查碼規則變了。財政部自 112 年 4 月(2023 年 4 月)起,把統一編號的檢查邏輯從「加權總和可被 10 整除」改為「可被 5 整除」,原因是舊號預估 113 年就會用罄,改用除以 5 可讓可用號碼增加一倍。新制的合法號碼中有一半舊制會誤判;112 年 4 月起視舊號餘存狀況逐步釋出的新產製統編,就落在「除以 5 整除、但除以 10 不整除」這個新區間——沒更新檢核程式的系統會把這些真實存在的公司統編判成無效。可用財政部修正說明附件的範例號碼 04595252、10458570(皆為新制才有效)測試你的系統:如果判定無效,代表程式還停在舊制。
改成除以 5,那舊的統一編號還有效嗎?
完全有效,不必分新舊制判斷。任何能被 10 整除的數字必然也能被 5 整除,所以舊制通過的統編在新制下 100% 仍然通過。你只要把程式裡的 % 10 改成 % 5 就好,不需要為了相容性寫兩套邏輯或判斷發證日期。
統一編號的檢查碼怎麼算?
統編為 8 碼數字。將每一碼依序乘上權重 [1, 2, 1, 2, 1, 2, 4, 1],若乘積大於等於 10 則取十位數與個位數相加(例如 28 → 2+8 = 10),再把 8 個結果加總。總和能被 5 整除即為合法。特例:當第 7 碼為 7 時,總和加 1 後能被 5 整除也算合法。本頁的驗證功能會把這 8 步逐位列出來,可以直接對照手算。
第 7 碼是 7 為什麼有特殊規則?
因為第 7 碼的權重是 4,當該碼為 7 時乘積為 28,取十位加個位得 10。依官方公告的算法,這個「10」在加總時可以再取一次位數和視為 1,也可以直接取 0——兩種取法剛好差 1,官方因此允許總和加 1 後再判斷一次,讓兩種實作都能通過。所以第 7 碼為 7 的統編等於有兩次通過機會,這也是為什麼這類號碼特別容易被誤認為「驗證邏輯有 bug」。
這裡產生的統一編號可以拿去開發票或登記公司嗎?
不行。產生器只保證號碼符合檢查碼演算法,它不是向財政部申請配發的號碼,而且有機率與真實已登記的公司撞號。請僅用於本機開發、表單前端驗證、QA 測試資料等用途,不要送出到電子發票平台、報稅系統或任何第三方服務。要查詢真實公司的統編,請用財政部稅籍登記資料公示查詢或經濟部商工登記資料查詢。
統一編號和身分證字號、扣繳單位編號有什麼不同?
先講扣繳單位編號:它其實就是統一編號,格式與檢查碼演算法完全相同,機關團體等扣繳單位拿到的也是同一種 8 碼號碼。統一編號是 8 碼純數字,給營利事業(公司、行號)與扣繳單位使用。身分證字號是 1 個英文字母加 9 碼數字,給自然人使用,兩者的檢查碼演算法完全不同。外國人統一證號(居留證號)則與身分證字號同格式、共用同一套演算法。要驗證身分證或居留證號,請用本站的身分證字號驗證工具。
我要一次驗證好幾百筆統編,有辦法嗎?
本頁的「批次驗證」分頁可以一次貼上多筆,換行、逗號、分號、頓號分隔都能自動拆開,重複的號碼會自動去除。結果會標示每一筆是否合法,並特別標出「新制才有效」的號碼——如果你正在檢查舊系統匯出的黑名單或客戶資料,這些就是最可能被舊程式誤擋的號碼。所有運算都在瀏覽器內完成,資料不會上傳。
你輸入的號碼不會被收集
驗證與產生都是在你的瀏覽器裡跑演算法,輸入的統一編號不會傳到任何伺服器。產生的號碼雖然格式合法,但並非財政部配發,且有機率與真實公司撞號,僅供開發測試使用。要查真實公司的統編,請洽財政部營業(稅籍)登記資料公示查詢或經濟部商工登記公示資料查詢。
檢查碼規則依財政部財政資訊中心「營利事業統一編號檢查碼邏輯修正說明」(110/12/22 公告,112 年 4 月起適用)。
