Setting up Taxes in WooCommerce

Setting up taxes and tax rates is one of the first tasks you want to perform when setting up a store. Taxes can be a complex matter, but WooCommerce aims to make setting them up as straightforward as possible. To get started, go to: WooCommerce > Settings > Tax.

Tax Options ↑ Back to Top

The tax tab displays several options that you can configure to suit your needs – settings you choose will be based on the tax jurisdiction under which your store is located.

WooCommerce Tax Settings


The options:

Enable taxes

Define whether to enable taxes and tax calculations. If taxes are disabled, ignore the rest of the options on the page as they will have no effect.

Prices Entered With Tax

This option is perhaps the most important option when managing taxes in your store, as it determines how you input product prices later on.

“Yes, I will enter prices inclusive of tax” means that all catalog prices are input using your store’s base tax rate.

For example, in the UK you would input prices inclusive of the 20% tax rate e.g. You enter a product price of £9.99 that includes £1.67 tax. A customer in the UK would pay £9.99 as defined, and a customer in the US would only pay £8.32.

“No, I will enter prices exclusive of tax” would mean that your catalog prices need to be tax exclusive.

Using the example from above, a UK shop would enter 8.32 at the product price. A tax of 20% would be applied on top of this during checkout making the amount payable £9.99.

The tax calculation for tax-inclusive prices is:

tax_amount = price - ( price / ( ( tax_rate_% / 100 ) + 1 ) )

The tax calculation for tax-exclusive prices is:

tax_amount = price * ( tax_rate_% / 100 )

Calculate Tax Based On…

Choose between:

  • Customer billing address
  • Customer shipping address (default), which is found under the General tab
  • Store base address

Shipping Tax Class

In most setups, shipping tax class is inherited from the item being shipped, i.e., shipping a reduced rate item like baby clothes would also use a reduced rate.

If this is not the case in your jurisdiction, choose a different tax class.

Round tax at subtotal level, instead of per line

If rounding is done last in your tax jurisdiction (when the subtotal is calculated), enable this option.

Additional Tax Classes

Tax Classes are assigned to your products. In most cases, you want to use the default “standard” class. If you sell goods that require a different tax class (i.e., Tax, except zero-rated products) you can add the classes here. To get started, we include Standard, Reduced Rate and Zero Rate tax classes.

Each class is listed at the top of the tax settings page – click a class to view tax rates assigned to the class.

Display prices during cart/checkout

This option determines how prices are displayed in your cart and checkout pages – it works independently of your catalog prices. Choose from inclusive/exclusive tax display.

*Note that the address field needs to be filled in to get tax calculations if you have a tax table that distinguishes between locations.

Setting up Tax Rates ↑ Back to Top

Tax classes are displayed at the top of the tax screen – click one to view tax rates for the class.

You will see the tax rates table. Here you can define tax rates (1 per row). Click Insert Row to get started.

Each tax rate has these attributes:

  • Country Code – 2 digit country code for the rate. Use ISO 3166-1 alpha-2 codes. Leave blank (*) to apply to all countries.
  • State Code – 2 digit state code for the rate. See i18n/states/COUNTRYCODE.php for supported states. For the US, use a 2 digit abbreviation e.g. AL. Leave blank (*) to apply to all states.
  • ZIP/Postcode – Enter postcodes for the rate. You may separate multiple values with a semi-colon (;), use wildcards to match several postcodes (e.g. PE* would match all postcodes starting with PE), and use numeric ranges (e.g. 2000-3000). Leave blank (*) to apply to all postcodes.
  • City – Semi-colon separated list of cities for the rate. Leave blank (*) to apply to all cities.
  • Rate % – Enter the tax rate, for example, 20.000 for a tax rate of 20%.
  • Tax Name – Name your tax, e.g. VAT
  • Priority – Choose a priority for this tax rate. Only 1 matching rate per priority will be used. To define multiple tax rates for a single area you need to specify a different priority per rate.
  • Compound – If this rate is compound (applied on top of all prior taxes) check this box.
  • Shipping – If this rate also applies to shipping, check this box.

Tax Rate Examples

Here is an example of a tax setup for a UK store – 20% for UK customers only.


In this example, we have a 6% tax rate for all US states except for California, which has a 7% tax rate and a local tax rate of 2% for ZIP code 90210. Notice the priorities – this demonstrates how you can ‘layer’ rates on top of another.


Importing and exporting rates

There is an export button within the table that you can use to export a CSV of your input rates.

There is also an import function that you can use to import a CSV. The CSV requires 10 columns;

country code, state code, postcodes, cities, rate, tax name, priority, compound, shipping, tax class

Leave tax class blank for standard rates.

Deleting Tax Rates

In case you incorrectly added tax rates or the CSV import has incorrectly added tax lines, it will be necessary to delete excess information.

To do this:

  1. Go to: WooCommerce > Settings > Tax > Your Tax Rates (Standard, Reduced Rate, Zero Rate)
  2. Select the incorrect lines by clicking on them. They will be highlighted in yellow.
  3. Select Remove Selected Rows. This will remove the highlighted rows.
  4. Select Save Changes.

Screen Shot 2014-06-27 at 12.00.48

If you want to delete all of your tax rates at once, use the ‘Delete all WooCommerce tax rates’ option in WooCommerce -> System Status -> Tools.


Viewing Tax Reports ↑ Back to Top

Tax reporting can be found in Reports > Taxes by Month. This report lets you view taxes for the year.


‘Toggle tax rows’ shows a different report, breaking up taxes based on your rules. This is useful if you need a report showing local taxes separately.

Special Tax Setups ↑ Back to Top

Tax based on subtotal amount

Apply different tax rates based on the customer role

Check out our Knowledge Base article on How to add different tax rates based on the user role.

Special note on Prices Including Tax ↑ Back to Top

If you are entering prices including tax, you should be aware that this price might change based on the country in which your customer is located.

For example, your store is in the UK, so you create one tax rate for GB of 20%.
You create a product with a tax inclusive price of £120.
Customers in the UK will pay £120 (£100 + £20 VAT).
Customers outside the UK will pay £100 because you do not have any tax rates set up for any other country.

Your store is in the UK, so you create one tax rate for GB of 20%, a tax rate for France of 19% and Norway at 25%.
You create a product with a tax inclusive price of £120.
Customers in the UK will pay £120 (£100 + £20 VAT).
Customers in France will pay £119 (£100 + £19 Tax).
Customers in Norway will pay £125 (£100 + £25 Tax).
Customers outside the UK, France or Norway will only pay £100 because you do not have any tax rates set up for any other countries.

WooCommerce does not allow for your customers to always pay £120 regardless of their tax rate.

Back to the top