Taxes

Tax is worked out by a provider. Tax zones choose the provider for an address, and tax categories tell it what each product is.

Who works out the tax

A tax provider holds the rates and rules for each place and calculates the tax. There are three kinds:

  • Avalara, Avalara's tax service: Account ID, License Key, Company, Sandbox, Submit Documents, Validate Address, Default Item Tax Code and Shipping Tax Code.
  • Stripe Tax, Stripe's tax service: Connected Account ID (left blank, it uses the account of the site's Stripe payment method), Test Mode, Submit Documents, Default Item Tax Code and Shipping Tax Code.
  • MockTax: one flat percentage on every line, for development and testing only.

A provider takes part only while its Enabled switch is on. With Submit Documents on, each purchase is also recorded with the provider for its tax reports; with it off, the provider only calculates.

Which provider an address gets

In the Taxes settings:

  • Enabled switches tax calculation on for the site.
  • Zone resolves to picks the address to tax by: the shipping address (the default), the billing address or the warehouse address.
  • A tax zone pairs a provider with one or more locations. An address that matches a zone's location goes to that zone's provider; an address in no zone goes to the Default provider.
  • The Default warehouse is the address goods are sent from, which providers need.

Tax categories

Each product has a tax category (standard goods, zero-rated food, services), and each category is mapped to the tax code the provider expects. A product whose category has no code for that provider is taxed with the provider's Default Item Tax Code, as if every product were the same.

When tax is worked out

The checkout asks the provider again whenever something that affects tax changes: the items, the delivery option, the delivery address, the email address or the totals. The tax is stored on the checkout's lines and moves to the order and its invoice, so changing a setting later does not change the tax on past orders.

MockTax is for testing

MockTax charges one percentage everywhere. Check that no zone or default points to it before the store goes live.

When tax comes out wrong

  • No tax at all: the Enabled setting is off, or the provider the address resolves to is disabled.
  • The wrong rate for a product: its tax category has no code for that provider, so the default code applied.
  • The wrong place: check which address Zone resolves to uses, and which zone that address matches.

Developers: Tax and shipping in the commerce guide.

Was this page helpful?

Your answer goes to the docs team.