Overview
Sales tax treatment differs depending on where a transaction comes from, and the type of customer who placed an order.Key Concepts
Marketplace Sales
A marketplace facilitator, such as Amazon, Walmart, or Etsy, is responsible for collecting and remitting sales tax for transactions on their platforms. When passing a transaction to Zamp which originated from a marketplace platform, you will need to classify it using themarketplace property on the transaction object.
Supported Marketplaces
ALIBABA, AMAZON, APPLE, BEST_BUY, CLICKBANK, COSTCO, EBAY, ETSY, EVENTBRITE, FLIP, GOLDBELLY, GOOGLE, GUNBROKER, INVALUABLE, LOWES, MACYS, META, MIRAKL, NEWEGG, NINTENDO, OVERSTOCK, POSHMARK, POWER_SALES, REVERB, SHOP, SONY, STOCKX, TARGET_PLUS, TIKTOK, UNKNOWN, WALMART, WAYFAIR, WHATNOT
Expected Integration Behavior
For any transaction sourced from a marketplace facilitator, yourtaxCollected should be 0 when posting the transaction via POST /transactions . Zamp will return 0 as a taxDue .
Entity
Customers making purchases from a business can be exempt from sales tax for a variety of reasons. Zamp supports different entity exemption codes that can be applied to any given transaction.Supported Entity Exemptions
Entities with Planned Support
The below are entities that Zamp will build support for in the future.MANUFACTURER, SNAP, INDUSTRIAL_PROCESSING, LESSOR, AGRICULTURAL, MEDICAL, RELIGIOUS, DATA_CENTER, DIRECT_PAY , TRIBAL, LOCAL_GOV
Canadian Exemptions
For sales to Canadian government, you can use theCAN_GOV_* codes on our Canadian Transactions page.
Purpose
If a customer is making a transaction for a specific reason, you can classify it with a Zamppurpose code.
Available Purpose Codes
RESALE, BUSINESS_USE, PERSONAL_USE, RENTAL_USE
BUSINESS_USE, PERSONAL_USE, RENTAL_USE don’t impact any transaction logic at this time.Expected Integration Behavior
The most common scenario for using the purpose code is to mark a transaction for resale. If a buyer purchases the entire order to resell, you would tag it asRESALE.
A purpose code should be assignable at a transaction-level, but RESALE can also be an option for the customer in your UI.