Synkronisera amerikanska skattebefrielseintyg till en kundprofil.
Om ni säljer till återförsäljare, myndigheter eller ideella organisationer innehar dessa köpare befrielseintyg som befriar dem från omsättningsskatt i specifika delstater. Zonos lagrar dessa intyg mot en kundprofil så att en befriad köpare kan identifieras i Checkout.
Befrielser registreras per jurisdiktion. En kund som är skattebefriad i South Carolina är inte automatiskt befriad i Texas, så varje delstat kunden innehar ett intyg för är en separat post med egna datum och intygsnummer.
Befrielser kopplas till en befintlig kund, så synkronisering sker i två anrop: skapa kunden och synkronisera sedan deras intyg. Båda är kopplade till ert eget kund-ID — samma customerId som ni använder på andra ställen i Checkout. Zonos kräver aldrig att ni lagrar ett internt ID.
Befrielser tillämpas ännu inte på landed cost-offerter
Ni kan synkronisera och hantera befrielser redan idag, och posterna lagras mot
kundprofilen. Att dra av en befrielse från skatten på en landed cost kommer snart,
så en synkroniserad befrielse ändrar ännu inte den skatt en köpare offereras.
Att synkronisera nu innebär att era intyg redan finns på plats när det sker.
checkoutCustomerUpsert skapar en kundprofil, eller uppdaterar den om en redan finns för det customerId. Till skillnad från checkoutCustomerProfileAuthenticate kräver detta inte att köparen är närvarande, så ni kan förbereda er kundlista i förväg. Se skapa eller uppdatera en profil utan en köpare för det fullständiga fältbeteendet.
Eftersom den matchar på customerId uppdaterar upprepade anrop samma profil istället för att skapa dubbletter. Det är säkert att köra mot hela er kundlista vid varje synkronisering.
Listan är den auktoritativa källan.taxExemptions är kundens fullständiga uppsättning, inte en lista över ändringar. Varje befrielse som redan finns registrerad men som saknas i listan tas bort — så slutar ett återkallat intyg att gälla. Att skicka en ofullständig lista tar tyst bort allt den utelämnar.
Varje post är en befrielse. Det finns inget sätt att registrera att en kund inte är befriad någonstans — se anmärkningen nedan.
Att ta bort alla befrielser är en tom lista. För att rensa en kunds intyg skickar ni dem med "taxExemptions": []. Att utelämna kunden helt från nyttolasten lämnar deras befintliga poster orörda.
Skicka endast jurisdiktioner kunden är befriad i
Zonos har ingen post för "inte befriad" — en jurisdiktion finns antingen med i
listan eller inte. Om ert system lagrar befriade och icke-befriade
jurisdiktioner tillsammans, filtrera fram de befriade innan ni synkroniserar.
En icke-befriad post går inte att skilja från ett riktigt intyg och accepteras
därför i stället för att avvisas, och kunden kommer att behandlas som befriad
i den delstaten.
exemptionReason beskriver varför kunden är befriad. Fältet är valfritt och standardvärdet är UNSPECIFIED, men det är värt besväret att ange det — se nedan.
Värde↕
Gäller för↕
RESALE
Varor köpta för återförsäljning snarare än konsumtion
FEDERAL_GOVERNMENT
En amerikansk federal myndighet eller departement
STATE_LOCAL_GOVERNMENT
En delstatlig myndighet, ett county, en kommun eller ett skoldistrikt
TRIBAL_GOVERNMENT
En federalt erkänd stam eller stammedlem
CHARITABLE
En välgörenhetsorganisation
RELIGIOUS_ORGANIZATION
En kyrka eller annan religiös organisation
EDUCATIONAL_ORGANIZATION
En skola eller ett universitet
DIRECT_PAY
En köpare som innehar ett direktbetalningstillstånd och redovisar skatten själv
OTHER
Allt annat, inklusive utländsk diplomat, jordbruksproduktion, industriproduktion och direktreklam
UNSPECIFIED
Ingen orsak angiven
Orsakerna delas in i två grupper, och skillnaden spelar roll. Entitetsbaserade orsaker — myndighet, välgörenhet, religion, utbildning — befriar köparen oavsett vad de köper. Användningsbaserade orsaker, framför allt RESALE, omfattar bara varor som kvalificerar sig: ett återförsäljningsintyg täcker lager köparen ska sälja vidare, inte kontorsmöblerna på samma order.
Utan en orsak kan Zonos inte skilja de två åt och kan bara befria hela ordrar, vilket är svårast att försvara för återförsäljningsintyg. Om de flesta av era befrielser gäller återförsäljning är det oftast betydligt mindre arbete att skicka RESALE som standard med undantag listade individuellt än att klassificera varje kund.
exemptionReference är numret som står tryckt på kundens befrielsedokumentation. Beroende på delstat och typ av befrielse kan det vara ett återförsäljnings- eller säljartillståndsnummer, ett delstatligt befrielseintygsnummer, ett direktbetalningstillståndsnummer eller ett federalt skatte-ID.
Det krävs för varje post. Lagra och skicka det exakt som det står på intyget — format varierar kraftigt mellan jurisdiktioner (SR EAA 12-345678, 85-8012345678C-9, 12-3456789), och Zonos bevarar värdet som det skickas, bortsett från att omgivande blanksteg trimmas bort. Ändra inte versaler/gemener och ta inte bort bindestreck eller mellanslag.
Av integritetsskäl kan exemptionReference skickas men returneras inte vid
inläsning av befrielser, eftersom det kan innehålla ett federalt skatte-ID.
Poster valideras en i taget. En avvisad post rapporteras i rejected och gör inte att resten av batchen misslyckas, och den påverkar inte heller den befrielse som redan finns registrerad för den jurisdiktionen.
Kod↕
Orsak↕
UNKNOWN_CUSTOMER
Ingen kund matchar customerId. Skapa kunden först
UNKNOWN_JURISDICTION
administrativeArea är inte en erkänd amerikansk delstat, distrikt eller territorium
INVALID_DATE_RANGE
expiresAt ligger inte efter effectiveAt
MISSING_EXEMPTION_REFERENCE
exemptionReference är tom
DUPLICATE_JURISDICTION
Två poster i samma nyttolast delar land, område och startdatum. Den första behålls
Okända kunder avvisas i stället för att skapas, så ett felstavat customerId syns i svaret istället för att skapa en profil som aldrig matchar en verklig köpare.
Endast amerikanska administrativa områden valideras. Underindelningar i andra länder accepteras som de skickas.
För att ta bort alla befrielser för en kund — till exempel när de avslutar sitt konto — använd checkoutCustomerTaxExemptionsDelete. Den returnerar SUCCESS oavsett om kunden hade några befrielser eller inte, så det är säkert att anropa den mer än en gång.
Skattebefrielser
Skattebefrielser
Synkronisera amerikanska skattebefrielseintyg till en kundprofil.
Om ni säljer till återförsäljare, myndigheter eller ideella organisationer innehar dessa köpare befrielseintyg som befriar dem från omsättningsskatt i specifika delstater. Zonos lagrar dessa intyg mot en kundprofil så att en befriad köpare kan identifieras i Checkout.
Befrielser registreras per jurisdiktion. En kund som är skattebefriad i South Carolina är inte automatiskt befriad i Texas, så varje delstat kunden innehar ett intyg för är en separat post med egna datum och intygsnummer.
Befrielser kopplas till en befintlig kund, så synkronisering sker i två anrop: skapa kunden och synkronisera sedan deras intyg. Båda är kopplade till ert eget kund-ID — samma
customerIdsom ni använder på andra ställen i Checkout. Zonos kräver aldrig att ni lagrar ett internt ID.Den här funktionen är endast tillgänglig för anpassade API-integrationer.
Ni kan synkronisera och hantera befrielser redan idag, och posterna lagras mot kundprofilen. Att dra av en befrielse från skatten på en landed cost kommer snart, så en synkroniserad befrielse ändrar ännu inte den skatt en köpare offereras. Att synkronisera nu innebär att era intyg redan finns på plats när det sker.
Skapa eller uppdatera kunden
checkoutCustomerUpsertskapar en kundprofil, eller uppdaterar den om en redan finns för detcustomerId. Till skillnad fråncheckoutCustomerProfileAuthenticatekräver detta inte att köparen är närvarande, så ni kan förbereda er kundlista i förväg. Se skapa eller uppdatera en profil utan en köpare för det fullständiga fältbeteendet.mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {checkoutCustomerUpsert(input: $input) {customerIdemailnamephone}}Eftersom den matchar på
customerIduppdaterar upprepade anrop samma profil istället för att skapa dubbletter. Det är säkert att köra mot hela er kundlista vid varje synkronisering.Synkronisera skattebefrielser
checkoutCustomerTaxExemptionsSyncaccepterar flera kunder samtidigt. Varje post ersätter kundens fullständiga uppsättning befrielser.mutation checkoutCustomerTaxExemptionsSync($input: [CheckoutCustomerTaxExemptionSyncInput!]!) {checkoutCustomerTaxExemptionsSync(input: $input) {customerIdaccepted {idcountryCodeadministrativeAreaeffectiveAtexpiresAtexemptionReason}rejected {codemessageadministrativeAreaeffectiveAt}}}Ett utelämnat
expiresAtinnebär att intyget inte upphör att gälla. Ett utelämnatexemptionReasonblir som standardUNSPECIFIED.Så fungerar synkroniseringen
Tre regler styr varje synkronisering.
Listan är den auktoritativa källan.
taxExemptionsär kundens fullständiga uppsättning, inte en lista över ändringar. Varje befrielse som redan finns registrerad men som saknas i listan tas bort — så slutar ett återkallat intyg att gälla. Att skicka en ofullständig lista tar tyst bort allt den utelämnar.Varje post är en befrielse. Det finns inget sätt att registrera att en kund inte är befriad någonstans — se anmärkningen nedan.
Att ta bort alla befrielser är en tom lista. För att rensa en kunds intyg skickar ni dem med
"taxExemptions": []. Att utelämna kunden helt från nyttolasten lämnar deras befintliga poster orörda.Zonos har ingen post för "inte befriad" — en jurisdiktion finns antingen med i listan eller inte. Om ert system lagrar befriade och icke-befriade jurisdiktioner tillsammans, filtrera fram de befriade innan ni synkroniserar. En icke-befriad post går inte att skilja från ett riktigt intyg och accepteras därför i stället för att avvisas, och kunden kommer att behandlas som befriad i den delstaten.
Befrielseorsaker
exemptionReasonbeskriver varför kunden är befriad. Fältet är valfritt och standardvärdet ärUNSPECIFIED, men det är värt besväret att ange det — se nedan.RESALEFEDERAL_GOVERNMENTSTATE_LOCAL_GOVERNMENTTRIBAL_GOVERNMENTCHARITABLERELIGIOUS_ORGANIZATIONEDUCATIONAL_ORGANIZATIONDIRECT_PAYOTHERUNSPECIFIEDOrsakerna delas in i två grupper, och skillnaden spelar roll. Entitetsbaserade orsaker — myndighet, välgörenhet, religion, utbildning — befriar köparen oavsett vad de köper. Användningsbaserade orsaker, framför allt
RESALE, omfattar bara varor som kvalificerar sig: ett återförsäljningsintyg täcker lager köparen ska sälja vidare, inte kontorsmöblerna på samma order.Utan en orsak kan Zonos inte skilja de två åt och kan bara befria hela ordrar, vilket är svårast att försvara för återförsäljningsintyg. Om de flesta av era befrielser gäller återförsäljning är det oftast betydligt mindre arbete att skicka
RESALEsom standard med undantag listade individuellt än att klassificera varje kund.Intygsreferens
exemptionReferenceär numret som står tryckt på kundens befrielsedokumentation. Beroende på delstat och typ av befrielse kan det vara ett återförsäljnings- eller säljartillståndsnummer, ett delstatligt befrielseintygsnummer, ett direktbetalningstillståndsnummer eller ett federalt skatte-ID.Det krävs för varje post. Lagra och skicka det exakt som det står på intyget — format varierar kraftigt mellan jurisdiktioner (
SR EAA 12-345678,85-8012345678C-9,12-3456789), och Zonos bevarar värdet som det skickas, bortsett från att omgivande blanksteg trimmas bort. Ändra inte versaler/gemener och ta inte bort bindestreck eller mellanslag.Av integritetsskäl kan
exemptionReferenceskickas men returneras inte vid inläsning av befrielser, eftersom det kan innehålla ett federalt skatte-ID.Avvisade poster
Poster valideras en i taget. En avvisad post rapporteras i
rejectedoch gör inte att resten av batchen misslyckas, och den påverkar inte heller den befrielse som redan finns registrerad för den jurisdiktionen.UNKNOWN_CUSTOMERcustomerId. Skapa kunden förstUNKNOWN_JURISDICTIONadministrativeAreaär inte en erkänd amerikansk delstat, distrikt eller territoriumINVALID_DATE_RANGEexpiresAtligger inte eftereffectiveAtMISSING_EXEMPTION_REFERENCEexemptionReferenceär tomDUPLICATE_JURISDICTIONOkända kunder avvisas i stället för att skapas, så ett felstavat
customerIdsyns i svaret istället för att skapa en profil som aldrig matchar en verklig köpare.Endast amerikanska administrativa områden valideras. Underindelningar i andra länder accepteras som de skickas.
Läsa av och ta bort
Läs av en kunds befrielser för att bekräfta att en synkronisering har gått igenom:
query checkoutCustomerTaxExemptions($customerId: String!) {checkoutCustomerTaxExemptions(customerId: $customerId) {countryCodeadministrativeAreaeffectiveAtexpiresAtexemptionReason}}För att ta bort alla befrielser för en kund — till exempel när de avslutar sitt konto — använd
checkoutCustomerTaxExemptionsDelete. Den returnerarSUCCESSoavsett om kunden hade några befrielser eller inte, så det är säkert att anropa den mer än en gång.mutation checkoutCustomerTaxExemptionsDelete($customerId: String!) {checkoutCustomerTaxExemptionsDelete(customerId: $customerId)}CheckoutCustomerProfileInput CheckoutCustomerTaxExemptionSyncInput
checkoutCustomerTaxExemptionsDelete checkoutCustomerTaxExemptionsSync checkoutCustomerUpsert
Var den här sidan till hjälp?