How to Configure WooCommerce Tax Settings

Last updated - February 24, 2020

One of the essential steps you take while setting up an online store is working out taxes. If calculating accurate tax calculations complying with the legal obligations of your country or local area is getting a bit complicated, don’t hesitate to get professional help. WooCommerce attempts to provide settings as straightforward as possible to make the process easier. Let’s go through the basic procedure to configure WooCommerce tax settings on your online store.

Enabling taxes

Firstly, you have to enable taxes in the General settings tab.

Enabling Tax Settings
Enabling tax settings

This will create a separate tab for Tax in WooCommerce Settings. You can go to this tab by navigating through the following path:

WooCommerce → Settings → Tax

Navigating Tax Settings
Navigating tax settings

The Tax tab looks like the screenshot below:

Tax tab
Tax tab

Various tax options

Now, we will look into each setting in detail. First, you have to decide how you input prices for your products. There are two options with a radio button, where you can choose to keep prices inclusive or exclusive of tax. If you decide to go with the second option, the prices of the products that you input will be exclusive of tax. In this case, you need to calculate tax as an additional price component during checkout.

Setting up price input
Setting up price input

Next option will determine which location you are using to set up your tax form. You can select any of the three choices from the drop-down.

  • Customer shipping address
  • Customer billing address
  • Shop base address
Choosing location to base tax calculation
Choosing location to base tax calculation

Shipping tax class

Next setting determines how you can define Shipping Tax Class in your store. In most scenarios, shipping tax class is based on the items in the cart. That means if your customer adds a product that falls under a different tax rate, the tax for shipping will also be calculated at that same rate. You can choose the default option for this setting which is Shipping tax class based on cart items. If your tax jurisdiction doesn’t allow for this, you can select another tax class.

You can select the appropriate option from a drop-down. If you’ve already set a customized tax class, you can see that too among the choices in the drop-down.

Setting shipping tax class
Setting shipping tax class

There is a checkbox that determines tax rounding in the cart. You can tick the checkbox if you want to round tax at sub-total level rather than the default rounding per line option.

Determining tax rounding levels
Determining tax rounding levels

You can create additional tax classes based on your tax requirements. Apart from the default Standard Rate, WooCommerce has already set two additional tax classes – Reduced Rate and Zero Rate.

Additional tax classes
Additional tax classes

To create a new tax class, enter the names (one per line) in the text field.

Adding new tax classes
Adding new tax classes

Once you create and save the new tax classes, they will be displayed as a tab on the top of the screen.

Displaying tax classes tab
Displaying tax classes tab

You can set the rate for the newly created tax class by clicking the name and entering all the required data.

Setting rates for tax classes
Setting rates for tax classes

Price display in store

Next, there are two settings where you can determine whether prices will be displayed inclusive or exclusive of tax on the front-end of your store. These are Display Prices in the Shop and Display Prices During Cart and Checkout. Choose ‘Including tax’ or ‘Excluding tax’ according to your preference.

Displaying Prices
Displaying Prices

Price Display Suffix helps to display a text after the price of your products. This can be something like “inclusive of VAT.”

You can also set to alternate your price display as exclusive or inclusive of tax using either of the two options – {price_including _tax} or {price_excluding_tax}.

Setting price display suffix
Setting price display suffix

Finally, you can set how to Display Tax Totals during checkout – whether to display multiple taxes clubbed together as one total or each one listed as a separate item.

You can choose ‘As a single total’ or ‘Itemized’ from the drop-down.

Displaying tax totals
Displaying tax totals

Once you complete updating the settings, do not forget to click Save changes button.

We have covered the basic tax settings in WooCommerce. Your tax calculations are dependent on the legal obligations of your store base and selling location. Read more about the basics of sales tax calculations before setting up taxes on your store. Read more on the topic and get professional help if required.

How to set up tax rates?

Once you are done configuring the general tax options, you can set up tax rates on your store.

All the different tax rates you set up will be visible as different tabs here. You can go to one of the rates and create different tables. For example, if you click the Standard rate, you will see the different tax rates you have set up in multiple rows. You can add or remove rows as per requirement.

Let’s see how you can set up a new tax rate. Click the Insert Row button to get started.

Now, you will see an additional row to define tax rate. You can start entering the relevant information as explained below:

Country code

You have to specify a 2-digit country code. You can find the ISO 3166-1 alpha-2 code for all the officially assigned countries here. If you don’t want to specify a single country, you can leave this blank.

State code

Similar to the country code, you need to enter the two-digit codes for states wherever applicable. And, if you don’t want to specify a single state, you can leave the field blank as well.

Zip / post code

This field is for the zip/post code for the tax region. There are several ways you can enter zip codes for a single region. When you are entering multiple zip codes, you can separate each with a semicolon. This field also allows wildcards and numeric ranges for post codes. For example, you can add ‘90*’ to apply the tax rates to all zip codes starting with 90. Similarly, you can provide a range like 90001…90009 to apply the tax rate to all zip codes that come within the range.

