I have some customers who pay VAT and some who do not.
At the moment my prices are stored as Gross and VAT is displayed as an amount which has been charged. If I make the customer VAT exempt they are still charged the same value as the Gross price, but vat is then displayed as 0.
I have been advised the below which is incorrect as there is no option to uncheck “All prices include tax”.
Go to: Settings > Taxes and Duties
Under each region (e.g., EU, UK, etc.),
Uncheck “All prices include tax”
This tells Shopify your prices are net, and it will add tax on top based on the customer’s location.
Product Variant Setup:
Leave “Charge tax on this product” checked.
Enter your net price for each product.
For VAT-exempt customers:
You can tag them (e.g., exempt) and use Shopify Plus scripts or third-party apps like Exemptify (if not on Plus) to manage VAT exclusions.
you’re correct—Shopify doesn’t allow unchecking “All prices include tax” in regions like the UK/EU where VAT-inclusive pricing is mandatory. For VAT-exempt customers, you’ll need Shopify Plus scripts or a third-party app like Exemptify to properly adjust the pricing.
If you’d like help setting this up or want me to help create a custom app for your store, feel free to reach out to me. Thanks!
Shopify does not support this feature now or in the future. Many of our customers encountered this issue, so we decided to build this app a few years ago. Since then, we have fully optimized it. It now includes logging, post-order validation to check whether the shipping address matches the VAT number, storing the VIES-verified address, and much more. I hope this helps you move forward. This is all part of our EU Tax Exemption app.
The neat solution to catering for both VAT and non-VAT customers without restructuring your entire store is to store prices as gross and then remove VAT for appropriate customers based on logic rather than converting to net pricing. A storefront function or a light app that subtracts the VAT from the gross price on the checkout page for those customers that are exempt. This removes the need to use the “All prices include tax” toggle, and keeps your public prices correct, while allowing exempt customer to automatically see the reduced total.
This behavior happens because Shopify does not recalculate prices when VAT is already included — it only decides whether to charge tax at checkout.
So if your prices are stored as gross (tax-inclusive):
VAT-exempt customers will still pay the same total
Shopify shows VAT as 0, but doesn’t strip VAT out of the listed price
There’s no native “remove VAT everywhere” toggle
That’s why the suggestion to uncheck All prices include tax only works if your store is truly set up for net pricing — and in many EU/UK configurations that option isn’t available.
What actually works
Net pricing setup
Enter prices as ex-VAT
Shopify adds VAT for taxable customers
VAT-exempt customers automatically see the net price
This is usually the cleanest model, but it changes how prices appear to retail customers.
Gross pricing with separate pricing logic
If you must keep VAT-inclusive pricing, you need different pricing rules/catalogs for exempt vs taxable customers
Draft orders and manual orders are always harder to sync in this model
Simply tagging a customer as exempt won’t make Shopify recompute tax-inclusive prices across all flows; tags/scripts mostly control whether tax is charged, not price composition.
A note on tools
We handle a similar exemption lifecycle with TaxWisp, but it’s US-focused (sales tax exemption certificates, not EU VAT). The underlying principle is the same: exemption needs to be handled as a customer-level state, not per order. In EU VAT setups, look for tools or workflows that manage VAT exemption at checkout and customer level, rather than trying to adjust prices per order.
This usually happens when prices are stored as tax-inclusive (gross pricing).
In that setup, simply marking a customer as VAT exempt may remove the VAT line, but the final product price can still remain unchanged unless the exemption flow recalculates the actual totals correctly.
For EU B2B stores with mixed VAT/non-VAT customers, the important part is: