# VAT miscalculated on WooCommerce

> Wrong VAT on WooCommerce almost always comes from a setting, not a bug: the calculation depends both on the address base chosen under WooCommerce > Settings > General and on the rate table configured under WooCommerce > Settings > Tax. The mix-up I see most often is confusing the "prices include tax" setting with the rates themselves, two separate things that interact badly if one gets overlooked.

- Source canonique : [https://allaux.fr/en/wordpress-woocommerce/problemes/tva-mal-calculee](https://allaux.fr/en/wordpress-woocommerce/problemes/tva-mal-calculee)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## Direct answer

> Open WooCommerce > Settings > Tax and read two settings together, never apart: whether prices are entered inclusive of tax, and which address the calculation is based on — shipping, billing or shop base. Then check the tax class on the offending product, which an import often leaves on Standard when it belongs on a reduced rate.

## How I go about it

1. **Checking the calculation base** — I look at WooCommerce > Settings > General > "Calculate tax based on": shipping address, billing address, or shop base address. This choice changes the rate applied as soon as the customer isn’t in the same zone as the shop.
2. **Checking the tax-inclusive/exclusive setting** — I check "Do prices include tax?" separately from the rate table: a price entered inclusive with a badly set rate produces a displayed VAT amount that looks wrong even though each setting seems fine on its own.
3. **Checking tax classes per product** — A tax class (standard, reduced rate, zero rate) applies per product. An item left on the wrong default class silently uses the wrong rate, often after an import or a quickly created listing.
4. **Testing with caching off** — I recheck the cart and checkout with caching disabled: a cached totals fragment can show a stale VAT amount even after the settings have been fixed.
5. **Identifying a need for specific compliance** — Selling digital goods, crossing EU distance-selling thresholds: I check whether the situation goes beyond what WooCommerce core calculates natively and needs a dedicated compliance extension.

## What I handle regularly

- The VAT shown in the cart doesn’t match the amount on the product page
- Some products show no VAT at all, with no obvious explanation
- The rate applied changes with the customer’s address in a way that doesn’t seem logical
- VAT still shows the old rate after a change in WooCommerce > Settings > Tax
- I sell in France and abroad and I’ve lost track of which rate applies where

## Two settings that often get confused

WooCommerce separates two decisions that look related but aren’t: how a price is entered ("Do prices include tax?", under WooCommerce > Settings > General) and the rate actually applied (the table under WooCommerce > Settings > Tax). Entering tax-inclusive prices while leaving a rate at zero, or the reverse, produces a displayed amount that looks inconsistent even though each screen, taken on its own, seems correctly filled in. The most visible case is doubled VAT: prices typed tax-inclusive while the setting says prices are entered exclusive of tax are treated as net amounts, and WooCommerce adds tax on top. The customer pays VAT twice without a single rate being wrong.

On top of that come tax classes: standard, reduced rate, zero rate. Every product is tied to one of them, and a product left on an unsuitable default class silently applies the wrong rate, with no error surfacing anywhere in the WordPress admin.

Finally, WooCommerce core doesn’t handle certain special cases: selling digital goods with their own VAT rules, or crossing intra-EU distance-selling thresholds (the OSS scheme), needs a dedicated tax compliance extension, not a simple rate tweak.

## What’s a setting, what needs development

> Fixing a rate, a wrongly assigned tax class, or the inclusive/exclusive setting is configuration work, within reach of a careful merchant. Setting up an intra-EU VAT regime or a sector-specific tax rule is development work, usually through a dedicated extension.

## Worth reading too

- **Shipping costs not applying** — Another checkout calculation often disturbed by the same zone settings. ([/wordpress-woocommerce/problemes/frais-de-port-ne-s-appliquent-pas](/wordpress-woocommerce/problemes/frais-de-port-ne-s-appliquent-pas))
- **WooCommerce payment problem** — A wrong total caused by VAT can also block payment confirmation. ([/wordpress-woocommerce/probleme-paiement](/wordpress-woocommerce/probleme-paiement))

## FAQ

### How do I know if my prices are set up inclusive or exclusive of tax?

Under WooCommerce > Settings > General, the "Do prices include tax?" field states it directly. You then need to check that how you enter your product prices actually matches that setting.

### Why does VAT change depending on the customer’s address?

Because "Calculate tax based on" can be set to the shipping or billing address rather than the shop’s address, which is correct for selling across zones but surprising if you weren’t expecting it.

### Do I need to handle VAT myself for sales across Europe?

WooCommerce calculates a rate if you configure one, but filing and respecting OSS scheme thresholds remains your responsibility, possibly with a dedicated extension to automate the per-country calculation.

### I changed a rate but nothing moved, why?

Often because a page or cart-fragment cache is still showing the old amount. Clearing the cache after any rate change is essential.

### Why does VAT appear doubled on my orders?

Almost always because prices were entered tax-inclusive while WooCommerce is set to exclusive entry: it adds VAT to an amount that already contained it. The fix is under WooCommerce > Settings > Tax, aligning the entry setting with how prices were actually typed.
