HireWebDeveloper.net

Problem × WooCommerce

WooCommerce tax not calculating

zero tax, wrong tax, or tax only for some customers

Why it happens

Taxes are off at the wrong level. WooCommerce has a master switch (WooCommerce > Settings > General, “Enable tax rates and calculations”) and per-product taxability. A product imported with “Tax status: None” never gets taxed no matter what the tables say. Batch-imported catalogues are full of these.

Customer address vs shop base. Tax calculates from “Customer shipping address” by default; when the checkout hides the address (single-page checkouts, quote carts) or the address fails validation, tax falls back to none or to base. The rate is correct for an address the store never actually received.

Priority and compound rows. Tax tables match top-down with priority levels; a priority-1 row matching every region (“everywhere”) shadows the specific country rows below it.

Caching and sessions. A cached cart total page can show pre-tax numbers that never re-calculate per customer.

Triage

Tax test with a real address in incognito: does the cart show tax at all? Check the product: Tax status must be “Taxable” and the tax class right. Check the table order in WooCommerce > Settings > Tax, the “everywhere” trap is the single most common one. Confirm “Calculate tax based on” matches your legal reality (most regions: customer address, not shop base). If tax shows for some customers and not others, it is address validation or cache, not the tables.

When to bring us in

Tax is legal exposure, not just UX: under- or over-charging tax on real orders is a compliance problem that compounds daily. We fix tax configuration, product-level taxability across the whole catalogue, and checkout address handling properly, then verify with a test matrix across your regions. Tell us the regions you must charge correctly and we scope it in writing.