German VAT IDs (USt-IdNr.) in Shopify: Why Valid Isn’t Always Enough

German VAT ID checks return valid or invalid, never a name or address. Here’s how to approve German buyers anyway.

TL;DR: Check a German VAT ID (USt-IdNr.) in VIES and you get valid or invalid, nothing more. No company name, no address, no way to see who the number actually belongs to. Most other EU countries show you the registered company. Germany doesn’t. If German wholesale buyers apply to your Shopify store, our app B2B Account Approval EU validates every USt-IdNr. on arrival and holds the application for your review, so a valid number alone never unlocks tax-free buying.

Germany is the EU’s largest economy, and for a lot of Shopify merchants it’s where the first wholesale requests come from. Great market. One catch nobody mentions until an accountant does: German VAT IDs are the least transparent numbers in VIES.

What VIES shows for a USt-IdNr.: two dashes

We checked the published VAT IDs of several well-known German companies in VIES in June 2026. The answer came back valid every time, followed by “—” for the name and “—” for the address.

That’s not a glitch. Germany doesn’t share company names and addresses through VIES. A Dutch number returns the registered company and address. An Irish one does too. A German one returns a yes and two dashes.

So one of your biggest sources of B2B applications is the one country where the official check tells you the least. We’ve written about whether VIES checks the company name and invoice address in general. Germany is the extreme case.

Anyone can copy a valid USt-IdNr. in seconds

German businesses are required to publish their USt-IdNr. in the imprint (Impressum) of their website. Open any German company site, scroll to the footer, click Impressum: there it is, next to the legal name and the registered address.

That’s good transparency law. It also means a valid German VAT ID is the easiest thing in the world to borrow. Someone applying to your store with a real USt-IdNr. has proven nothing yet, except that they can read an Impressum.

Shopify says as much about its own checkout validation: it “doesn’t guarantee the customer is authorized to use the number”, in Shopify’s own words.

Valid still matters. It’s just not the finish line.

None of this makes the validity check optional. Selling to a German business under the reverse charge needs a number that’s actually valid, and numbers expire when companies close, merge or restructure. An expired USt-IdNr. on a zero-rated invoice is the kind of thing tax audits exist to find.

Think of it as two separate questions. Is the number valid? VIES answers that. Does it belong to this buyer? For Germany, nobody answers that for you.

How to vet German applications without VIES’s help

Here’s the upside: the same Impressum that makes German numbers easy to copy makes them easy to verify. You just have to flip it around.

  • Ask for the full legal name and address on your application form. “Müller Maschinen GmbH”, not “Müller Maschinen”. The legal suffix and the registered address give you something concrete to compare.
  • Open the company’s website and read the Impressum. Same legal name? Same city? Same USt-IdNr. the buyer gave you? Then you’re done, in about two minutes.
  • Match the email domain. An application in the name of an established GmbH, sent from a free webmail address, is your cue to ask one extra question.
  • For large first orders, check the register. German companies are listed in the Handelsregister, and a quick search confirms the company exists and is active.

Where our app fits in

B2B Account Approval EU was built for exactly this kind of review. German buyers apply through your signup form with company name, address and USt-IdNr. The app validates the number against VIES immediately, and the application waits in your queue with the result attached, plus a one-click recheck if you want a fresh answer.

Auto-approval is optional and never fires on an invalid number; we’ve explained VAT-based auto-approval in its own guide. If you’d rather see every German application yourself, leave auto-approval off and the queue shows you everything, with the number check already done. You can also require a valid number before the form can be submitted at all, which filters out typos and expired numbers without you lifting a finger.

And after approval, the app re-checks numbers on a schedule. If a USt-IdNr. goes invalid six months in, you get an email and the account can be paused until it’s resolved.

Frequently asked questions

Can I see the company name behind a USt-IdNr. in VIES?

No. German numbers return only valid or invalid through VIES. The name and address fields come back as dashes, for every German number.

USt-IdNr. und Rechnungsadresse prüfen: geht das automatisch?

Not through VIES. No public check confirms that a German USt-IdNr., a company name and an invoice address belong together. You compare them yourself, usually against the company’s Impressum or the Handelsregister, and keep a note of what you found.

How do I validate a USt-IdNr. in my Shopify store?

Shopify’s native feature validates numbers typed into the regular checkout, but per Shopify’s docs it isn’t available for B2B-specific checkouts. We’ve compared the checkout field and the company location tax ID side by side. For wholesale applications, validate at signup instead: that’s what our app automates.

Is a valid USt-IdNr. enough to invoice without VAT?

It’s required, not sufficient. The reverse charge needs a valid number, and tax authorities expect you to take reasonable care that the buyer really is the company behind it, with records of what you checked. Keep an audit trail of your VAT checks; future you will be glad you did.

Selling to German businesses shouldn’t mean trusting two dashes. B2B Account Approval EU validates every USt-IdNr. at application, holds anything doubtful for review and re-checks after approval. Try it free for 7 days, then $19 per month.