跳至內容
課程內容

9. 撞號防護與送出日誌

第 9 章 撞號防護與送出日誌(開立卡住看這章)

平常你完全感覺不到這一章的存在;只有在「開立失敗、狀態卡住」時才需要翻開。本章畫面全部取自關貿測試站真機實跑(B2B、字軌 CG)。

📌 整章先給你一句結論:關貿 B2B 卡在撞號時,先按「同步狀態」——絕大多數情況它就是答案(把平台上那張認領回來,不用重開)。「以新編號重開」對 B2B 幾乎永遠不該按,理由見下面「為什麼 B2B 不用怕重複開票」。

為什麼關貿 B2B 的撞號跟綠界/藍新不一樣

這是理解整章的鑰匙,只有一句話:B2B 的發票號碼是你自己字軌配的,在送出關貿之前就已經定格在單據上(第 2 章的字軌 CG024000xx)。綠界/藍新則相反,是開立成功後平台才給你號碼

差別造成的結果是:

  • 綠界/藍新逾時當下手上沒有號碼 → 只能拿自訂編號問平台「是誰佔用了它」,而平台回的那張可能是別人的票 → 認錯張、重複開票都是真風險。
  • 關貿 B2B 逾時當下號碼還在手上 → 直接問關貿「我這個發票號碼 CG024000xx 開出去了沒」。問的是自己的號碼,答案沒有模稜兩可的空間。

什麼是「撞號」?B2B 會同時撞兩層

系統每次向關貿送出代傳請求,除了發票號碼,還會附一組「自訂編號」(saleIdentifier)當識別碼——就像跟餐廳訂位時報的「訂位代號」。關貿規定同一個代號不能用兩次,重複就退 A_D03,這就是撞號

但 B2B 因為連發票號碼也是自帶的,所以同一次重送會同時踩到兩個「重複」,關貿一次把兩句都回給你:

關貿代碼意思是撞號嗎?
A_D03 銷售單識別碼(銷售資料主檔)重複自訂編號被用過——這個換個代號就能避開,系統會自動處理
A_D02 發票號碼重複這個字軌號碼平台已經有票了不是——換代號沒用。它其實在告訴你「你這張票已經開出去了
📌 系統的處理原則一句話:能確定「平台上沒有本單的發票」就自動換號重送(你完全無感);不能確定就停手交給人——寧可停下來問你,也絕不冒重複開票的風險。自動換號最多 5 次,超過也停手。

情況一:全自動換號(絕大多數,你不用做任何事)

如果這張單據從來沒有「送出後下落不明」的紀錄,系統就能確定撞到的代號是別人(別的環境)用掉的——典型情境是測試環境複製了正式資料庫、兩邊共用同一個關貿帳號,對方用他自己的字軌號先送了同一個代號。這跟你這張發票無關,系統直接換一個新代號重送,開立照常成功。你唯一會看到的痕跡在「服務商資訊」頁籤:

自動換號後的服務商資訊
① 送出自訂編號帶 R1 後綴(換過一次號) ② 自訂編號流水=1(0 表示從沒換過) ③ 關貿回 issueStatus=Y,開立照常成功、配到發票號碼

情況二:撞號停手——先分辨是哪一種

系統停手時,發票狀態停在「開立失敗」,表頭多出黃色的「以新編號重開」按鈕;切到「服務商資訊」頁籤,會看到平常隱藏、停手時才出現的打勾欄位「撞號停手待處理」——它就是系統在說「我停下來了,等你決定」。

停手有兩種成因,處置完全相反。看「原始回應」的訊息尾巴就能分辨:

