Đồng bộ hóa chứng chỉ miễn thuế bán hàng của Mỹ vào hồ sơ khách hàng.
Nếu bạn bán hàng cho các nhà bán lại, cơ quan chính phủ hoặc tổ chức phi lợi nhuận, những người mua đó sẽ có chứng chỉ miễn thuế giúp họ được miễn thuế bán hàng ở các bang cụ thể. Zonos lưu trữ các chứng chỉ đó vào hồ sơ khách hàng để một người mua được miễn thuế có thể được nhận diện tại thanh toán.
Miễn thuế được ghi nhận theo từng khu vực pháp lý. Một khách hàng được miễn thuế ở South Carolina sẽ không tự động được miễn thuế ở Texas, vì vậy mỗi bang mà khách hàng có chứng chỉ là một hồ sơ riêng biệt với ngày hiệu lực và số chứng chỉ riêng.
Miễn thuế được gắn vào một khách hàng đã tồn tại, vì vậy việc đồng bộ hóa gồm hai lệnh gọi: tạo khách hàng, sau đó đồng bộ hóa chứng chỉ của họ. Cả hai đều dựa trên customerId của riêng bạn — cùng customerId mà bạn sử dụng ở những nơi khác trong Checkout. Zonos không bao giờ yêu cầu bạn lưu trữ một ID nội bộ.
Miễn thuế chưa được áp dụng cho báo giá Landed Cost
Bạn có thể đồng bộ hóa và quản lý miễn thuế ngay hôm nay, và các hồ sơ được lưu trữ vào hồ sơ
khách hàng. Việc khấu trừ một khoản miễn thuế khỏi thuế trên Landed Cost sắp ra mắt, vì vậy một
miễn thuế đã đồng bộ chưa làm thay đổi mức thuế mà người mua hàng được báo giá. Đồng bộ hóa
ngay từ bây giờ có nghĩa là chứng chỉ của bạn đã sẵn sàng khi tính năng đó ra mắt.
checkoutCustomerUpsert tạo một hồ sơ khách hàng, hoặc cập nhật hồ sơ đó nếu đã tồn tại cho customerId đó. Không giống như checkoutCustomerProfileAuthenticate, mutation này không yêu cầu người mua hàng phải có mặt, vì vậy bạn có thể thiết lập trước danh sách khách hàng của mình. Xem tạo hoặc cập nhật hồ sơ khi không có người mua hàng để biết đầy đủ hành vi của từng trường.
Vì nó khớp dựa trên customerId, việc gọi lặp lại sẽ cập nhật cùng một hồ sơ thay vì tạo bản sao. Việc chạy trên toàn bộ danh sách khách hàng của bạn ở mỗi lần đồng bộ hóa là an toàn.
Danh sách là có thẩm quyền tuyệt đối.taxExemptions là toàn bộ tập hợp của khách hàng, không phải là một danh sách các thay đổi. Bất kỳ miễn thuế nào đã có trong hồ sơ mà bị thiếu trong danh sách sẽ bị xóa — đó là cách một chứng chỉ đã bị thu hồi ngừng được công nhận. Gửi một danh sách không đầy đủ sẽ âm thầm xóa mọi thứ bị bỏ sót.
Mỗi hồ sơ là một miễn thuế. Không có cách nào để ghi nhận rằng một khách hàng không được miễn thuế ở đâu đó — xem lưu ý bên dưới.
Xóa toàn bộ miễn thuế nghĩa là gửi một danh sách rỗng. Để xóa các chứng chỉ của một khách hàng, hãy gửi kèm "taxExemptions": []. Nếu bỏ hẳn khách hàng ra khỏi payload thì các hồ sơ hiện có của họ sẽ không bị thay đổi.
Chỉ gửi các khu vực pháp lý mà khách hàng được miễn thuế
Zonos không có hồ sơ "không được miễn thuế" — một khu vực pháp lý hoặc có trong danh sách, hoặc
không. Nếu hệ thống của bạn lưu trữ chung các khu vực pháp lý được miễn thuế và không được miễn
thuế, hãy lọc ra những khu vực được miễn thuế trước khi đồng bộ hóa. Một hồ sơ không được miễn
thuế không thể phân biệt được với một chứng chỉ thật, vì vậy nó sẽ được chấp nhận thay vì bị từ
chối, và khách hàng sẽ được xem là được miễn thuế ở bang đó.
exemptionReason mô tả lý do khách hàng được miễn thuế. Trường này là tùy chọn và mặc định là UNSPECIFIED, nhưng việc cung cấp nó là xứng đáng với công sức bỏ ra — xem bên dưới.
Giá trị↕
Áp dụng cho↕
RESALE
Hàng hóa được mua để bán lại thay vì tiêu dùng
FEDERAL_GOVERNMENT
Một cơ quan hoặc bộ liên bang của Mỹ
STATE_LOCAL_GOVERNMENT
Một cơ quan cấp bang, quận, thành phố hoặc học khu
TRIBAL_GOVERNMENT
Một bộ tộc được liên bang công nhận hoặc thành viên của bộ tộc đó
CHARITABLE
Một tổ chức phi lợi nhuận từ thiện
RELIGIOUS_ORGANIZATION
Một nhà thờ hoặc tổ chức tôn giáo khác
EDUCATIONAL_ORGANIZATION
Một trường học hoặc trường đại học
DIRECT_PAY
Một người mua có giấy phép thanh toán trực tiếp và tự chuyển giao thuế
OTHER
Bất kỳ trường hợp nào khác, bao gồm nhà ngoại giao nước ngoài, sản xuất nông nghiệp, sản xuất công nghiệp và thư trực tiếp
UNSPECIFIED
Không có lý do nào được cung cấp
Các lý do được chia thành hai nhóm, và sự khác biệt này rất quan trọng. Các lý do dựa trên thực thể — chính phủ, từ thiện, tôn giáo, giáo dục — miễn thuế cho người mua bất kể họ mua gì. Các lý do dựa trên mục đích sử dụng, đặc biệt là RESALE, chỉ áp dụng cho những hàng hóa đủ điều kiện: một chứng chỉ bán lại chỉ áp dụng cho hàng tồn kho mà người mua sẽ bán lại, chứ không áp dụng cho nội thất văn phòng trong cùng đơn hàng.
Nếu không có lý do, Zonos không thể phân biệt được hai loại này và chỉ có thể miễn thuế cho toàn bộ đơn hàng, điều này khó bảo vệ nhất đối với chứng chỉ bán lại. Nếu phần lớn các miễn thuế của bạn là bán lại, việc gửi RESALE làm giá trị mặc định và liệt kê các ngoại lệ riêng lẻ thường ít tốn công hơn nhiều so với việc phân loại từng khách hàng.
exemptionReference là số được in trên giấy tờ miễn thuế của khách hàng. Tùy thuộc vào bang và loại miễn thuế, đó có thể là số giấy phép bán lại hoặc giấy phép người bán, số chứng chỉ miễn thuế của bang, số giấy phép thanh toán trực tiếp, hoặc mã số thuế liên bang.
Trường này là bắt buộc trên mọi hồ sơ. Hãy lưu trữ và gửi nó chính xác như trên chứng chỉ — định dạng khác nhau rất nhiều theo từng khu vực pháp lý (SR EAA 12-345678, 85-8012345678C-9, 12-3456789), và Zonos giữ nguyên giá trị như đã gửi, ngoại trừ việc cắt bỏ khoảng trắng ở đầu và cuối. Không thay đổi cách viết hoa hoặc loại bỏ dấu gạch ngang và khoảng trắng.
Vì lý do bảo mật, exemptionReference có thể được gửi đi nhưng sẽ không được trả về khi đọc
lại thông tin miễn thuế, vì nó có thể chứa mã số thuế liên bang.
Các hồ sơ được xác thực từng cái một. Một hồ sơ bị từ chối sẽ được báo cáo trong rejected và không làm ảnh hưởng đến phần còn lại của lô, cũng như không làm xáo trộn miễn thuế đã có trong hồ sơ cho khu vực pháp lý đó.
Mã↕
Nguyên nhân↕
UNKNOWN_CUSTOMER
Không có khách hàng nào khớp với customerId. Hãy tạo khách hàng trước
UNKNOWN_JURISDICTION
administrativeArea không phải là một bang, đặc khu hoặc lãnh thổ được công nhận của Mỹ
INVALID_DATE_RANGE
expiresAt không sau effectiveAt
MISSING_EXEMPTION_REFERENCE
exemptionReference bị để trống
DUPLICATE_JURISDICTION
Hai hồ sơ trong cùng một payload có chung quốc gia, khu vực và ngày hiệu lực. Hồ sơ đầu tiên sẽ được giữ lại
Khách hàng không xác định sẽ bị từ chối thay vì được tạo mới, vì vậy một customerId bị gõ sai sẽ hiện rõ trong phản hồi thay vì tạo ra một hồ sơ không bao giờ khớp với người mua thật.
Chỉ các khu vực hành chính của Mỹ mới được xác thực. Các đơn vị hành chính của các quốc gia khác sẽ được chấp nhận nguyên trạng như đã gửi.
Để xóa tất cả miễn thuế của một khách hàng — ví dụ như khi họ đóng tài khoản — hãy sử dụng checkoutCustomerTaxExemptionsDelete. Nó trả về SUCCESS bất kể khách hàng có miễn thuế nào hay không, vì vậy có thể gọi lại nhiều lần một cách an toàn.
Miễn thuế
Miễn thuế
Đồng bộ hóa chứng chỉ miễn thuế bán hàng của Mỹ vào hồ sơ khách hàng.
Nếu bạn bán hàng cho các nhà bán lại, cơ quan chính phủ hoặc tổ chức phi lợi nhuận, những người mua đó sẽ có chứng chỉ miễn thuế giúp họ được miễn thuế bán hàng ở các bang cụ thể. Zonos lưu trữ các chứng chỉ đó vào hồ sơ khách hàng để một người mua được miễn thuế có thể được nhận diện tại thanh toán.
Miễn thuế được ghi nhận theo từng khu vực pháp lý. Một khách hàng được miễn thuế ở South Carolina sẽ không tự động được miễn thuế ở Texas, vì vậy mỗi bang mà khách hàng có chứng chỉ là một hồ sơ riêng biệt với ngày hiệu lực và số chứng chỉ riêng.
Miễn thuế được gắn vào một khách hàng đã tồn tại, vì vậy việc đồng bộ hóa gồm hai lệnh gọi: tạo khách hàng, sau đó đồng bộ hóa chứng chỉ của họ. Cả hai đều dựa trên
customerIdcủa riêng bạn — cùngcustomerIdmà bạn sử dụng ở những nơi khác trong Checkout. Zonos không bao giờ yêu cầu bạn lưu trữ một ID nội bộ.Tính năng này chỉ khả dụng cho tích hợp API tùy chỉnh.
Bạn có thể đồng bộ hóa và quản lý miễn thuế ngay hôm nay, và các hồ sơ được lưu trữ vào hồ sơ khách hàng. Việc khấu trừ một khoản miễn thuế khỏi thuế trên Landed Cost sắp ra mắt, vì vậy một miễn thuế đã đồng bộ chưa làm thay đổi mức thuế mà người mua hàng được báo giá. Đồng bộ hóa ngay từ bây giờ có nghĩa là chứng chỉ của bạn đã sẵn sàng khi tính năng đó ra mắt.
Tạo hoặc cập nhật khách hàng
checkoutCustomerUpserttạo một hồ sơ khách hàng, hoặc cập nhật hồ sơ đó nếu đã tồn tại chocustomerIdđó. Không giống nhưcheckoutCustomerProfileAuthenticate, mutation này không yêu cầu người mua hàng phải có mặt, vì vậy bạn có thể thiết lập trước danh sách khách hàng của mình. Xem tạo hoặc cập nhật hồ sơ khi không có người mua hàng để biết đầy đủ hành vi của từng trường.mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {checkoutCustomerUpsert(input: $input) {customerIdemailnamephone}}Vì nó khớp dựa trên
customerId, việc gọi lặp lại sẽ cập nhật cùng một hồ sơ thay vì tạo bản sao. Việc chạy trên toàn bộ danh sách khách hàng của bạn ở mỗi lần đồng bộ hóa là an toàn.Đồng bộ hóa miễn thuế
checkoutCustomerTaxExemptionsSyncchấp nhận nhiều khách hàng cùng một lúc. Mỗi mục sẽ thay thế toàn bộ tập hợp miễn thuế của khách hàng đó.mutation checkoutCustomerTaxExemptionsSync($input: [CheckoutCustomerTaxExemptionSyncInput!]!) {checkoutCustomerTaxExemptionsSync(input: $input) {customerIdaccepted {idcountryCodeadministrativeAreaeffectiveAtexpiresAtexemptionReason}rejected {codemessageadministrativeAreaeffectiveAt}}}Nếu bỏ qua
expiresAt, chứng chỉ sẽ không có ngày hết hạn. Nếu bỏ quaexemptionReason, giá trị mặc định sẽ làUNSPECIFIED.Cách đồng bộ hóa hoạt động
Ba quy tắc chi phối mỗi lần đồng bộ hóa.
Danh sách là có thẩm quyền tuyệt đối.
taxExemptionslà toàn bộ tập hợp của khách hàng, không phải là một danh sách các thay đổi. Bất kỳ miễn thuế nào đã có trong hồ sơ mà bị thiếu trong danh sách sẽ bị xóa — đó là cách một chứng chỉ đã bị thu hồi ngừng được công nhận. Gửi một danh sách không đầy đủ sẽ âm thầm xóa mọi thứ bị bỏ sót.Mỗi hồ sơ là một miễn thuế. Không có cách nào để ghi nhận rằng một khách hàng không được miễn thuế ở đâu đó — xem lưu ý bên dưới.
Xóa toàn bộ miễn thuế nghĩa là gửi một danh sách rỗng. Để xóa các chứng chỉ của một khách hàng, hãy gửi kèm
"taxExemptions": []. Nếu bỏ hẳn khách hàng ra khỏi payload thì các hồ sơ hiện có của họ sẽ không bị thay đổi.Zonos không có hồ sơ "không được miễn thuế" — một khu vực pháp lý hoặc có trong danh sách, hoặc không. Nếu hệ thống của bạn lưu trữ chung các khu vực pháp lý được miễn thuế và không được miễn thuế, hãy lọc ra những khu vực được miễn thuế trước khi đồng bộ hóa. Một hồ sơ không được miễn thuế không thể phân biệt được với một chứng chỉ thật, vì vậy nó sẽ được chấp nhận thay vì bị từ chối, và khách hàng sẽ được xem là được miễn thuế ở bang đó.
Lý do miễn thuế
exemptionReasonmô tả lý do khách hàng được miễn thuế. Trường này là tùy chọn và mặc định làUNSPECIFIED, nhưng việc cung cấp nó là xứng đáng với công sức bỏ ra — xem bên dưới.RESALEFEDERAL_GOVERNMENTSTATE_LOCAL_GOVERNMENTTRIBAL_GOVERNMENTCHARITABLERELIGIOUS_ORGANIZATIONEDUCATIONAL_ORGANIZATIONDIRECT_PAYOTHERUNSPECIFIEDCác lý do được chia thành hai nhóm, và sự khác biệt này rất quan trọng. Các lý do dựa trên thực thể — chính phủ, từ thiện, tôn giáo, giáo dục — miễn thuế cho người mua bất kể họ mua gì. Các lý do dựa trên mục đích sử dụng, đặc biệt là
RESALE, chỉ áp dụng cho những hàng hóa đủ điều kiện: một chứng chỉ bán lại chỉ áp dụng cho hàng tồn kho mà người mua sẽ bán lại, chứ không áp dụng cho nội thất văn phòng trong cùng đơn hàng.Nếu không có lý do, Zonos không thể phân biệt được hai loại này và chỉ có thể miễn thuế cho toàn bộ đơn hàng, điều này khó bảo vệ nhất đối với chứng chỉ bán lại. Nếu phần lớn các miễn thuế của bạn là bán lại, việc gửi
RESALElàm giá trị mặc định và liệt kê các ngoại lệ riêng lẻ thường ít tốn công hơn nhiều so với việc phân loại từng khách hàng.Số tham chiếu miễn thuế
exemptionReferencelà số được in trên giấy tờ miễn thuế của khách hàng. Tùy thuộc vào bang và loại miễn thuế, đó có thể là số giấy phép bán lại hoặc giấy phép người bán, số chứng chỉ miễn thuế của bang, số giấy phép thanh toán trực tiếp, hoặc mã số thuế liên bang.Trường này là bắt buộc trên mọi hồ sơ. Hãy lưu trữ và gửi nó chính xác như trên chứng chỉ — định dạng khác nhau rất nhiều theo từng khu vực pháp lý (
SR EAA 12-345678,85-8012345678C-9,12-3456789), và Zonos giữ nguyên giá trị như đã gửi, ngoại trừ việc cắt bỏ khoảng trắng ở đầu và cuối. Không thay đổi cách viết hoa hoặc loại bỏ dấu gạch ngang và khoảng trắng.Vì lý do bảo mật,
exemptionReferencecó thể được gửi đi nhưng sẽ không được trả về khi đọc lại thông tin miễn thuế, vì nó có thể chứa mã số thuế liên bang.Hồ sơ bị từ chối
Các hồ sơ được xác thực từng cái một. Một hồ sơ bị từ chối sẽ được báo cáo trong
rejectedvà không làm ảnh hưởng đến phần còn lại của lô, cũng như không làm xáo trộn miễn thuế đã có trong hồ sơ cho khu vực pháp lý đó.UNKNOWN_CUSTOMERcustomerId. Hãy tạo khách hàng trướcUNKNOWN_JURISDICTIONadministrativeAreakhông phải là một bang, đặc khu hoặc lãnh thổ được công nhận của MỹINVALID_DATE_RANGEexpiresAtkhông saueffectiveAtMISSING_EXEMPTION_REFERENCEexemptionReferencebị để trốngDUPLICATE_JURISDICTIONKhách hàng không xác định sẽ bị từ chối thay vì được tạo mới, vì vậy một
customerIdbị gõ sai sẽ hiện rõ trong phản hồi thay vì tạo ra một hồ sơ không bao giờ khớp với người mua thật.Chỉ các khu vực hành chính của Mỹ mới được xác thực. Các đơn vị hành chính của các quốc gia khác sẽ được chấp nhận nguyên trạng như đã gửi.
Đọc lại và xóa
Đọc lại các miễn thuế của một khách hàng để xác nhận việc đồng bộ hóa đã thành công:
query checkoutCustomerTaxExemptions($customerId: String!) {checkoutCustomerTaxExemptions(customerId: $customerId) {countryCodeadministrativeAreaeffectiveAtexpiresAtexemptionReason}}Để xóa tất cả miễn thuế của một khách hàng — ví dụ như khi họ đóng tài khoản — hãy sử dụng
checkoutCustomerTaxExemptionsDelete. Nó trả vềSUCCESSbất kể khách hàng có miễn thuế nào hay không, vì vậy có thể gọi lại nhiều lần một cách an toàn.mutation checkoutCustomerTaxExemptionsDelete($customerId: String!) {checkoutCustomerTaxExemptionsDelete(customerId: $customerId)}CheckoutCustomerProfileInput CheckoutCustomerTaxExemptionSyncInput
checkoutCustomerTaxExemptionsDelete checkoutCustomerTaxExemptionsSync checkoutCustomerUpsert
Trang này có hữu ích không?