Skip to main content

Tax exemptions

Note

Shopify's Tax Platform is available by invitation only to select tax software companies integrating with Shopify.

Merchants can set tax exemptions on customers and company locations in Shopify Admin. This information is available to tax apps as part of the Tax Calculation API when taxes are calculated during checkout as well as in the payload of the Tax Summary webhook.

You can configure tax exemptions in two places in Shopify Admin:

  • Customer: For direct-to-consumer (D2C) orders
  • Company location: For business-to-business (B2B) orders

The API will only return one type of tax exemption. If a customer has both customer and company location tax exemptions, the company location tax exemptions take precedence.

Note

The field for exemptions is available in the API version 2025-07 or later.

  • To access this field in the tax calculation API, the tax app must be on an API version of 2025-07 or later which is to be specified in the tax calculation app extension TOML file.
  • To access this field in the tax summary webhook, the tax app must specify a webhook API version of 2025-07 or later in the app TOML file.

Anchor to Supported tax exemption codesSupported tax exemption codes

  • au.reseller: Australia reseller

  • ca.status.card: Canada status card
  • ca.diplomat: Canada diplomat
  • ca.bc.reseller: British Columbia reseller
  • ca.mb.reseller: Manitoba reseller
  • ca.sk.reseller: Saskatchewan reseller
  • ca.bc.commercial.fishery: British Columbia fishery
  • ca.mb.commercial.fishery: Manitoba fishery
  • ca.ns.commercial.fishery: Nova Scotia fishery
  • ca.pe.commercial.fishery: Prince Edward Island fishery
  • ca.sk.commercial.fishery: Saskatchewan fishery
  • ca.bc.production.and.machinery: British Columbia production and machinery
  • ca.sk.production.and.machinery: Saskatchewan production and machinery
  • ca.bc.sub.contractor: British Columbia sub contractor
  • ca.sk.sub.contractor: Saskatchewan sub contractor
  • ca.bc.contractor: British Columbia contractor
  • ca.sk.contractor: Saskatchewan contractor
  • ca.on.purchase: Ontario purchase
  • ca.mb.farmer: Manitoba farmer
  • ca.ns.farmer: Nova Scotia farmer
  • ca.sk.farmer: Saskatchewan farmer

  • eu.reverse.charge: Reverse charge (EU/UK)

  • us.al.reseller: Alabama reseller
  • us.ak.reseller: Alaska reseller
  • us.az.reseller: Arizona reseller
  • us.ar.reseller: Arkansas reseller
  • us.ca.reseller: California reseller
  • us.co.reseller: Colorado reseller
  • us.ct.reseller: Connecticut reseller
  • us.de.reseller: Delaware reseller
  • us.dc.reseller: Washington DC reseller
  • us.fl.reseller: Florida reseller
  • us.ga.reseller: Georgia reseller
  • us.hi.reseller: Hawaii reseller
  • us.id.reseller: Idaho reseller
  • us.il.reseller: Illinois reseller
  • us.in.reseller: Indiana reseller
  • us.ia.reseller: Iowa reseller
  • us.ks.reseller: Kansas reseller
  • us.ky.reseller: Kentucky reseller
  • us.la.reseller: Louisiana reseller
  • us.me.reseller: Maine reseller
  • us.md.reseller: Maryland reseller
  • us.ma.reseller: Massachusetts reseller
  • us.mi.reseller: Michigan reseller
  • us.mn.reseller: Minnesota reseller
  • us.ms.reseller: Mississippi reseller
  • us.mo.reseller: Missouri reseller
  • us.mt.reseller: Montana reseller
  • us.ne.reseller: Nebraska reseller
  • us.nv.reseller: Nevada reseller
  • us.nh.reseller: New Hampshire reseller
  • us.nj.reseller: New Jersey reseller
  • us.nm.reseller: New Mexico reseller
  • us.ny.reseller: New York reseller
  • us.nc.reseller: North Carolina reseller
  • us.nd.reseller: North Dakota reseller
  • us.oh.reseller: Ohio reseller
  • us.ok.reseller: Oklahoma reseller
  • us.or.reseller: Oregon reseller
  • us.pa.reseller: Pennsylvania reseller
  • us.ri.reseller: Rhode Island reseller
  • us.sc.reseller: South Carolina reseller
  • us.sd.reseller: South Dakota reseller
  • us.tn.reseller: Tennessee reseller
  • us.tx.reseller: Texas reseller
  • us.ut.reseller: Utah reseller
  • us.vt.reseller: Vermont reseller
  • us.va.reseller: Virginia reseller
  • us.wa.reseller: Washington reseller
  • us.wv.reseller: West Virginia reseller
  • us.wi.reseller: Wisconsin reseller
  • us.wy.reseller: Wyoming reseller

