Shopify B2B VAT Validation: Checkout Field vs Company Location Tax ID

Shopify validates VAT numbers in the regular checkout, not the B2B one. Here’s what that means for wholesale sellers.

TL;DR: Shopify B2B VAT validation is split in two. The regular checkout validates VAT numbers in real time, but Shopify’s own docs say the feature “isn’t currently available for B2B-specific checkouts”. If your wholesale buyers order through company accounts, their VAT number lives on the company location, where it’s checked once, when you enter it, and the tax exemptions are whatever you set by hand. Our B2B Account Approval EU app closes that gap: it validates the number when a buyer applies, before you ever create the company, and keeps re-checking it afterwards.

Shopify’s VAT validation got plenty of attention when it launched natively, and it earned it. A business customer types a valid number at checkout, the VAT drops off, reverse charge applied, everyone happy.

Then merchants switched on Shopify’s B2B features. Companies, company locations, net terms, B2B catalogs. And noticed the validated VAT field was gone.

One VAT number, two very different homes

In a Shopify store, a buyer’s VAT number can live in two places, and they behave nothing alike.

The checkout field

This is the native validation everyone talks about. A business customer in guest checkout or Shop Pay enters their VAT number, Shopify checks it against VIES in real time, and a valid result removes the VAT under the reverse charge. An invalid or unverifiable number means VAT stays on the order, and there’s no manual override.

It requires Shopify Tax and a fulfillment location in the EU, and it covers EU orders crossing a border, plus EU to UK. Within those lines, it works well.

The company location tax ID

This is the B2B side. When you set a wholesale buyer up as a company, you enter their VAT number on the company location yourself. On Shopify Tax with EU or UK locations, the field is called VAT number and Shopify validates it at the moment you enter it.

The tax exemptions for that location are a separate thing entirely: you pick them from a list. They are not derived from the number, and they keep applying for as long as they’re set.

The sentence in Shopify’s docs that matters

From Shopify’s help pages, word for word: “VAT validation isn’t currently available for B2B-specific checkouts.”

In practice that means a buyer checking out through their company account never gets the type-a-number-and-watch-VAT-drop flow. Their taxes follow whatever you configured on their company location. The number on file might be perfect, mistyped or long expired: the B2B checkout isn’t looking at it.

Why this hits your biggest customers first

The buyers you move into company accounts are your best ones. Repeat orders, bigger volumes, sometimes payment terms. Exactly those customers get a VAT setup that was checked once, on the day you created the location, and then runs on trust.

And numbers go stale quietly. Companies deregister, merge, switch legal entities. Your store has no reason to mention it: the exemption you set keeps applying, order after order.

That’s an uncomfortable audit story. Zero-rated invoices for two years on a number that died in year one, and the evidence of your diligence is a screenshot you maybe took at setup. We’ve covered how to prove VAT exemptions to EU tax authorities and how to document repeat orders from tax-exempt customers separately. Both get much harder when nothing was ever logged.

Validation still doesn’t answer the identity question

Even where Shopify does validate, at checkout or when you enter a number on a location, “valid” means the number is registered. Not that it belongs to the buyer in front of you. VIES doesn’t check whether a VAT number matches the company name and invoice address, and for German numbers it won’t even show you a name to compare: we’ve written up the German USt-IdNr. case separately.

Your real options as a wholesale merchant

  • Keep B2B buyers in the regular checkout. They get validated VAT handling, you give up company accounts, B2B catalogs and payment terms. For a handful of small wholesale buyers, honestly fine.
  • Run the checks by hand. Validate in VIES before you create each company location, save the result somewhere, and put a recurring reminder in your calendar to re-check. Works at ten companies. Painful at a hundred.
  • Put an approval flow in front of your B2B setup. Validate when the buyer applies, approve from a queue, re-check automatically on a schedule. That’s the job our app was built for.

Checking at the door instead of at checkout

B2B Account Approval EU gives your wholesale program a front door. Buyers apply through a signup form with their company details and VAT number, and the app checks that number against VIES the moment the application lands. You approve or decline from a queue with the result sitting right next to what the buyer entered, and approved customers are tagged automatically so the rest of your B2B setup knows who they are.

Want speed for the clear cases? Auto-approval only fires when the VAT number came back valid. We’ve written about automatic B2B approvals built on VAT checks if you want to set that up properly.

After approval, the app re-checks numbers on a schedule. If one goes invalid, you get an email and the account can be paused until it’s resolved. The once-and-never-again problem disappears, because validation happens at onboarding and keeps happening, no matter which checkout your buyer uses.

Frequently asked questions

Does Shopify validate the VAT number on a company location?

With Shopify Tax and a UK or EU location, yes, once: at the moment you enter it. Shopify’s documentation describes no ongoing re-check of saved numbers, and no validation inside the B2B checkout itself.

Why is my B2B customer still being charged VAT?

In a B2B-specific checkout, taxes follow the exemption settings on the buyer’s company location. If no exemption is set there, VAT is charged regardless of the VAT number on file. Check the location’s tax settings first.

Can B2B buyers enter their VAT number at checkout like regular customers?

Not in a B2B-specific checkout. Shopify states the validation is available for guest and Shop Pay checkouts and “isn’t currently available for B2B-specific checkouts”. Collect and validate the number when the buyer applies instead.

What happens when a saved VAT number expires?

Nothing visible. The exemptions you set keep applying. That’s why re-checking saved numbers on a schedule matters just as much as the first validation.

Validate wholesale buyers before they get wholesale treatment. B2B Account Approval EU checks every applicant’s VAT number, queues the doubtful ones and re-checks after approval. Start the 7-day free trial, $19 per month after that.