原始回應長什麼樣意思你該按
;平台查得此編號已有發票,請改用「同步狀態」或「以新編號重開」
(訊息前段通常同時有 A_D02A_D03
平台上已經有你這個發票號碼了——上次逾時其實開成功了 同步狀態 → 認領回來,結案
;自訂編號重複自動換號已達 5 次上限,請人工處理
(訊息前段只有 A_D03、沒有 A_D02
平台上沒有本單的發票號碼,只是代號一直被別人佔(很罕見) 以新編號重開

第一種:平台已有本單發票號(最常見)

撞號停手畫面
① 同步狀態:這種停手,按這個就對了 ② 以新編號重開(黃色警示鈕)——這種停手不要按 ③ 狀態停在「開立失敗」 ④ 發票號碼是我方字軌配的,逾時也還在(此時是本機格式,帶破折號)
撞號停手的服務商資訊
「服務商資訊」頁籤:① 送出自訂編號(拿這串可請關貿查是哪件佔用) ② 自訂編號流水=0,這次沒自動換號 ③「撞號停手待處理」打勾=系統停手、等你決定 ④「送出結果不明」打勾=上次送出下落未定(所以這筆記錄不能刪) ⑤ 原始回應:A_D02A_D03 同時出現,就是「你這張票已經在平台上了」的鐵證

按「同步狀態」認領成功長這樣——發票資料直接拉回來,不用重開:

同步認領成功
① 發票號碼認領回來(破折號消失了——那是關貿回應覆寫的平台格式) ② 狀態 → 已開立,懸案了結

第二種:自動換號用完 5 次上限(罕見)

5 次上限停手
① 送出自訂編號已經換到 R5 ② 自訂編號流水=5,自動換號用完上限 ③ 撞號停手待處理(注意:沒有「送出結果不明」——這種停手不是逾時造成的) ④ 原始回應只有 A_D03、沒有 A_D02 → 平台上沒有本單的發票號碼 → 這種才輪到「以新編號重開」

這種情況按「同步狀態」會跳出「服務商查無此發票資料。」——別緊張,這不是錯誤,是好消息

同步查無
① 「查無」代表關貿平台上沒有本單的發票 → 可以放心用「以新編號重開」,不會重複開票

為什麼 B2B 不用怕重複開票(但還是別亂按)

按下「以新編號重開」時,會先跳一個紅色警告:

以新編號重開警告
① 這是核心模組共用的警告文字(綠界/藍新那邊是真風險):「換號重開可能造成重複開票!請先確認此發票在平台端『確實不是本單開立的』(可先按『同步狀態』核對)。」

關貿 B2B 來說,這句警告其實不會成真——因為換的只是自訂編號,發票號碼沒換。平台早就有那個號碼了,於是直接退 A_D02,不會變成第二張有效發票。發票號碼本身就是天然的防重複鎖。

換號重開被退
在「平台已有本單發票號」的停手狀態按下去的真實結果:① 關貿直接退「A_D02 發票號碼重複」——沒有變成第二張發票 ② 自訂編號換了(流水+1),但發票號碼沒換 → 照樣被擋 ③ 送出自訂編號變成 R1
⚠️ 那為什麼還是別按?因為它沒有好處、只有壞處:白白被退一次之外,畫面上原本打勾的「撞號停手待處理」與「送出結果不明」會一起被清掉(上圖裡那兩列直接消失了),黃色按鈕也跟著不見。也就是說,那張票明明還在關貿平台上,系統卻不再記得「這裡有懸案」。
補救方式不難:直接按「同步狀態」照樣可以把發票認領回來。但正確順序永遠是——先同步,不行再說

同步狀態的三種結果,一次看懂

你看到代表下一步
狀態直接變已開立、號碼補回來平台那張就是本單的,認領成功沒事了,收工
服務商查無此發票資料平台上沒有本單的票(=真的沒開成)可安心用「以新編號重開」或「重新開立」
金額不符,已中止同步平台那個號碼有票,但不是本單的見下方「金額防呆」

金額防呆:認錯張會被自動擋下

按「同步狀態」時,系統會比對「平台那張的金額」和「本單含稅總額」。金額不符=那張必定不是本單的,這時同步會被中止——因為一旦認領錯張,之後的作廢、折讓全都會打到別人那張發票上:

同步金額防呆
① 本單含稅總額 1,680、平台那張 840 → 金額不符,中止同步:「已中止同步以免認領到別張發票」
ℹ️ B2B 什麼時候才會撞到這個?只有一種:別的環境跟你用了同一批字軌(例如測試機複製正式資料庫後沒換字軌),兩邊各自抽到同一個號碼、開出金額不同的兩張票。看到這個訊息,代表字軌設定出了問題,請先確認各環境的字軌沒有互相重疊,不要急著重開。

送出日誌:系統的「寄件備份」

選單位置:Invoicing(會計)→ 台灣統一發票 → 設定 → 送出日誌

每次向關貿送出開立請求之前,系統都會先寫一筆「送出日誌」留痕——像寄掛號信前先影印一份存根。它有兩種狀態:

  • 待確認:送出去了、下落還沒確定(可能正在處理、可能逾時)。
  • 已確認:下落已確定(開立成功、被退件、或事後已同步確認)。
送出日誌
同一個自訂編號出現兩筆,正是「送成功卻被撤銷、系統重試」的現場:① 重試那筆已拿到明確結果 → 已確認 ② 原始那筆是系統交易被撤銷後倖存下來的 → 待確認,請勿刪 ③ R5R4 這類後綴=自動換號的軌跡
⚠️ 「待確認」的日誌為什麼不能刪?它是撞號時系統判斷「平台那張可能是本單送的」的唯一證據之一——特別是「送件其實成功了、但系統交易事後被整筆撤銷」的極端情境(例如排程批次失敗回滾),這時資料庫裡其他紀錄都消失了,只有送出日誌因為走獨立通道而倖存。刪掉它,下次撞號系統就會誤判「必定是別人佔用」而自動換號重送。日誌清單本身就設計成不可編輯、不可刪除,平常放著不用管它。
ℹ️ 排查撞號時怎麼用:拿發票「服務商資訊」頁籤的「送出自訂編號」到這裡搜尋,就能看到這個編號歷來送出過幾次、每次的下落;再拿同一串編號請關貿查詢,兩邊對照就能還原「哪件是誰送的」。

「結果不明」的發票記錄禁止刪除

同樣道理,發票記錄若標著「送出結果不明」(曾送出但沒收到回覆),這筆記錄刪不掉——強行刪除會跳出:

禁止刪除
① 錯誤原文:「發票記錄 ○○○ 曾送出開立但結果不明(平台可能已開立成功),刪除會破壞撞號防重複開票的判斷依據。請先用『同步狀態』向服務商確認結果再處理。」——照著做:先同步,下落確定後旗標自動解除,就能正常處理

本課程沒有啟用評論功能。