Sinkronkan sertifikat pengecualian pajak penjualan A.S. ke profil pelanggan.
Jika Anda menjual kepada reseller, lembaga pemerintah, atau organisasi nonprofit, pembeli tersebut memiliki sertifikat pengecualian yang membebaskan mereka dari pajak penjualan di negara bagian tertentu. Zonos menyimpan sertifikat tersebut pada profil pelanggan sehingga pembeli yang dikecualikan dapat dikenali saat checkout.
Pengecualian dicatat per yurisdiksi. Pelanggan yang dikecualikan di South Carolina tidak secara otomatis dikecualikan di Texas, jadi setiap negara bagian tempat pelanggan memiliki sertifikat adalah catatan terpisah dengan tanggal dan nomor sertifikatnya sendiri.
Pengecualian melekat pada pelanggan yang sudah ada, jadi sinkronisasi terdiri dari dua panggilan: buat pelanggan, lalu sinkronkan sertifikat mereka. Keduanya menggunakan kunci customerId milik Anda sendiri — customerId yang sama yang Anda gunakan di tempat lain dalam Checkout. Zonos tidak pernah mewajibkan Anda menyimpan ID internal.
Pengecualian belum diterapkan pada kutipan landed cost
Anda dapat menyinkronkan dan mengelola pengecualian hari ini, dan catatannya disimpan pada profil
pelanggan. Mengurangi pengecualian dari pajak pada landed cost akan segera hadir, jadi pengecualian
yang disinkronkan belum mengubah pajak yang dikutip kepada pembeli. Menyinkronkan sekarang berarti
sertifikat Anda sudah siap saat fitur ini aktif nanti.
checkoutCustomerUpsert membuat profil pelanggan, atau memperbaruinya jika sudah ada untuk customerId tersebut. Berbeda dengan checkoutCustomerProfileAuthenticate, ini tidak mengharuskan pembeli hadir, sehingga Anda dapat menyiapkan daftar pelanggan Anda terlebih dahulu. Lihat buat atau perbarui profil tanpa pembeli untuk perilaku lengkap setiap field.
Karena mutasi ini mencocokkan berdasarkan customerId, memanggilnya berulang kali akan memperbarui profil yang sama alih-alih membuat duplikat. Aman untuk dijalankan di seluruh daftar pelanggan Anda pada setiap sinkronisasi.
Daftar bersifat otoritatif.taxExemptions adalah set lengkap pelanggan tersebut, bukan daftar perubahan. Pengecualian mana pun yang sudah tercatat tetapi tidak ada dalam daftar akan dihapus — begitulah cara sertifikat yang ditarik berhenti diberlakukan. Mengirim daftar parsial secara diam-diam menghapus semua yang tidak disertakan.
Setiap catatan adalah pengecualian. Tidak ada cara untuk mencatat bahwa pelanggan tidak dikecualikan di suatu tempat — lihat catatan di bawah.
Menghapus semua pengecualian berarti daftar kosong. Untuk menghapus sertifikat pelanggan, kirimkan "taxExemptions": []. Membiarkan pelanggan tersebut di luar payload sepenuhnya akan membiarkan catatan yang ada tidak berubah.
Kirim hanya yurisdiksi tempat pelanggan dikecualikan
Zonos tidak memiliki catatan "tidak dikecualikan" — suatu yurisdiksi ada dalam daftar atau tidak.
Jika sistem Anda menyimpan yurisdiksi yang dikecualikan dan tidak dikecualikan bersama-sama, saring
menjadi hanya yang dikecualikan sebelum menyinkronkan. Catatan yang tidak dikecualikan tidak dapat
dibedakan dari sertifikat asli, sehingga akan diterima alih-alih ditolak, dan pelanggan akan
dianggap dikecualikan di negara bagian tersebut.
exemptionReason menjelaskan alasan pelanggan dikecualikan. Bersifat opsional dan menggunakan nilai default UNSPECIFIED, tetapi menyediakannya sepadan dengan usahanya — lihat di bawah.
Nilai↕
Berlaku untuk↕
RESALE
Barang yang dibeli untuk dijual kembali, bukan untuk dikonsumsi
FEDERAL_GOVERNMENT
Lembaga atau departemen federal A.S.
STATE_LOCAL_GOVERNMENT
Lembaga negara bagian, kabupaten, kota, atau distrik sekolah
TRIBAL_GOVERNMENT
Suku yang diakui secara federal atau anggota suku
CHARITABLE
Organisasi nonprofit amal
RELIGIOUS_ORGANIZATION
Gereja atau organisasi keagamaan lainnya
EDUCATIONAL_ORGANIZATION
Sekolah atau universitas
DIRECT_PAY
Pembeli yang memiliki izin direct pay dan menyetorkan pajak sendiri
OTHER
Lainnya, termasuk diplomat asing, produksi pertanian, produksi industri, dan direct mail
UNSPECIFIED
Tidak ada alasan yang diberikan
Alasan terbagi menjadi dua kelompok, dan perbedaannya penting. Alasan berbasis entitas — pemerintah, amal, keagamaan, pendidikan — mengecualikan pembeli terlepas dari apa yang mereka beli. Alasan berbasis penggunaan, terutama RESALE, hanya mencakup barang yang memenuhi syarat: sertifikat resale mencakup inventaris yang akan dijual kembali oleh pembeli, bukan furnitur kantor pada pesanan yang sama.
Tanpa alasan, Zonos tidak dapat membedakan keduanya dan hanya dapat mengecualikan seluruh pesanan, yang paling sulit dipertahankan untuk sertifikat resale. Jika sebagian besar pengecualian Anda bersifat resale, mengirim RESALE sebagai default dengan pengecualian yang dicantumkan secara individual biasanya jauh lebih sedikit pekerjaannya dibandingkan mengklasifikasikan setiap pelanggan.
exemptionReference adalah nomor yang tercetak pada dokumen pengecualian pelanggan. Tergantung pada negara bagian dan jenis pengecualiannya, itu dapat berupa nomor izin resale atau seller's permit, nomor sertifikat pengecualian negara bagian, nomor izin direct pay, atau ID pajak federal.
Wajib diisi pada setiap catatan. Simpan dan kirimkan persis seperti tertera pada sertifikat — formatnya sangat bervariasi menurut yurisdiksi (SR EAA 12-345678, 85-8012345678C-9, 12-3456789), dan Zonos mempertahankan nilai tersebut apa adanya kecuali memangkas spasi di sekitarnya. Jangan mengubah kapitalisasi atau menghapus tanda hubung dan spasi.
Demi privasi, exemptionReference dapat dikirim tetapi tidak dikembalikan saat membaca kembali
pengecualian, karena mungkin berisi ID pajak federal.
Catatan divalidasi satu per satu. Catatan yang ditolak dilaporkan dalam rejected dan tidak menggagalkan sisa batch, juga tidak mengganggu pengecualian yang sudah tercatat untuk yurisdiksi tersebut.
Kode↕
Penyebab↕
UNKNOWN_CUSTOMER
Tidak ada pelanggan yang cocok dengan customerId. Buat pelanggan terlebih dahulu
UNKNOWN_JURISDICTION
administrativeArea bukan negara bagian, distrik, atau teritori A.S. yang dikenali
INVALID_DATE_RANGE
expiresAt tidak setelah effectiveAt
MISSING_EXEMPTION_REFERENCE
exemptionReference kosong
DUPLICATE_JURISDICTION
Dua catatan dalam satu payload memiliki negara, area, dan tanggal efektif yang sama. Catatan pertama dipertahankan
Pelanggan yang tidak dikenal ditolak alih-alih dibuat, sehingga customerId yang salah ketik akan muncul dalam respons, bukan membuat profil yang tidak akan pernah cocok dengan pembeli asli.
Hanya area administratif A.S. yang divalidasi. Subdivisi negara lain diterima apa adanya.
Untuk menghapus setiap pengecualian bagi seorang pelanggan — misalnya, ketika mereka menutup akun mereka — gunakan checkoutCustomerTaxExemptionsDelete. Ini mengembalikan SUCCESS baik pelanggan tersebut memiliki pengecualian atau tidak, sehingga aman untuk dipanggil lebih dari sekali.
Pengecualian pajak
Pengecualian pajak
Sinkronkan sertifikat pengecualian pajak penjualan A.S. ke profil pelanggan.
Jika Anda menjual kepada reseller, lembaga pemerintah, atau organisasi nonprofit, pembeli tersebut memiliki sertifikat pengecualian yang membebaskan mereka dari pajak penjualan di negara bagian tertentu. Zonos menyimpan sertifikat tersebut pada profil pelanggan sehingga pembeli yang dikecualikan dapat dikenali saat checkout.
Pengecualian dicatat per yurisdiksi. Pelanggan yang dikecualikan di South Carolina tidak secara otomatis dikecualikan di Texas, jadi setiap negara bagian tempat pelanggan memiliki sertifikat adalah catatan terpisah dengan tanggal dan nomor sertifikatnya sendiri.
Pengecualian melekat pada pelanggan yang sudah ada, jadi sinkronisasi terdiri dari dua panggilan: buat pelanggan, lalu sinkronkan sertifikat mereka. Keduanya menggunakan kunci
customerIdmilik Anda sendiri —customerIdyang sama yang Anda gunakan di tempat lain dalam Checkout. Zonos tidak pernah mewajibkan Anda menyimpan ID internal.Fitur ini hanya tersedia untuk integrasi API kustom.
Anda dapat menyinkronkan dan mengelola pengecualian hari ini, dan catatannya disimpan pada profil pelanggan. Mengurangi pengecualian dari pajak pada landed cost akan segera hadir, jadi pengecualian yang disinkronkan belum mengubah pajak yang dikutip kepada pembeli. Menyinkronkan sekarang berarti sertifikat Anda sudah siap saat fitur ini aktif nanti.
Buat atau perbarui pelanggan
checkoutCustomerUpsertmembuat profil pelanggan, atau memperbaruinya jika sudah ada untukcustomerIdtersebut. Berbeda dengancheckoutCustomerProfileAuthenticate, ini tidak mengharuskan pembeli hadir, sehingga Anda dapat menyiapkan daftar pelanggan Anda terlebih dahulu. Lihat buat atau perbarui profil tanpa pembeli untuk perilaku lengkap setiap field.mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {checkoutCustomerUpsert(input: $input) {customerIdemailnamephone}}Karena mutasi ini mencocokkan berdasarkan
customerId, memanggilnya berulang kali akan memperbarui profil yang sama alih-alih membuat duplikat. Aman untuk dijalankan di seluruh daftar pelanggan Anda pada setiap sinkronisasi.Sinkronkan pengecualian pajak
checkoutCustomerTaxExemptionsSyncmenerima beberapa pelanggan sekaligus. Setiap entri menggantikan seluruh set pengecualian pelanggan tersebut.mutation checkoutCustomerTaxExemptionsSync($input: [CheckoutCustomerTaxExemptionSyncInput!]!) {checkoutCustomerTaxExemptionsSync(input: $input) {customerIdaccepted {idcountryCodeadministrativeAreaeffectiveAtexpiresAtexemptionReason}rejected {codemessageadministrativeAreaeffectiveAt}}}expiresAtyang dihilangkan berarti sertifikat tidak kedaluwarsa.exemptionReasonyang dihilangkan akan menggunakan nilai defaultUNSPECIFIED.Cara kerja sinkronisasi
Tiga aturan mengatur setiap sinkronisasi.
Daftar bersifat otoritatif.
taxExemptionsadalah set lengkap pelanggan tersebut, bukan daftar perubahan. Pengecualian mana pun yang sudah tercatat tetapi tidak ada dalam daftar akan dihapus — begitulah cara sertifikat yang ditarik berhenti diberlakukan. Mengirim daftar parsial secara diam-diam menghapus semua yang tidak disertakan.Setiap catatan adalah pengecualian. Tidak ada cara untuk mencatat bahwa pelanggan tidak dikecualikan di suatu tempat — lihat catatan di bawah.
Menghapus semua pengecualian berarti daftar kosong. Untuk menghapus sertifikat pelanggan, kirimkan
"taxExemptions": []. Membiarkan pelanggan tersebut di luar payload sepenuhnya akan membiarkan catatan yang ada tidak berubah.Zonos tidak memiliki catatan "tidak dikecualikan" — suatu yurisdiksi ada dalam daftar atau tidak. Jika sistem Anda menyimpan yurisdiksi yang dikecualikan dan tidak dikecualikan bersama-sama, saring menjadi hanya yang dikecualikan sebelum menyinkronkan. Catatan yang tidak dikecualikan tidak dapat dibedakan dari sertifikat asli, sehingga akan diterima alih-alih ditolak, dan pelanggan akan dianggap dikecualikan di negara bagian tersebut.
Alasan pengecualian
exemptionReasonmenjelaskan alasan pelanggan dikecualikan. Bersifat opsional dan menggunakan nilai defaultUNSPECIFIED, tetapi menyediakannya sepadan dengan usahanya — lihat di bawah.RESALEFEDERAL_GOVERNMENTSTATE_LOCAL_GOVERNMENTTRIBAL_GOVERNMENTCHARITABLERELIGIOUS_ORGANIZATIONEDUCATIONAL_ORGANIZATIONDIRECT_PAYOTHERUNSPECIFIEDAlasan terbagi menjadi dua kelompok, dan perbedaannya penting. Alasan berbasis entitas — pemerintah, amal, keagamaan, pendidikan — mengecualikan pembeli terlepas dari apa yang mereka beli. Alasan berbasis penggunaan, terutama
RESALE, hanya mencakup barang yang memenuhi syarat: sertifikat resale mencakup inventaris yang akan dijual kembali oleh pembeli, bukan furnitur kantor pada pesanan yang sama.Tanpa alasan, Zonos tidak dapat membedakan keduanya dan hanya dapat mengecualikan seluruh pesanan, yang paling sulit dipertahankan untuk sertifikat resale. Jika sebagian besar pengecualian Anda bersifat resale, mengirim
RESALEsebagai default dengan pengecualian yang dicantumkan secara individual biasanya jauh lebih sedikit pekerjaannya dibandingkan mengklasifikasikan setiap pelanggan.Referensi pengecualian
exemptionReferenceadalah nomor yang tercetak pada dokumen pengecualian pelanggan. Tergantung pada negara bagian dan jenis pengecualiannya, itu dapat berupa nomor izin resale atau seller's permit, nomor sertifikat pengecualian negara bagian, nomor izin direct pay, atau ID pajak federal.Wajib diisi pada setiap catatan. Simpan dan kirimkan persis seperti tertera pada sertifikat — formatnya sangat bervariasi menurut yurisdiksi (
SR EAA 12-345678,85-8012345678C-9,12-3456789), dan Zonos mempertahankan nilai tersebut apa adanya kecuali memangkas spasi di sekitarnya. Jangan mengubah kapitalisasi atau menghapus tanda hubung dan spasi.Demi privasi,
exemptionReferencedapat dikirim tetapi tidak dikembalikan saat membaca kembali pengecualian, karena mungkin berisi ID pajak federal.Catatan yang ditolak
Catatan divalidasi satu per satu. Catatan yang ditolak dilaporkan dalam
rejecteddan tidak menggagalkan sisa batch, juga tidak mengganggu pengecualian yang sudah tercatat untuk yurisdiksi tersebut.UNKNOWN_CUSTOMERcustomerId. Buat pelanggan terlebih dahuluUNKNOWN_JURISDICTIONadministrativeAreabukan negara bagian, distrik, atau teritori A.S. yang dikenaliINVALID_DATE_RANGEexpiresAttidak setelaheffectiveAtMISSING_EXEMPTION_REFERENCEexemptionReferencekosongDUPLICATE_JURISDICTIONPelanggan yang tidak dikenal ditolak alih-alih dibuat, sehingga
customerIdyang salah ketik akan muncul dalam respons, bukan membuat profil yang tidak akan pernah cocok dengan pembeli asli.Hanya area administratif A.S. yang divalidasi. Subdivisi negara lain diterima apa adanya.
Baca kembali dan hapus
Baca pengecualian pelanggan untuk memastikan sinkronisasi berhasil:
query checkoutCustomerTaxExemptions($customerId: String!) {checkoutCustomerTaxExemptions(customerId: $customerId) {countryCodeadministrativeAreaeffectiveAtexpiresAtexemptionReason}}Untuk menghapus setiap pengecualian bagi seorang pelanggan — misalnya, ketika mereka menutup akun mereka — gunakan
checkoutCustomerTaxExemptionsDelete. Ini mengembalikanSUCCESSbaik pelanggan tersebut memiliki pengecualian atau tidak, sehingga aman untuk dipanggil lebih dari sekali.mutation checkoutCustomerTaxExemptionsDelete($customerId: String!) {checkoutCustomerTaxExemptionsDelete(customerId: $customerId)}CheckoutCustomerProfileInput CheckoutCustomerTaxExemptionSyncInput
checkoutCustomerTaxExemptionsDelete checkoutCustomerTaxExemptionsSync checkoutCustomerUpsert
Apakah halaman ini bermanfaat?