DOCS

稅務豁免

將美國銷售稅免稅證明同步至客戶資料。

如果您銷售對象包括經銷商、政府機構或非營利組織,這些買家持有免稅證明,可豁免其在特定州的銷售稅。Zonos 會將這些證明儲存至客戶資料,以便在結帳時識別享有免稅資格的購物者。

豁免會按司法管轄區記錄。在南卡羅來納州享有免稅資格的客戶,並不會自動在德州享有免稅資格,因此客戶持有證明的每個州都是獨立的記錄,各自擁有自己的日期與證明編號。

豁免會附加至現有客戶,因此同步分為兩次呼叫:先建立客戶,再同步其證明。兩者都以您自己的客戶 ID 為鍵——即您在 Checkout 其他地方使用的同一個 customerId。Zonos 從不要求您儲存內部 ID。

此功能僅適用於自訂 API 整合。

豁免尚未套用於著陸成本報價

您現在即可同步及管理豁免,這些記錄會儲存至客戶資料。從著陸成本的稅金中扣除豁免的 功能即將推出,因此目前同步的豁免尚不會改變購物者收到的報價稅金。現在進行同步, 代表功能上線時您的證明已經就緒。

建立或更新客戶 

checkoutCustomerUpsert 會建立客戶資料,如果該 customerId 已存在客戶資料,則會更新該資料。與 checkoutCustomerProfileAuthenticate 不同,此操作不需要購物者在場,因此您可以預先建立客戶清單。完整欄位行為請參閱在沒有購物者在場的情況下建立或更新資料。

1mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {
2 checkoutCustomerUpsert(input: $input) {
3 customerId
4 email
5 name
6 phone
7 }
8}

由於是以 customerId 進行比對,重複呼叫會更新同一份客戶資料,而不會建立重複項目。您可以安全地在每次同步時對整個客戶清單執行此操作。

同步稅務豁免 

checkoutCustomerTaxExemptionsSync 可一次接受多位客戶。每個項目都會取代該客戶完整的豁免集合。

1mutation checkoutCustomerTaxExemptionsSync(
2$input: [CheckoutCustomerTaxExemptionSyncInput!]!
3) {
4 checkoutCustomerTaxExemptionsSync(input: $input) {
5 customerId
6 accepted {
7 id
8 countryCode
9 administrativeArea
10 effectiveAt
11 expiresAt
12 exemptionReason
13 }
14 rejected {
15 code
16 message
17 administrativeArea
18 effectiveAt
19 }
20 }
21}

省略 expiresAt 代表該證明沒有到期日。省略 exemptionReason 則預設為 UNSPECIFIED。

同步機制 

每次同步都遵循三項規則。

清單具有最終決定權。 taxExemptions 是該客戶完整的豁免集合,而非變更清單。任何已記錄但未列在清單中的豁免都會被移除——這正是撤銷的證明會停止生效的方式。傳送不完整的清單,會悄悄移除清單中未包含的所有內容。

每一筆記錄都是一項豁免。 沒有任何方式可以記錄客戶「不」享有豁免——請參閱下方說明。

移除所有豁免即傳送空清單。 若要清除客戶的所有證明,請傳送 "taxExemptions": []。若在酬載中完全省略該客戶,則會保留其現有記錄不變。

僅傳送客戶享有豁免的司法管轄區

Zonos 沒有「不豁免」的記錄——一個司法管轄區不是在清單中,就是不在。如果您的系統將 享有豁免與不享有豁免的司法管轄區一併儲存,請先篩選出享有豁免的項目再進行同步。 不享有豁免的記錄與真正的證明無法區分,因此會被接受而非拒絕,該客戶在該州也會被 視為享有豁免。

豁免原因 

exemptionReason 說明客戶享有豁免的原因。此欄位為選填,預設為 UNSPECIFIED,但花心思提供此欄位是值得的——原因請見下文。

