How to Show Tax-Exempt Prices to B2B Customers Before Checkout in Shopify

B2B buyers see gross prices on your Shopify store. Validate their VAT number on the storefront and show net prices before checkout.

TL;DR: Shopify shows the same price to everyone. B2B customers with a valid VAT number want to see net prices before checkout, not discover the discount at the last step. The EU Tax Exemption app lets B2B buyers validate their VAT number on your storefront and see tax-exempt pricing before they even add items to cart.

The Problem: B2B Buyers See Consumer Prices

If you sell B2C and B2B from the same Shopify store (and most EU merchants do), you’ve hit this wall: Shopify has one price display setting. Either all prices include VAT, or none of them do.

EU consumer law requires VAT-inclusive prices for B2C. So you set “prices include tax” and move on. But now your B2B customers from other EU countries, the ones who should pay net prices via reverse charge, see gross prices everywhere. They don’t find out they’re exempt until checkout, if the exemption works at all.

That’s a conversion problem. A German manufacturer browsing your store sees €119 instead of €100. They might not even get to checkout because the price looks uncompetitive compared to your competitors who show B2B pricing.

Why Shopify Doesn’t Solve This Natively

Shopify’s native VAT validation only kicks in at checkout. There’s no mechanism to show different prices on product pages, collection pages, or the cart based on whether a visitor has a valid VAT number.

Shopify does offer “dynamic tax-inclusive pricing” which adjusts prices based on customer location. But that’s about geography, not B2B status. A German B2C customer and a German B2B customer see the same price. Location-based pricing doesn’t solve the B2B exemption problem.

Shopify Plus merchants with the B2B channel can set separate catalogs for wholesale customers. But that requires customers to have a B2B account, log in through a separate flow, and operate in a completely different buying experience. For merchants who serve both B2C and B2B through one storefront, that’s overkill.

The Solution: Storefront VAT Validation Widget

The approach that works for mixed B2C/B2B stores is a storefront widget where visitors can enter their VAT number before browsing. Once validated, the store displays net prices for the remainder of their session.

Here’s how it works with the EU Tax Exemption widget:

  1. B2B visitor sees a small widget on your store (product page, cart, or anywhere you place it)
  2. They enter their VAT number
  3. The number is validated against VIES in real time
  4. If valid, prices update to show net amounts
  5. At checkout, the tax exemption is applied automatically
  6. The validated VAT number is saved on the order for your invoicing software

The B2C experience stays unchanged. Consumers see VAT-inclusive prices as required by EU law. Only validated B2B buyers see net prices.

Where to Place the Widget

The widget is flexible. Most merchants place it in one or more of these locations:

  • Product pages: Right below the price. B2B buyers see the net price immediately after validating
  • Cart page / mini-cart: Before checkout, so the price difference is visible when reviewing the order
  • Header or announcement bar: Persistent across pages, one-time validation for the whole session
  • Dedicated B2B landing page: If you have a wholesale section, the widget greets visitors there

You can position the widget exactly where you want it using CSS selectors or the theme editor. No coding required for most themes.

What About VAT Toggle / Price Switcher Apps?

There are apps that add a “show prices excluding VAT” toggle button to your store. These let any visitor flip between gross and net prices. That’s a different solution for a different problem.

A toggle doesn’t validate anything. Any visitor can flip to net prices. That might work for informational purposes, but it doesn’t verify the buyer is actually an EU business, doesn’t apply the tax exemption at checkout, and doesn’t store the VAT number on the order for your accounting.

The VAT validation widget does all three: verification, exemption, and data capture. The toggle just changes what’s displayed.

Tax-Included Pricing and Cart Transform

There’s a technical complication with tax-included pricing in Shopify. When you mark a customer as tax-exempt and your prices include tax, Shopify should deduct the VAT. But the behavior isn’t always consistent, especially with express checkout options and certain payment methods.

For Shopify Plus merchants, cart transform functions provide a more reliable way to remove VAT at checkout. The cart transform intercepts the order before payment and applies the correct net pricing regardless of which checkout method the customer uses.

For non-Plus merchants, the standard tax exemption flow handles most cases correctly. The widget validates the number, tags the customer, and Shopify’s tax engine does the calculation.

The Conversion Impact

Showing net prices to B2B buyers isn’t just about accuracy. It’s about winning the sale. Professional buyers compare prices across suppliers. If your competitor shows €100 net and you show €119 gross, you look 19% more expensive, even though the final price is the same.

B2B buyers shouldn’t have to guess whether they’ll get a tax exemption. They should see their price from the moment they land on your store. That’s what the storefront widget delivers: price transparency before checkout, backed by VIES validation.

Check the Shopify VAT app comparison to see how different solutions handle pre-checkout pricing.