
For WooCommerce VAT in the UK, most stores selling to the public should switch taxes on, enter prices inclusive of tax, set up a standard 20% rate plus separate classes for any 5% or 0% products, and display prices including VAT in the shop and checkout. Stores that also sell to trade buyers or ship abroad need extra decisions on top. In our view, the harder part is deciding which rate applies to which product.
Key takeaways
- Prices shown to UK consumers must include VAT under the Price Marking Order, and the guidance confirms this covers online sales.
- In WooCommerce, choose "Yes, I will enter prices inclusive of tax" if you price for consumers, so your round numbers stay round.
- Use tax classes to apply 20%, 5% and 0% rates to the right products; HMRC's guide to rates is the place to check each product.
- The core Tax screen offers no per-customer exemption or trade price display option, so trade pricing needs an extension or custom code.
- Goods exported from Great Britain can be zero-rated only if you meet HMRC's conditions and keep the evidence.
Which UK VAT rates does a WooCommerce store need?
HMRC's VAT rates page lists three rates: the standard rate of 20% for most goods and services, the reduced rate of 5% and the zero rate, each for specific goods and services listed by HMRC.
The rate depends on the product, and sometimes on how it is sold or presented. HMRC's guide to rates of VAT on different goods and services lists categories with notes on conditions, and says itself that it is not a complete list. Confectionery and hot takeaway food are standard-rated, for example, while books and children's clothes are zero-rated. A store that sells a mix, such as a gift shop with books, sweets and cards, needs more than one rate.
Build a simple table before you touch WooCommerce: every product category down one side, the VAT rate and the HMRC reference next to it. That table becomes your tax class plan and is useful evidence of how you decided.
Step by step: the core WooCommerce tax settings
The WooCommerce tax documentation sets out where each option lives. Here is what we choose for a typical UK store selling to the public.
- Switch taxes on. Go to WooCommerce, Settings, General and tick "Enable tax rates and calculations" under Taxes and coupons. A Tax tab then appears.
- Prices entered with tax: choose "Yes, I will enter prices inclusive of tax". You type £24.00 and the customer pays £24.00, with WooCommerce working out the VAT inside it.
- Calculate tax based on: the options are customer shipping address (the default), customer billing address or shop base address. For a store that ships only within the UK, any of these gives the same UK rate once your rates are set up. If you ship abroad, leave it on shipping address so overseas orders can be treated differently.
- Shipping tax class: the default is "Shipping tax class based on cart items". Check with your accountant how your delivery charges should be treated, then choose to match.
- Rounding: the checkbox "Round tax at subtotal level, instead of rounding per line" changes pennies on multi-item orders. Pick one approach and keep it consistent with your accounting software.
- Display prices in the shop and display prices during cart and checkout: set both to "Including tax" for consumer sales.
- Price display suffix: optional text such as "inc. VAT". You can also show both prices using the placeholders {price_including_tax} and {price_excluding_tax}, which is handy if you sell to trade as well.
- Display tax totals: "As a single total" or "Itemized". Itemised is clearer if a basket can contain more than one VAT rate.
If your display and entry settings conflict, WooCommerce shows a warning with a "Use recommended settings" button. Read it rather than dismissing it.
Why VAT-inclusive prices matter for UK consumers
The government's guidance on the Price Marking Order 2004 defines the selling price as the final price including VAT and all other taxes, and it says the Order covers online sales as well as physical shops. It also says the Order is limited to sales between traders and consumers.
So for a consumer store, the price on the product page should be the price including VAT. Entering prices inclusive of tax in WooCommerce is the natural fit: you set the price customers see, and the VAT is calculated from it. If you enter prices excluding tax instead, the shop price becomes whatever 20% on top happens to produce, which gives awkward figures like £23.99 × 1.2 = £28.79.
Trade-only stores are outside the Order, so a trade-only shop can choose to show prices excluding VAT. Our guide to building a B2B ecommerce website covers trade pricing more widely.
Setting up tax classes and rate tables
Tax classes are how WooCommerce applies different rates to different products. The Standard class exists by default and cannot be removed. You add others, such as "Reduced rate" and "Zero rate", in the Additional tax classes box on the Tax tab, and each class gets its own rate table.
What goes in each rate table
Each row has the same columns: country code, state code, postcode, city, rate %, tax name, priority, compound and shipping. For a UK-only store a single row per class is usually enough.
| Tax class | Country code | Rate % | Tax name | Shipping |
|---|---|---|---|---|
| Standard | GB | 20.0000 | VAT | Ticked if your shipping is taxed at this rate |
| Reduced rate | GB | 5.0000 | VAT | Usually left to the shipping tax class setting |
| Zero rate | GB | 0.0000 | VAT | Usually left to the shipping tax class setting |
Leave state, postcode and city empty so the row applies across the UK. Name the tax "VAT" so it reads properly on the checkout and invoices.
Assigning classes to products
On each product's General tab, set Tax status to "Taxable" and choose the Tax class. Check this carefully: a product left on the Standard class by mistake overcharges customers, and one wrongly set to zero undercharges you.
For large catalogues, the rate tables can be imported and exported as CSV, which includes a tax class column.
Shipping, discounts and other checkout details
A few details trip up otherwise correct setups.
- Shipping tax. The default setting bases shipping tax on the items in the basket. Whether that suits you depends on how your accountant says delivery should be treated for your mix of goods. Decide, set it, and test a mixed basket.
- Coupons. Test a percentage coupon and a fixed coupon on a basket with both 20% and 0% items and check the VAT on the order matches what your accountant expects.
- Rounding. Compare a few WooCommerce orders with the invoices your accounts software produces. If they differ by pennies, compare the rounding method each system uses.
- Invoices. If customers need VAT invoices, check your invoice plugin shows your VAT number, the rate and the VAT amount.
- Plugins that change prices. Dynamic pricing, bundles and subscriptions plugins all touch tax. Test each one with your tax settings after installing or updating it.
If orders sync to accounting software, test that the VAT on each order arrives with the right rate. Our wider guide to ecommerce website development in the UK covers integration planning.
VAT for trade customers: B2B pricing in WooCommerce
Many UK stores sell to both consumers and businesses. Two things need separating here.
First, do not assume a trade sale is VAT-free. HMRC's rates guide says the rate can depend on who supplies or buys the goods and the evidence you hold, so ask your accountant how your trade sales should be treated. What trade customers usually want is prices shown excluding VAT, trade discounts and a proper VAT invoice.
Second, the options on WooCommerce's core Tax screen, listed above, include nothing to make an individual customer exempt from tax or to show one set of prices to trade and another to consumers. If you need that, you need an extension or custom code that changes the display or the tax for logged-in trade accounts. The price display suffix with both inclusive and exclusive placeholders is a simple start: everyone sees both figures.
Where a store has specific rules, such as approved trade accounts, price lists by customer group, or zero-rating that only applies with evidence, we usually build a small custom WooCommerce plugin rather than stacking several general plugins. Our web development service covers this kind of work.
Selling abroad: exports and zero-rating
HMRC's VAT Notice 703 on goods exported from the UK says goods sent from Great Britain to a destination outside the UK, including the EU, can be zero-rated if you meet all the conditions in the notice. The key ones for an online shop are:
- The goods must leave the UK and you must get evidence of export within 3 months of the time of supply for a direct export.
- You need evidence of the supply, such as an order, invoice or proof of payment.
- You need evidence of export: either an official customs declaration with departure confirmation, or commercial transport documents.
- Records must be kept for 6 years.
- If you miss the time limit or lack valid evidence, you must account for VAT at the UK rate.
Northern Ireland has different rules for movements to the EU, which the notice points to separately.
In WooCommerce, the usual approach is to keep tax based on the shipping address and add rate rows for non-UK destinations at 0% only once you are confident your shipping process produces the export evidence HMRC requires. Talk to your accountant before setting this up: a zero rate on the checkout does not by itself make the sale zero-rated.
Frequently asked questions
Should WooCommerce prices include VAT in the UK?
For sales to consumers, yes. The Price Marking Order guidance defines the selling price as including VAT and all other taxes and confirms it covers online shops. Set "Prices entered with tax" to inclusive and display prices including tax. Trade-only stores fall outside the Order and can choose to show prices excluding VAT.
How do I add the 5% VAT rate in WooCommerce?
On the Tax tab, add a class such as "Reduced rate" in Additional tax classes and save. Open that class's rate table, add a row with country code GB and rate 5, and name it VAT. Then edit each 5% product and set its Tax class to Reduced rate.
Why is WooCommerce showing the wrong VAT amount?
The usual causes are products left on the wrong tax class, prices entered exclusive when you meant inclusive, a missing GB row in a rate table, rounding settings that differ from your accounts software, or a pricing plugin changing totals. Test a basket with one item from each class to find which one.
Can WooCommerce remove VAT for business customers?
Not from the core Tax screen, which has no per-customer exemption option, so you would need an extension or custom code. Whether any trade sale should be treated differently is a question for your accountant; what trade buyers usually need is ex-VAT price display and a valid VAT invoice.
Do I need to charge VAT if my store is not VAT registered?
Leave WooCommerce taxes switched off until you are registered, and check the position with your accountant. HMRC's VAT registration page says you must register if taxable turnover over the last 12 months goes over the £90,000 threshold, or you expect it to in the next 30 days. Set up the tax settings before your registration date.
Get your store's VAT set up properly
Start with a product-by-product rate plan checked against HMRC's guidance, then apply the settings above and test real baskets before launch. If your store mixes rates, sells to trade or ships abroad, the setup is worth getting reviewed once rather than fixing order by order.
If you would like us to configure or audit your WooCommerce tax setup, or build trade pricing that fits how you sell, start a project or contact our team.