Anchor to Tax calculation API schemaTax calculation API schema

In the tax calculation request, the exemptions are represented as an array of objects with a property called external_id whose value is one or more tax exemption codes.

If there are no exemptions for the customer or company location associated with the checkout, the API returns an empty array.

Anchor to Customer tax exemptionsCustomer tax exemptions

When tax exemptions are configured for the customer associated with the tax calculation request, they appear in the customer field of the buyer_identity section as an array:

{
"idempotent_key": "<some_idempotent_key>",
...
"cart": {
"buyer_identity": {
"tax_exempt": true,
"customer": {
"id": "6145263457",
"exemptions": [
{
"external_id": "us.al.reseller"
},
{
"external_id": "ca.sk.farmer"
}
]
},
"purchasing_company": null
...
}
}
}

Anchor to Company location tax exemptionsCompany location tax exemptions

When tax exemptions are configured for the company location associated with the tax calculation request, they appear in the purchasing_company field of the buyer_identity section:

{
"idempotent_key": "<some_idempotent_key>",
...
"cart": {
"buyer_identity": {
"tax_exempt": true,
"customer": null,
"purchasing_company": {
"company": {
"id": "5242343243",
"external_id": "external_company_id"
},
"company_location": {
"id": "56354253",
"external_id": "external_company_location_id",
"vat_number": "DE45352345"
},
"exemptions": [
{
"external_id": "us.al.reseller"
},
{
"external_id": "ca.sk.farmer"
},
{
"external_id": "eu.reverse.charge"
}
]
}
...
}
}
}

Anchor to Tax summary webhook payload schemaTax summary webhook payload schema

The tax exemptions associated with the order are in the agreements section of the tax summary. This is because the exemptions could change over the lifecycle of the order. Each operation done on an order results in the creation of an agreement. Examples include placing an order, editing the order to add items, and performing a refund on the order.

Only agreements that trigger a request for tax calculation will have the exemptions in the tax summary. Agreements that are exclusively for refunds do not trigger a request for tax calculation, so they will not have tax exemptions in the tax summary.

Anchor to Customer tax exemptionsCustomer tax exemptions

{
"agreements": [
{
"id": "261365366",
"happened_at": "2005-07-31T15:58:11.000Z",
"sales": [...],
"customer": {
"id": "6145263457",
"exemptions": [
{
"external_id": "us.al.reseller"
},
{
"external_id": "ca.sk.farmer"
}
]
},
"purchasing_company": null
}
]
}

Anchor to Company location tax exemptionsCompany location tax exemptions

{
"agreements": [
{
"id": "261365366",
"happened_at": "2005-07-31T15:58:11.000Z",
"sales": [...],
"customer": null,
"purchasing_company": {
"company": {
"id": "5242343243",
"external_id": "external_company_id"
},
"company_location": {
"id": "56354253",
"external_id": "external_company_location_id",
"vat_number": "DE45352345"
},
"exemptions": [
{
"external_id": "us.al.reseller"
},
{
"external_id": "ca.sk.farmer"
},
{
"external_id": "eu.reverse.charge"
}
]
}
}
]
}

Was this page helpful?