How to show prices with and without VAT on Shopify (B2B dual pricing)
Shopify shows one price, but B2B buyers need net and consumers need gross. What Shopify does natively, why it matters, the apps, and dual pricing built for B2B ordering.
If you sell to both businesses and consumers on Shopify, your pricing quietly annoys half of your buyers. Consumers expect the final price with VAT. Business buyers reclaim VAT, so they think in the price without it. Shopify shows one price to everyone, so someone is always reading the "wrong" number.
The answer is dual price display: showing the price with and without VAT at the same time. This guide covers what that means, why it matters (including the law), what Shopify can and cannot do on its own, the apps that add it, and a faster approach built for how B2B buyers actually order.
What dual price display means
Dual price display means showing two figures for the same product together, say €100 without VAT next to €120 with it. The same two numbers go by a pile of different names, which is where a lot of the confusion starts:
- Net, ex VAT, tax-exclusive, excl. VAT: the price before VAT. What B2B and trade buyers work with.
- Gross, inc VAT, tax-inclusive, incl. VAT: the final price with VAT included. What consumers must see.
- VAT amount: the tax portion itself, the difference between the two.
One quick disambiguation. "Dual pricing" sometimes refers to showing a cash price versus a card price (a US payment-surcharge idea). That is unrelated to VAT. In this article, dual price display always means net and gross shown together.
Why showing both prices matters
This is not just a nicety. For European and UK stores it sits on top of consumer-protection law.
- Consumers must see the price with VAT. The EU Price Indication Directive (98/6/EC) requires the selling price shown to consumers to include VAT and all taxes, clearly and unambiguously. The UK advertising code has the same effect: quoted consumer prices must include non-optional taxes.
- Business prices are normally shown net. VAT-registered businesses reclaim the VAT they pay, so they budget and compare quotes in net terms. Ex VAT pricing is accepted for a business audience if it is clearly labelled for business and the VAT rate is stated.
- Mixed stores must show both, with equal prominence. If you show an ex VAT price to a general audience, the inc VAT price has to be at least as visible. That rule effectively pushes hybrid B2B and B2C stores toward dual price display.
There is a psychology angle too. A B2B buyer looking at a gross-only price has to do mental math on every line to get back to their real, reclaimable cost, and a consumer looking at a net-only price feels ambushed at checkout. Show the number each audience thinks in, and the store simply reads as correct.
Cross-border adds one more wrinkle: VAT rates differ by country (roughly 17 to 27 percent across the EU), so a correct gross figure is not a single fixed number. Any solution that hardcodes one rate is wrong the moment a shopper from a different country arrives.
Can Shopify show prices with and without VAT natively?
Short answer: not both at once. Shopify gives you a single lever, not a pair of prices.
- By default, prices are shown without tax and VAT is added at checkout.
- You can turn on "include tax in prices", and the shown price becomes tax-inclusive.
- With Markets, Shopify can switch the displayed price by the shopper's country, so EU and UK visitors see inclusive prices and, say, US visitors see exclusive. But it is still one resolved price per shopper, not two side by side.
Two things are worth knowing in 2026. First, native B2B (company accounts, company locations, B2B catalogs and contextual pricing) is no longer limited to Shopify Plus; since April 2026 it is available on Basic, Grow and Advanced too. That helps you show the right single price to a logged-in business buyer, but it still does not show net and gross together. Second, Shopify does not expose a per-product tax rate through its API, so even reading Shopify's own tax data does not hand you the rate needed to compute the other figure cleanly.
The clearest proof that the native gap exists is the entire category of apps that exists only to fill it.
The DIY theme route, and why it breaks
Developers often hand-roll dual display in the theme: divide or multiply the price by a hardcoded multiplier (for example by 1.2 for 20 percent VAT) and print both numbers, sometimes gated by a "wholesale" customer tag. It looks fine in a demo and then quietly breaks:
- A hardcoded rate is wrong for every other country (19, 21, 23, 27 percent), so the legally required gross figure is silently misstated.
- There is no native "price excluding VAT" filter, so you are reverse-engineering tax the platform already calculated elsewhere, which invites rounding drift against the real checkout total.
- It breaks across theme updates, multi-currency, Markets and B2B catalogs, and rarely covers collection, search and cart consistently.
For a one-country hobby store it can limp along. For a real B2B catalog it is a maintenance trap.
Shopify apps for dual price display
Because the platform leaves this gap, a whole category of storefront apps exists to fill it. Most do the same core job: they render a second price on product, collection and cart pages, either as a toggle or side by side, and most are focused on EU VAT. Where they differ is in the details, things like VAT number validation, per-country rules, translated labels and how they treat tax-exempt buyers.
They share one trait worth knowing before you choose one. In almost every case you configure and maintain a rate or a rule, and the app then shows a second price on a product page or nudges the number with a discount. Most do not read the live tax rate from Shopify for you, and they live on product and collection pages, not on the screen where B2B buyers actually place their bulk orders.
A faster way: dual pricing in the B2B order grid
B2B buyers rarely shop one product page at a time. They order from a list: dozens or hundreds of SKUs, entering quantities, watching a total. That is exactly where net and gross belong, and it is where Quick Order B2B Grid puts them.
Quick Order B2B Grid turns your catalog into a spreadsheet-style ordering screen. With VAT price display switched on, a logged-in business buyer sees three columns across the whole catalog, Price excl. VAT, Price incl. VAT and VAT, plus two equally prominent totals in the footer, net and gross, with a VAT breakdown. Regular customers keep a single price.
One point on scope, so there are no surprises. The dual prices show up on the quick order page, the ordering grid itself, not on individual product pages or collection pages. That is deliberate. The quick order page is the one screen where a business buyer builds a bulk order and watches a total add up, so it is where seeing net and gross side by side actually changes what they do. If you also want VAT-inclusive and exclusive prices scattered across every product and collection page, that is the job of the display apps above; Quick Order B2B Grid focuses it where the ordering happens.
What makes it different from the app niche above:
- No tax rate to enter, ever. Instead of asking you to build and maintain a VAT table, it reads the rate straight from Shopify using a compute-only calculation that creates nothing. The price you show is the tax Shopify would actually charge. Nothing to keep in sync.
- Accurate, not estimated. The rate and the totals come from the same calculation Shopify uses at checkout, and the footer reconciles to a real order calculation as quantities change, so the totals match the cart to the cent, including B2B catalog prices and quantity breaks.
- Set up in one toggle. Turn on "show net + gross prices" and grant access once. No setup wizard, no mapping countries to rates.
- Honest about tax. For reverse-charge cross-border B2B, tax-exempt buyers, zero-rated and non-taxable products, it shows a clear label instead of a gross figure the buyer will never pay.
- Targeted and safe. Only shown to logged-in buyers who belong to a B2B company, verified so nobody sees another company's prices, and it falls back to a single price on any error. The display never changes what checkout charges; checkout stays authoritative.
In other words: the same job the VAT apps do, but where B2B actually buys, with zero rate configuration and totals that match the real order.
Frequently asked questions
Can Shopify show a price with and without VAT?
Not both at once natively. Shopify can show a price including VAT, or excluding VAT, or switch between them by country, but showing net and gross together needs theme code or an app.
Do I need Shopify Plus for B2B pricing?
No longer. Since April 2026 native B2B is available on Basic, Grow and Advanced as well as Plus. Native B2B still shows one price per buyer, so dual display is a separate capability.
How do I show ex VAT prices to business customers?
Either tag business customers and use native B2B catalogs to show them the appropriate price, or use a dual-price solution so they see net and gross together. If you show ex VAT to a general audience, the inc VAT price must be shown with equal prominence.
What is the difference between net and gross price?
Net is the price before VAT, what businesses budget in and reclaim. Gross is the final price with VAT included, what consumers pay.
Is it legal to show prices without VAT?
To consumers, no: the price shown must include VAT. To a clearly identified business audience, net pricing is accepted if the VAT rate is stated, and mixed audiences must show the inc VAT figure with equal prominence.
Related guides
How to speed up wholesale ordering on your store (5 proven methods)
B2B buyers reorder, they don't browse. Five proven methods to speed up wholesale ordering, a one-page order grid, CSV & SKU import, barcode scanning, saved templates and account pricing, with a before/after and FAQ.
Read guide GuideB2B ordering best practices for e-commerce stores in 2026
What wholesale buyers expect from online ordering in 2026 and the B2B ordering best practices that deliver it: one-page bulk ordering, self-service reorder, account catalogs and pricing, accurate live stock.
Read guide