DOCS

Skattefritak

Synkroniser amerikanske sertifikater for fritak fra omsetningsavgift til en kundeprofil.

Hvis du selger til videreselgere, offentlige etater eller ideelle organisasjoner, har disse kjøperne fritakssertifikater som fritar dem fra omsetningsavgift i bestemte delstater. Zonos lagrer disse sertifikatene mot en kundeprofil, slik at en fritatt kjøper kan gjenkjennes i Checkout.

Fritak registreres per jurisdiksjon. En kunde som er fritatt i South Carolina, er ikke automatisk fritatt i Texas, så hver delstat kunden har et sertifikat for, er en egen post med egne datoer og eget sertifikatnummer.

Fritak knyttes til en eksisterende kunde, så synkronisering er to kall: opprett kunden, og synkroniser deretter sertifikatene deres. Begge er nøkkelbasert på din egen kunde-ID — den samme customerId du bruker andre steder i Checkout. Zonos krever aldri at du lagrer en intern ID.

Denne funksjonen er kun tilgjengelig for egendefinerte API-integrasjoner.

Fritak brukes ennå ikke på landed cost-beregninger

Du kan synkronisere og administrere fritak i dag, og postene lagres mot kundeprofilen. Å trekke et fritak fra skatten på en landed cost-beregning kommer snart, så et synkronisert fritak endrer ikke skatten en kjøper får oppgitt ennå. Å synkronisere nå betyr at sertifikatene dine allerede er på plass når det skjer.

Opprett eller oppdater kunden 

checkoutCustomerUpsert oppretter en kundeprofil, eller oppdaterer den hvis det allerede finnes en for den customerId-en. I motsetning til checkoutCustomerProfileAuthenticate krever ikke denne at kjøperen er til stede, så du kan sette opp kundelisten din på forhånd. Se opprett eller oppdater en profil uten en kjøper for hele feltoppførselen.

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

Fordi den matcher på customerId, oppdaterer gjentatte kall den samme profilen i stedet for å opprette duplikater. Det er trygt å kjøre den over hele kundelisten din ved hver synkronisering.

Synkroniser skattefritak 

checkoutCustomerTaxExemptionsSync godtar flere kunder samtidig. Hver oppføring erstatter kundens fullstendige sett med fritak.

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}

En utelatt expiresAt betyr at sertifikatet ikke utløper. En utelatt exemptionReason settes som standard til UNSPECIFIED.

Slik fungerer synkronisering 

Tre regler styrer hver synkronisering.

Listen er autoritativ. taxExemptions er kundens fullstendige sett, ikke en liste med endringer. Ethvert fritak som allerede er registrert, men som mangler i listen, blir fjernet — slik slutter et tilbakekalt sertifikat å bli respektert. Å sende en delvis liste fjerner stille alt den utelater.

Hver post er et fritak. Det finnes ingen måte å registrere at en kunde ikke er fritatt et sted — se merknaden nedenfor.

Å fjerne alle fritak er en tom liste. For å tømme en kundes sertifikater, send dem med "taxExemptions": []. Å utelate kunden fra hele nyttelasten lar de eksisterende postene deres stå urørt.

Send kun jurisdiksjoner kunden er fritatt i

Zonos har ingen registrering for «ikke fritatt» — en jurisdiksjon er enten på listen eller ikke. Hvis systemet ditt lagrer fritatte og ikke-fritatte jurisdiksjoner sammen, filtrer bort de ikke-fritatte jurisdiksjonene før synkronisering. En ikke-fritatt post er ikke til å skille fra et ekte sertifikat, så den godtas i stedet for å avvises, og kunden vil bli behandlet som fritatt i den delstaten.

Fritaksgrunner 

exemptionReason beskriver hvorfor kunden er fritatt. Den er valgfri og settes som standard til UNSPECIFIED, men det er verdt innsatsen å oppgi den — se nedenfor.

