International taxes can be a nightmare. But they're unavoidable if you want to take your products to a global audience and it's something you have to get right.

So here it is: a definitive guide on exactly how Shopify handles international taxation, how to make it work for you so that you can be confident you're getting it right.

If you want to be able to let users in different countries pay different tax rates on your products, you need to enter your prices without taxes.

On each product you want any taxes to apply to, you need to tick the 'Charge taxes on this product' box on the pricing screen (or the edit screen of each of its variants). Then you must set up each of your tax zones and each country you would like to sell to as shipping zones in Settings -> Shipping. Then go to Settings -> Taxes and set a tax rate for each zone. In Settings -> Taxes, deselect 'Prices include tax'.

This will mean that your products will show prices without tax until the checkout. At the checkout, taxes will be applied according to the country and area code inputted by the user.

If you want to give users in different countries different tax rates but still want to show prices including tax on your site, then you need to implement some custom work across your site with geolocation and JavaScript.

We're currently cooking up some ways to help store owners do this themselves (watch this space), but in the mean time you will need to get a developer to do this. If you want to speak to somebody at Eastside Co about implementing this work or about which option suits your store best, send us a message or give us a call on 0121 794 0199.

If you don't want to implement this 'fix', your other option is to tick 'Prices include tax' and show your prices with your domestic tax all the way through the site. However if you do this Shopify will not use tax zones to remove the tax from the price for countries that should not pay it. Here is a summary of your three options

  • Show prices that include your domestic tax rate throughout your site, but this means you cannot remove this tax for users in countries that don't pay it. You would enter your prices with tax.
  • Give users in different countries different tax rates at checkout, but show prices before tax until the user gets to checkout. You would enter your prices without tax.
  • Set-up your site as you would in option B, but use geolocation and JavaScript to show users prices with their correct tax throughout the site.

Want some advice on the best option for you? Get in touch.