How to set up tax in WooCommerce
WooCommerce can calculate tax automatically — what rate to charge whom is a question for an accountant, not a setting.
This guide covers the WooCommerce settings that calculate and display tax at checkout. It does not, and cannot, tell you what rate to charge or which customers to charge it to — that depends on where your business is registered, where your customers are, what you are selling, and rules that differ by jurisdiction and change over time. Confirm your specific obligations with an accountant before you configure a single rate. What follows is the mechanical setup once you know what those rules are.
Tax rules — including whether you need to register at all, what counts as taxable, and what rate applies — depend on your jurisdiction and your specific business circumstances. Get this from an accountant or your local tax authority, not from a hosting knowledgebase or a plugin's default settings.
Turning on tax calculation
Under WooCommerce > Settings > General, there is a checkbox to enable taxes and tax calculation. Turning this on adds a separate Tax tab to the settings, where rates and behaviour are configured. Leave it off only if you have confirmed with an accountant that your store genuinely has no tax obligation to collect — most stores selling to the public will need it on.
How WooCommerce structures tax
| Setting | What it controls |
|---|---|
| Tax classes | Groups of products taxed differently from each other — a "standard" class and a "reduced rate" or "zero rate" class are common, if your jurisdiction treats some product categories differently. |
| Tax rate tables | The actual percentage charged per class, per country, state or postcode. You add rows here once you know the correct rates to enter. |
| Prices entered with or without tax | Whether the price you type into a product is treated as already including tax or as the pre-tax price, which WooCommerce then adds to at checkout. |
| Display settings | Whether prices shown on the shop and checkout include or exclude tax, which can differ from how you entered them. |
The "prices entered with or without tax" setting is worth getting right before adding many products — changing it after the fact can shift every product's effective price and is easy to get wrong retroactively across a large catalogue.
Where rates actually come from
WooCommerce itself does not know what to charge — it only calculates and displays whatever rates you enter into its rate tables, matched against the customer's shipping or billing address depending on your settings. Some accounting or tax integration plugins can populate and update rate tables automatically for certain jurisdictions, which is worth investigating if your business sells across multiple regions with different rules, but the responsibility for confirming those rates are correct and current stays with you and your accountant regardless of which tool populates the table.
Tax and shipping addresses
Whether tax is calculated based on the customer's shipping address or their billing address is itself a rule that varies by jurisdiction and by what you are selling. Set up shipping zones before tax, since many tax configurations key off the same address data, and confirm with your accountant which address should drive the calculation for your situation.
Digital products and services
Digital goods and services are frequently taxed under different rules from physical products, sometimes based on the customer's location rather than the seller's. If you sell digital products, downloads, or subscriptions, this is a specific question worth raising directly with your accountant rather than assuming the same configuration used for physical goods applies.
Testing your tax setup
- Place a test order with an address in each region you have configured a rate for, and confirm the amount charged matches what you expect.
- Check the tax amount is shown clearly to the customer before they complete payment — an unexpected tax appearing only at the final step is a common cause of abandoned checkouts.
- Confirm invoices and order confirmation emails show the tax breakdown correctly, since this is often what a customer or your accountant will actually check later.
Tax rates and rules change. A configuration that was correct when the store launched is not guaranteed to stay correct indefinitely, so build a periodic check with your accountant into how you run the store rather than treating tax setup as a one-time task.
Once shipping and tax are both configured and tested, the remaining checkout setting most stores need is a currency strategy if you sell beyond one region — see selling in more than one currency.
Related reading
Shipping is zones and rates, but the order you set them up in decides whether a customer sees a price at all.
Does my store need to be PCI compliant?Almost certainly yes in some form, but how much work that means depends entirely on whether card data ever touches your own server.
How to sell in more than one currencyMulti-currency is not one setting — it touches pricing, payments, tax and your own bookkeeping all at the same time.
How to set up WooCommerceInstalling the plugin is the easy part — this is the order to configure it in so nothing important gets skipped.