Verdi↕Gjelder for↕
RESALEVarer kjøpt for videresalg fremfor forbruk
FEDERAL_GOVERNMENTEt amerikansk føderalt byrå eller departement
STATE_LOCAL_GOVERNMENTEt delstatlig byrå, fylke, kommune eller skoledistrikt
TRIBAL_GOVERNMENTEn føderalt anerkjent urbefolkningsstamme eller stammemedlem
CHARITABLEEn veldedig ideell organisasjon
RELIGIOUS_ORGANIZATIONEn kirke eller annen religiøs organisasjon
EDUCATIONAL_ORGANIZATIONEn skole eller et universitet
DIRECT_PAYEn kjøper som har direktebetalingstillatelse og selv innbetaler skatt
OTHERAlt annet, inkludert utenlandsk diplomat, jordbruksproduksjon, industriproduksjon og direktereklame
UNSPECIFIEDIngen grunn oppgitt

Grunner faller i to grupper, og forskjellen betyr noe. Enhetsbaserte grunner — myndighet, veldedighet, religiøs, utdanning — fritar kjøperen uansett hva de kjøper. Bruksbaserte grunner, RESALE fremfor alt, dekker kun kvalifiserende varer: et videresalgssertifikat dekker varelager kjøperen skal videreselge, ikke kontormøblene på samme ordre.

Uten en grunn kan ikke Zonos skille de to fra hverandre og kan kun frita hele ordrer, noe som er vanskeligst å forsvare for videresalgssertifikater. Hvis de fleste fritakene dine er videresalg, er det som regel langt mindre arbeid å sende RESALE som standard med unntak oppført individuelt enn å klassifisere hver kunde.

Fritaksreferanse 

exemptionReference er nummeret som står trykt på kundens fritaksdokumentasjon. Avhengig av delstaten og typen fritak kan dette være et videresalgs- eller forhandlertillatelsesnummer, et delstatlig skattefritaksnummer, et direktebetalingstillatelsesnummer eller en føderal skatte-ID.

Den er påkrevd på hver post. Lagre og send den nøyaktig slik den fremstår på sertifikatet — formatene varierer mye etter jurisdiksjon (SR EAA 12-345678, 85-8012345678C-9, 12-3456789), og Zonos bevarer verdien som sendt, bortsett fra å trimme omkringliggende mellomrom. Ikke endre store/små bokstaver eller fjern bindestreker og mellomrom.

Av personvernhensyn kan exemptionReference sendes, men returneres ikke ved lesing av fritak tilbake, siden den kan inneholde en føderal skatte-ID.

Avviste poster 

Poster valideres én om gangen. En avvist post rapporteres i rejected og feiler ikke resten av batchen, og påvirker heller ikke fritaket som allerede er registrert for den jurisdiksjonen.

Kode↕Årsak↕
UNKNOWN_CUSTOMERIngen kunde matcher customerId. Opprett kunden først
UNKNOWN_JURISDICTIONadministrativeArea er ikke en gjenkjent amerikansk delstat, distrikt eller territorium
INVALID_DATE_RANGEexpiresAt er ikke etter effectiveAt
MISSING_EXEMPTION_REFERENCEexemptionReference er tom
DUPLICATE_JURISDICTIONTo poster i én nyttelast deler land, område og gyldighetsdato. Den første beholdes

Ukjente kunder avvises fremfor å opprettes, slik at en feilskrevet customerId vises i svaret i stedet for å opprette en profil som aldri matcher en reell kjøper.

Kun amerikanske administrative områder valideres. Underenheter fra andre land godtas som sendt.

Les tilbake og fjern 

Les en kundes fritak for å bekrefte at en synkronisering har landet:

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

For å fjerne alle fritak for en kunde — når de avslutter kontoen sin, for eksempel — bruk checkoutCustomerTaxExemptionsDelete. Den returnerer SUCCESS uansett om kunden hadde noen fritak eller ikke, så det er trygt å kalle den mer enn én gang.

1mutation checkoutCustomerTaxExemptionsDelete($customerId: String!) {
2 checkoutCustomerTaxExemptionsDelete(customerId: $customerId)
3}
Bestill en demo

Var denne siden nyttig?