Synchroniseer Amerikaanse omzetbelastingvrijstellingscertificaten met een klantprofiel.
Als u verkoopt aan wederverkopers, overheidsinstanties of non-profitorganisaties, beschikken die kopers over vrijstellingscertificaten waarmee ze zijn vrijgesteld van omzetbelasting in bepaalde staten. Zonos slaat deze certificaten op bij een klantprofiel, zodat een vrijgestelde koper bij checkout kan worden herkend.
Vrijstellingen worden per rechtsgebied vastgelegd. Een klant die is vrijgesteld in South Carolina is niet automatisch vrijgesteld in Texas, dus elke staat waarvoor de klant een certificaat heeft, is een apart record met eigen datums en certificaatnummer.
Vrijstellingen worden gekoppeld aan een bestaande klant, dus synchroniseren gebeurt in twee calls: eerst maakt u de klant aan, daarna synchroniseert u de certificaten. Beide zijn gekoppeld aan uw eigen klant-ID — dezelfde customerId die u elders in Checkout gebruikt. Zonos vereist nooit dat u een intern ID opslaat.
Vrijstellingen worden nog niet toegepast op landed cost-offertes
U kunt vrijstellingen vandaag al synchroniseren en beheren, en de records worden opgeslagen
bij het klantprofiel. Het aftrekken van een vrijstelling van de belasting op landed cost
komt binnenkort beschikbaar, dus een gesynchroniseerde vrijstelling verandert de belasting
die aan een shopper wordt voorgeschoteld nog niet. Door nu al te synchroniseren, staan uw
certificaten al klaar zodra dit wel het geval is.
checkoutCustomerUpsert maakt een klantprofiel aan, of werkt dit bij als er al een profiel bestaat voor die customerId. In tegenstelling tot checkoutCustomerProfileAuthenticate is het hierbij niet vereist dat de shopper aanwezig is, zodat u uw klantenlijst vooraf kunt voorbereiden. Zie een profiel aanmaken of bijwerken zonder shopper voor het volledige veldgedrag.
Omdat er wordt gematcht op customerId, wordt bij herhaaldelijk aanroepen hetzelfde profiel bijgewerkt in plaats van dat er duplicaten worden aangemaakt. Het is veilig om dit bij elke synchronisatie voor uw volledige klantenlijst uit te voeren.
Als expiresAt wordt weggelaten, betekent dit dat het certificaat niet verloopt. Als exemptionReason wordt weggelaten, wordt standaard UNSPECIFIED gebruikt.
De lijst is leidend.taxExemptions is de volledige set van de klant, niet een lijst met wijzigingen. Elke vrijstelling die al is geregistreerd maar ontbreekt in de lijst, wordt verwijderd — zo stopt een ingetrokken certificaat met geldig te zijn. Het versturen van een gedeeltelijke lijst verwijdert stilzwijgend alles wat erin ontbreekt.
Elk record is een vrijstelling. Er is geen manier om vast te leggen dat een klant ergens niet is vrijgesteld — zie de opmerking hieronder.
Alle vrijstellingen verwijderen is een lege lijst. Om de certificaten van een klant te wissen, verstuurt u deze met "taxExemptions": []. Als u de klant volledig weglaat uit de payload, blijven de bestaande records ongewijzigd.
Verstuur alleen rechtsgebieden waarin de klant is vrijgesteld
Zonos heeft geen record voor „niet vrijgesteld” — een rechtsgebied staat wel of niet in de
lijst. Als uw systeem vrijgestelde en niet-vrijgestelde rechtsgebieden samen opslaat, filtert
u vóór het synchroniseren op de vrijgestelde gebieden. Een niet-vrijgesteld record is niet te
onderscheiden van een echt certificaat, dus het wordt geaccepteerd in plaats van afgewezen, en
de klant wordt in die staat als vrijgesteld behandeld.
exemptionReason beschrijft waarom de klant is vrijgesteld. Het veld is optioneel en standaard is dit UNSPECIFIED, maar het is de moeite waard om dit toch op te geven — zie hieronder.
Waarde↕
Van toepassing op↕
RESALE
Goederen die zijn gekocht om door te verkopen in plaats van te consumeren
FEDERAL_GOVERNMENT
Een Amerikaanse federale instantie of afdeling
STATE_LOCAL_GOVERNMENT
Een staatsinstantie, county, gemeente of schooldistrict
TRIBAL_GOVERNMENT
Een federaal erkende stam of stamlid
CHARITABLE
Een liefdadige non-profitorganisatie
RELIGIOUS_ORGANIZATION
Een kerk of andere religieuze organisatie
EDUCATIONAL_ORGANIZATION
Een school of universiteit
DIRECT_PAY
Een koper met een direct-pay-vergunning die zelf belasting afdraagt
OTHER
Al het overige, waaronder buitenlandse diplomaten, landbouwproductie, industriële productie en direct mail
UNSPECIFIED
Geen reden opgegeven
Redenen vallen in twee groepen uiteen, en dat verschil is belangrijk. Entiteitsgebaseerde redenen — overheid, liefdadigheid, religieus, onderwijs — stellen de koper vrij ongeacht wat ze kopen. Gebruiksgebaseerde redenen, met RESALE voorop, dekken alleen kwalificerende goederen: een wederverkoopcertificaat dekt voorraad die de koper zal doorverkopen, niet het kantoormeubilair op dezelfde bestelling.
Zonder een reden kan Zonos geen onderscheid maken tussen de twee en kan alleen de hele bestelling worden vrijgesteld, wat het lastigst te verantwoorden is bij wederverkoopcertificaten. Als de meeste van uw vrijstellingen wederverkoop betreffen, is het meestal veel minder werk om RESALE als standaard te versturen en uitzonderingen afzonderlijk te vermelden dan om elke klant individueel te classificeren.
exemptionReference is het nummer dat op de vrijstellingsdocumenten van de klant staat vermeld. Afhankelijk van de staat en het type vrijstelling kan dit een wederverkoop- of verkopersvergunningsnummer zijn, een staatsvrijstellingscertificaatnummer, een direct-pay-vergunningsnummer of een federaal belastingnummer.
Dit veld is verplicht bij elk record. Sla het op en verstuur het exact zoals het op het certificaat staat — de indeling verschilt sterk per rechtsgebied (SR EAA 12-345678, 85-8012345678C-9, 12-3456789), en Zonos behoudt de waarde zoals verzonden, afgezien van het verwijderen van omliggende spaties. Wijzig geen hoofdlettergebruik en verwijder geen streepjes of spaties.
Om privacyredenen kan exemptionReference wel worden verstuurd, maar wordt deze niet
teruggegeven bij het opvragen van vrijstellingen, omdat het veld een federaal belastingnummer
kan bevatten.
Records worden één voor één gevalideerd. Een afgewezen record wordt gerapporteerd in rejected en zorgt er niet voor dat de rest van de batch mislukt, en het heeft ook geen invloed op de vrijstelling die al voor dat rechtsgebied is geregistreerd.
Code↕
Oorzaak↕
UNKNOWN_CUSTOMER
Geen enkele klant komt overeen met customerId. Maak eerst de klant aan
UNKNOWN_JURISDICTION
administrativeArea is geen herkende Amerikaanse staat, district of territorium
INVALID_DATE_RANGE
expiresAt ligt niet na effectiveAt
MISSING_EXEMPTION_REFERENCE
exemptionReference is leeg
DUPLICATE_JURISDICTION
Twee records in dezelfde payload delen hetzelfde land, gebied en dezelfde ingangsdatum. Het eerste record wordt behouden
Onbekende klanten worden afgewezen in plaats van aangemaakt, zodat een verkeerd getypte customerId zichtbaar wordt in de response in plaats van dat er een profiel wordt aangemaakt dat nooit bij een echte koper past.
Alleen Amerikaanse administratieve gebieden worden gevalideerd. Onderverdelingen van andere landen worden geaccepteerd zoals verzonden.
Gebruik checkoutCustomerTaxExemptionsDelete om alle vrijstellingen van een klant te verwijderen — bijvoorbeeld wanneer deze het account sluit. Deze mutatie retourneert SUCCESS, ongeacht of de klant vrijstellingen had, dus u kunt deze veilig meerdere keren aanroepen.
Belastingvrijstellingen
Belastingvrijstellingen
Synchroniseer Amerikaanse omzetbelastingvrijstellingscertificaten met een klantprofiel.
Als u verkoopt aan wederverkopers, overheidsinstanties of non-profitorganisaties, beschikken die kopers over vrijstellingscertificaten waarmee ze zijn vrijgesteld van omzetbelasting in bepaalde staten. Zonos slaat deze certificaten op bij een klantprofiel, zodat een vrijgestelde koper bij checkout kan worden herkend.
Vrijstellingen worden per rechtsgebied vastgelegd. Een klant die is vrijgesteld in South Carolina is niet automatisch vrijgesteld in Texas, dus elke staat waarvoor de klant een certificaat heeft, is een apart record met eigen datums en certificaatnummer.
Vrijstellingen worden gekoppeld aan een bestaande klant, dus synchroniseren gebeurt in twee calls: eerst maakt u de klant aan, daarna synchroniseert u de certificaten. Beide zijn gekoppeld aan uw eigen klant-ID — dezelfde
customerIddie u elders in Checkout gebruikt. Zonos vereist nooit dat u een intern ID opslaat.Deze functie is alleen beschikbaar voor aangepaste API-integraties.
U kunt vrijstellingen vandaag al synchroniseren en beheren, en de records worden opgeslagen bij het klantprofiel. Het aftrekken van een vrijstelling van de belasting op landed cost komt binnenkort beschikbaar, dus een gesynchroniseerde vrijstelling verandert de belasting die aan een shopper wordt voorgeschoteld nog niet. Door nu al te synchroniseren, staan uw certificaten al klaar zodra dit wel het geval is.
Klant aanmaken of bijwerken
checkoutCustomerUpsertmaakt een klantprofiel aan, of werkt dit bij als er al een profiel bestaat voor diecustomerId. In tegenstelling totcheckoutCustomerProfileAuthenticateis het hierbij niet vereist dat de shopper aanwezig is, zodat u uw klantenlijst vooraf kunt voorbereiden. Zie een profiel aanmaken of bijwerken zonder shopper voor het volledige veldgedrag.mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {checkoutCustomerUpsert(input: $input) {customerIdemailnamephone}}Omdat er wordt gematcht op
customerId, wordt bij herhaaldelijk aanroepen hetzelfde profiel bijgewerkt in plaats van dat er duplicaten worden aangemaakt. Het is veilig om dit bij elke synchronisatie voor uw volledige klantenlijst uit te voeren.Belastingvrijstellingen synchroniseren
checkoutCustomerTaxExemptionsSyncaccepteert meerdere klanten tegelijk. Elke invoer vervangt de volledige set vrijstellingen van die klant.mutation checkoutCustomerTaxExemptionsSync($input: [CheckoutCustomerTaxExemptionSyncInput!]!) {checkoutCustomerTaxExemptionsSync(input: $input) {customerIdaccepted {idcountryCodeadministrativeAreaeffectiveAtexpiresAtexemptionReason}rejected {codemessageadministrativeAreaeffectiveAt}}}Als
expiresAtwordt weggelaten, betekent dit dat het certificaat niet verloopt. AlsexemptionReasonwordt weggelaten, wordt standaardUNSPECIFIEDgebruikt.Hoe synchroniseren werkt
Drie regels gelden voor elke synchronisatie.
De lijst is leidend.
taxExemptionsis de volledige set van de klant, niet een lijst met wijzigingen. Elke vrijstelling die al is geregistreerd maar ontbreekt in de lijst, wordt verwijderd — zo stopt een ingetrokken certificaat met geldig te zijn. Het versturen van een gedeeltelijke lijst verwijdert stilzwijgend alles wat erin ontbreekt.Elk record is een vrijstelling. Er is geen manier om vast te leggen dat een klant ergens niet is vrijgesteld — zie de opmerking hieronder.
Alle vrijstellingen verwijderen is een lege lijst. Om de certificaten van een klant te wissen, verstuurt u deze met
"taxExemptions": []. Als u de klant volledig weglaat uit de payload, blijven de bestaande records ongewijzigd.Zonos heeft geen record voor „niet vrijgesteld” — een rechtsgebied staat wel of niet in de lijst. Als uw systeem vrijgestelde en niet-vrijgestelde rechtsgebieden samen opslaat, filtert u vóór het synchroniseren op de vrijgestelde gebieden. Een niet-vrijgesteld record is niet te onderscheiden van een echt certificaat, dus het wordt geaccepteerd in plaats van afgewezen, en de klant wordt in die staat als vrijgesteld behandeld.
Vrijstellingsredenen
exemptionReasonbeschrijft waarom de klant is vrijgesteld. Het veld is optioneel en standaard is ditUNSPECIFIED, maar het is de moeite waard om dit toch op te geven — zie hieronder.RESALEFEDERAL_GOVERNMENTSTATE_LOCAL_GOVERNMENTTRIBAL_GOVERNMENTCHARITABLERELIGIOUS_ORGANIZATIONEDUCATIONAL_ORGANIZATIONDIRECT_PAYOTHERUNSPECIFIEDRedenen vallen in twee groepen uiteen, en dat verschil is belangrijk. Entiteitsgebaseerde redenen — overheid, liefdadigheid, religieus, onderwijs — stellen de koper vrij ongeacht wat ze kopen. Gebruiksgebaseerde redenen, met
RESALEvoorop, dekken alleen kwalificerende goederen: een wederverkoopcertificaat dekt voorraad die de koper zal doorverkopen, niet het kantoormeubilair op dezelfde bestelling.Zonder een reden kan Zonos geen onderscheid maken tussen de twee en kan alleen de hele bestelling worden vrijgesteld, wat het lastigst te verantwoorden is bij wederverkoopcertificaten. Als de meeste van uw vrijstellingen wederverkoop betreffen, is het meestal veel minder werk om
RESALEals standaard te versturen en uitzonderingen afzonderlijk te vermelden dan om elke klant individueel te classificeren.Vrijstellingsreferentie
exemptionReferenceis het nummer dat op de vrijstellingsdocumenten van de klant staat vermeld. Afhankelijk van de staat en het type vrijstelling kan dit een wederverkoop- of verkopersvergunningsnummer zijn, een staatsvrijstellingscertificaatnummer, een direct-pay-vergunningsnummer of een federaal belastingnummer.Dit veld is verplicht bij elk record. Sla het op en verstuur het exact zoals het op het certificaat staat — de indeling verschilt sterk per rechtsgebied (
SR EAA 12-345678,85-8012345678C-9,12-3456789), en Zonos behoudt de waarde zoals verzonden, afgezien van het verwijderen van omliggende spaties. Wijzig geen hoofdlettergebruik en verwijder geen streepjes of spaties.Om privacyredenen kan
exemptionReferencewel worden verstuurd, maar wordt deze niet teruggegeven bij het opvragen van vrijstellingen, omdat het veld een federaal belastingnummer kan bevatten.Afgewezen records
Records worden één voor één gevalideerd. Een afgewezen record wordt gerapporteerd in
rejecteden zorgt er niet voor dat de rest van de batch mislukt, en het heeft ook geen invloed op de vrijstelling die al voor dat rechtsgebied is geregistreerd.UNKNOWN_CUSTOMERcustomerId. Maak eerst de klant aanUNKNOWN_JURISDICTIONadministrativeAreais geen herkende Amerikaanse staat, district of territoriumINVALID_DATE_RANGEexpiresAtligt niet naeffectiveAtMISSING_EXEMPTION_REFERENCEexemptionReferenceis leegDUPLICATE_JURISDICTIONOnbekende klanten worden afgewezen in plaats van aangemaakt, zodat een verkeerd getypte
customerIdzichtbaar wordt in de response in plaats van dat er een profiel wordt aangemaakt dat nooit bij een echte koper past.Alleen Amerikaanse administratieve gebieden worden gevalideerd. Onderverdelingen van andere landen worden geaccepteerd zoals verzonden.
Terugkoppelen en verwijderen
Lees de vrijstellingen van een klant uit om te bevestigen dat een synchronisatie is geslaagd:
query checkoutCustomerTaxExemptions($customerId: String!) {checkoutCustomerTaxExemptions(customerId: $customerId) {countryCodeadministrativeAreaeffectiveAtexpiresAtexemptionReason}}Gebruik
checkoutCustomerTaxExemptionsDeleteom alle vrijstellingen van een klant te verwijderen — bijvoorbeeld wanneer deze het account sluit. Deze mutatie retourneertSUCCESS, ongeacht of de klant vrijstellingen had, dus u kunt deze veilig meerdere keren aanroepen.mutation checkoutCustomerTaxExemptionsDelete($customerId: String!) {checkoutCustomerTaxExemptionsDelete(customerId: $customerId)}CheckoutCustomerProfileInput CheckoutCustomerTaxExemptionSyncInput
checkoutCustomerTaxExemptionsDelete checkoutCustomerTaxExemptionsSync checkoutCustomerUpsert
Was deze pagina nuttig?