City

Next, you need to specify the city or cities where this tax rate is applicable. You can select multiple cities separated by semicolon. Just like in the other cases, you can leave the field blank to apply the rate to all the cities under a country or state. 

Rate

Here is where you specify the rate of applicable tax with 4 decimal places. For example, to set a tax rate of 10%, you have to enter 10.0000 or for a rate of 12.5%, enter 12.5000.

Name

You can also enter a name for the tax rate. For example, Sales Tax, VAT, etc.

Priority

You can also choose a priority for the tax rate. You have specify only one matching rate per priority. If you are defining multiple tax rates for the same area, then you have to set a different priority for each rate. 

Compound Taxes

If you want the rate you are defining to be applied on top of all the other taxes, you can tick this checkbox. Say for example, you have an additional tax on a specific jurisdiction along with the regular sales tax. The compound tax option determines whether the additional charge is calculated based on the product price alone, or including the product price as well as the regular sales tax. Checkout the specific case in the example scenario below.

Shipping

If you want this tax rate to be applicable to shipping charges, you need to select this checkbox as well. When this is checked, the tax rate will be applied on the product price and the shipping charges. When unchecked, the tax rate will be calculated based on the product price alone.

Once you enter all the relevant values in all fields, you can save changes for the tax rate to apply for customers from that specified region.

Example scenarios

Here is an example scenario on how you can set up different tax rates on your store.

Suppose a store wants to set up different taxes for customers from different regions. For example, if you want to charge a tax rate of 6% across the US, you can set the tax rate as below.

On the cart page, when a US address is entered, this tax rate is applied.

Now, let us set a different charge for one state. Say, you want to set a tax of 7.125% for California. For this, you can add an additional tax rate for California, and set it as Priority 1. 

Now, when a customer enters the address as California, this rate will be applied instead of the common US rate of 6%. Customers will be able to see this on the Cart page. All California addresses will have 7.125% sales tax, and the rest of the US will be 6%.

Let us look at another example. Sometimes you might want to set up an additional tax rate only for a city or zip code. How will you manage this? Here is an example. Let’s set an additional tax rate of 2% for zip code 90001, and set it as priority 2.

When a customer tries to checkout from entering this zip code, the additional tax (2%) will be applied along with the sales tax rate for California, which is 7.125%.

Compound tax

Now, let us try and understand how complex tax is charged.

There are two taxes applicable for the zip code 90001. The regular California state tax as well as an additional 2% tax. First, we will keep the compound checkbox unticked. 

On the Cart page, both taxes will be applied individually based on the product cost. Sales tax 7.5% of $100 ($7.5); and Additional Tax 2% of $100 ($2)

Now, let us see what happens when compound field is checked for the additional tax.

The additional tax is charged on the compound rate of product price + state tax ($100 + $7.5) instead of only $100, which was the case in the first example. 

So the taxes will be:

  • State Tax: 7.5% of $100 = $7.5
  • Additional tax: 2% of 107.5 = $2.15

Tax on Shipping

Here is an example to demonstrate how tax on shipping will be applied. In the below example, we will set up New York state tax without tax applied on shipping.

When a customer from New York adds a product to cart, the tax is applied only on the product price ($100) and not on the shipping cost ($10).  That means the tax is only $4 (4% of $100).

Now we will tick the checkbox for tax on shipping.

On the cart, the rate will also change accordingly.


Exporting and importing tax rates

You will be able to import and export tax rates with the help of a CSV file. 

To import the tax rate to your store, simply click the Import CSV button and specify the file name and path.

The tax rates in the CSV file will be uploaded to your store. Importing tax rates could be a better option when you have to apply diverse tax rates, like that of the US.

How to delete tax rates?

Sometimes you will need to delete certain tax rates from your store. Let us see how you can do this when you have a range of tax rates already defined on your store.

To delete a tax rate, you can simply go to the tax rates and select the rows to be deleted. They will be highlighted in yellow. Click the Remove Selected Rows button, and the selected tax rates will be deleted. 

You can also delete the entire set of tax rates on your store at one go. For this, go to WooCommerce > Status > Tools and scroll down to ‘Delete WooCommerce tax rates’. Here you can click the Delete tax rate button, and all your tax rates will be deleted.

How to view tax reports?

WooCommerce offers options to help you view tax reports as well. You can view the tax reports based on date as well as by code. To view tax reports by date, go to WooCommerce > Reports > Taxes > Taxes by date. This will help you view your tax reports based on a timeline that you choose. 

You can also view the report on different types of taxes you are charging by choosing Taxes by code.

Special scenarios:

WooCommerce also offers a few customization options to set up taxes based on certain parameters.

Tax based on subtotal

You can apply a specific tax rate depending on the order subtotal. For this, you can use the below code snippet. Through this snippet, you can specify which tax rate to be applied when the order subtotal is equal to or less than $100. You can change the amount and tax rate according to your store requirement.

add_filter( 'woocommerce_product_tax_class', 'big_apple_get_tax_class', 1, 2 );
function big_apple_get_tax_class( $tax_class, $product ) {
if ( WC()->cart->subtotal <= 100 )
$tax_class = 'Special Tax Rate';
return $tax_class;
}

Tax based on user role

Similarly, you can apply a specific tax rate for certain user roles as well. Through the below code snippet, you can apply a Special Tax Rate for user role “Customer”. You can modify the user role and tax rate according to your store requirement.

<?php
/**
* Apply a different tax rate based on the user role.
*/
function wc_diff_rate_for_user( $tax_class, $product ) {
if ( is_user_logged_in() && current_user_can( 'customer' ) ) {
$tax_class = 'Special Tax Rate';
}
return $tax_class;
}
add_filter( 'woocommerce_product_tax_class', 'wc_diff_rate_for_user', 1, 2 );

Determining tax compliance for eCommerce businesses

Determining the actual tax amount to be collected is always a headache for eCommerce store owners. It is not easy for eCommerce merchants as it is for traditional merchants because customers in an online transaction can be anywhere in the world. A lot of governments in the world are taking initiatives to collect taxes depending on the location of the consumer. Gaining knowledge on each of applicable taxes and accordingly collecting tax can be a tiring matter for eCommerce merchants.

United States

Several states in the US has economic threshold that requires eCommerce merchants with annual transactions above a certain value, to collect and pay sales tax. Certain states even charge taxes on SaaS-based products as well. 

Canada

Quebec in Canada too have such an economic threshold that mandates eCommerce merchants to pay state tax if their business exceeds a certain amount.

European Union

eCommerce businesses who sell to countries in the European Union needs to collect VAT applicable to the particular country. For every invoice you make for European Union citizens, you have to apply, collect and remit applicable tax.

India

All digital transactions to Indian customers are bound by 18% GST. There is no economic threshold here. If you are selling to a consumer in India, you have to register and collect GST. However, this is not applicable in B2B transactions as the buyer is bound by the tax compliance.

Japan

Japan has an annual threshold for digital merchants to collect taxes when they sell to Japanese consumers. All those merchants who sell to Japanese customers above the threshold will have to collect taxes. 

Different countries will have different tax rules as seen in the above cases. Checkout the Quaderno article that discusses some of the updated tax rules in various countries. You have to keep yourself updated to changing rules and regulations to correctly collect and remit taxes. 

Plugins to handle sales tax

Determining the exact tax amount to be collected can be a headache for many WooCommerce store owners. In addition, filing returns on time can pose to be a yearly challenge. We will look at some of the popular plugins that will help you handle sales tax calculations. 

TaxJar

TaxJar is a great tool that will help you automate sales tax calculation, reporting and filing. It will integrate with your WooCommerce store effortlessly. You can easily connect it to your WooCommerce cart or even other selling channels like marketplaces. With the help of TaxJar Reports, you will be able to finish your returns quickly, and even file returns automatically if needed. The basic plan of TaxJar starts at a price tag of $17 per month.

Quaderno

Quaderno is another preferred solution that will help you handle taxes effortlessly. You can easily connect your store, payment gateway and shopping cart with Quaderno and manage the aspects related to tax. Quaderno will automatically calculate the required tax for each customer when they try to make a purchase on your store. Moreover, it will monitor your tax compliance, and will give you alerts when you exceed international tax thresholds. You will also get access to simple reports, which will make your tax filing extremely easy. Pricing starts at $49 per month.

Avalara AvaTax

This is another solution that you can use on your WooCommerce store to simplify your tax calculations. It also helps you with the tax filing and easy processing of returns. It is quite easy to configure and get started with AvaTax. And irrespective of where your customers are coming from, you will be able to collect tax accurately without manually setting up tax rates. Pricing plans are available from $50 per year.

Taxify

Taxify offers you hassle-free tax calculations even with the regular changes in tax rules. It will take care of your tax compliance automatically by updating rule changes in a timely manner. With Taxify, you will get access to automatic tax calculations and returns in over 14,000 varied tax jurisdictions. Different pricing options are available from $47 per month.

 

Simple Sales Tax by TaxCloud

You will be able to automatically calculate the correct tax rate for any jurisdiction in the US with the help of this tool. It will integrate with the Automated Compliance solution of TaxCloud, which is completely free. Once you set this up, you will have no need to import tax rates and tables according to different tax jurisdictions. It also offers free tax filing and access to extensive reports. You can easily update the tool when a new version is live.

Get a hang of WooCommerce Tax settings

WooCommerce tax settings itself is not complicated. It is complex tax rules that is different for different jurisdictions that is causing confusion to a lot of store owners. It is better to get help from an expert if you are selling to diverse locations. Or you can use one of the solutions we have mentioned above. Hope this article has given you a good understanding on WooCommerce tax settings. Leave a comment if you have a query.

Further reading

LEAVE A REPLY