值↕適用於↕
RESALE為轉售而非自用而購買的商品
FEDERAL_GOVERNMENT美國聯邦機構或部門
STATE_LOCAL_GOVERNMENT州機構、縣、市鎮或學區
TRIBAL_GOVERNMENT聯邦承認的部落或部落成員
CHARITABLE慈善非營利組織
RELIGIOUS_ORGANIZATION教會或其他宗教組織
EDUCATIONAL_ORGANIZATION學校或大學
DIRECT_PAY持有直接繳稅許可證、自行繳納稅款的買家
OTHER其他情形,包括外國外交官、農業生產、工業生產及直接郵購
UNSPECIFIED未提供原因

原因分為兩類,兩者的差異相當重要。基於實體的原因——政府、慈善、宗教、教育——無論購買什麼,都可豁免該買家。基於用途的原因,尤以 RESALE 為代表,僅涵蓋符合資格的商品:轉售證明僅涵蓋買家將轉售的庫存商品,而不涵蓋同一筆訂單中的辦公家具。

若未提供原因,Zonos 無法分辨這兩者,只能豁免整筆訂單,而這對轉售證明而言最難以自圓其說。如果您的豁免大多屬於轉售類型,將 RESALE 設為預設值、再個別列出例外情況,通常會比為每位客戶逐一分類省下許多工夫。

豁免參照編號 

exemptionReference 是客戶免稅文件上列印的編號。依州別與豁免類型而定,這可能是轉售或賣家許可證編號、州免稅證明編號、直接繳稅許可證編號,或聯邦稅務 ID。

每筆記錄都必須提供此欄位。請完全依照證明上的顯示方式儲存並傳送此編號——格式依司法管轄區而有很大差異(SR EAA 12-345678、85-8012345678C-9、12-3456789),Zonos 除了去除前後空白外,會原樣保留傳送的值。請勿變更大小寫或移除連字號與空格。

出於隱私考量,讀取豁免記錄時不會回傳 exemptionReference,因為其中可能包含 聯邦稅務 ID,但仍可傳送此欄位。

被拒絕的記錄 

記錄會逐一驗證。被拒絕的記錄會回報於 rejected 中,不會導致批次中其餘記錄失敗,也不會影響該司法管轄區已記錄的現有豁免。

代碼↕原因↕
UNKNOWN_CUSTOMER沒有客戶符合 customerId。請先建立該客戶
UNKNOWN_JURISDICTIONadministrativeArea 不是可識別的美國州、特區或領地
INVALID_DATE_RANGEexpiresAt 未晚於 effectiveAt
MISSING_EXEMPTION_REFERENCEexemptionReference 為空
DUPLICATE_JURISDICTION同一酬載中有兩筆記錄的國家、地區與生效日期相同。系統會保留第一筆

未知客戶會被拒絕,而非被建立,因此輸入錯誤的 customerId 會顯示於回應中,而不會建立一個永遠不會對應到真實買家的客戶資料。

僅會驗證美國的行政區域。其他國家的行政區劃則會照原樣被接受。

讀回與移除 

讀取客戶的豁免記錄,以確認同步已成功:

1query checkoutCustomerTaxExemptions($customerId: String!) {
2 checkoutCustomerTaxExemptions(customerId: $customerId) {
3 countryCode
4 administrativeArea
5 effectiveAt
6 expiresAt
7 exemptionReason
8 }
9}

若要移除客戶的所有豁免——例如客戶結束帳戶時——請使用 checkoutCustomerTaxExemptionsDelete。無論該客戶是否曾有任何豁免,此方法都會回傳 SUCCESS,因此可安全地多次呼叫。

1mutation checkoutCustomerTaxExemptionsDelete($customerId: String!) {
2 checkoutCustomerTaxExemptionsDelete(customerId: $customerId)
3}
預約演示

這個頁面有幫助嗎?


獲取支持·法律文件·© 2026 Zonos
在此頁面: