Lets face it, taxes are not fun to deal with, let alone configure in your WooCommerce store. In this guide I’ll guide you through setting up taxes for shipping cost in WooCommerce. What I won’t be doing is providing the taxes you’ll need to setup, all the data is fictional and you should check with your local government to see what kind of shipping taxes should be charged.
Setting up shipping taxes in WooCommerce
There are two basic settings that need to be configured in order to successfully charge shipping taxes in WooCommerce. Aside from those two there are others to fine-tune it, but the most important ones are;
1. Taxable status on shipping rates
When using the ‘Flat rate’ option in the WooCommerce Core shipping options there will be a ‘Tax status’ option available to set. Make sure this is set to ‘Taxable’.
If you’re using my Advanced Shipping plugin there is a similar setting available in the shipping settings section.
2. ‘Shipping’ checkbox at tax rates
This is the one that is mostly overlooked. The taxes for shipping is not always the same as the rest of the order, which is why tax rates aren’t applied automatically on shipping rates. You’ll need to specifically check the box in the ‘Shipping’ box in the Tax rates settings.
Make sure to check it in the correct section of the different taxes rates (standard, reduced, etc) according to your local rules.
If you need to compound taxes, be sure to set different priorities for each row, WooCommerce only takes one tax rate per priority, so when you have it set to ‘Compound’ and both have the priority ‘1’ it will only that the first one it finds.
Shipping tax class
The next setting to take a look at is the ‘Shipping tax class’. By default this is set to “Shipping tax class based on cart items”. You can also select any of the other tax rates if wanted. Using the default “based on cart items” setting it will charge the highest tax rate when there are multiple products in the cart with different tax rates.
In a very edge case I’ve seen only a few times it may not suffice to charge the highest tax rate for different products. In that case there is a way around to charging different taxes for different products, but this only works if you calculate the shipping per product / shipping class / category for example. This workaround includes splitting the cart into two (or more) packages which each will have its own shipping cost and taxes calculated. I’ll be posting more about this edge case in a future blog post, and link it here when available.
How shipping taxes work
There is one important thing to know about the shipping taxes and the tax settings in WooCommerce. In the screenshot above you see the first setting which allows you to configure how you will enter the prices in your store ‘Prices entered with tax’. Here you can configure if the prices you’re entered in your store are already including taxes and if the taxes should be back-calculated, or if the tax rates should be added onto the prices.
The big difference with shipping cost is that these prices are always considered as ‘excluding taxes’. This can cause a bit of confusion, especially if you’re used doing things the other way around.
If you need to set one tax rate for all shipping and you don’t want to bother with configuring this within all the other tax rules, which can be a pain, there is a good solution. You can create your own tax classes, enter your own ‘shipping tax rate’ (now save) and set the ‘Shipping tax class’ setting to the newly created ‘shipping tax rate’.
A new section for the ‘Shipping tax rate’ will appear at the top of the page and you’ll be able to setup the shipping taxes rate for all shipping options without affecting products.
I hope you’ve found this blog post helpful (if so, a comment would be appreciated :-). For questions you can find me in the comments section, I’ll try to answer all questions.