Without Shopify Plus
B2B EU Focussed

Shopify B2B Portal Guide: Approvals, VAT Validation, Net Terms, and Credit Control

TL;DR: Running B2B wholesale on Shopify without proper infrastructure means manual approvals, tax errors, unpaid invoices, and communication breakdowns. This guide covers the ten features that make up a complete B2B portal for EU merchants: from approval workflows and VAT validation to net terms, credit control, and localized communications.

What is a Shopify B2B portal for EU merchants

A B2B portal sits between your Shopify storefront and your back office. It’s the system that decides who gets wholesale access, what tax rules apply, how orders are handled after checkout, and what customers see in their account. Without it, you’re relying on spreadsheets, email chains, and someone on your team who “just knows” which customers are approved.

That works for five accounts. It breaks at fifty. It’s a liability at five hundred.

For EU merchants specifically, the stakes are higher. VAT compliance isn’t optional. Reverse charge rules depend on validated tax numbers. Payment terms vary by market. And your German customers expect communications in German, not English. A proper B2B portal handles all of this systematically instead of hoping your team remembers the right process every time.

EU B2B requirements this guide covers

  • VAT validation and VIES checks for every wholesale application, with periodic re-verification
  • EU reverse charge and tax treatment applied automatically based on customer status and country
  • Country-based approval rules for cross-border onboarding across EU markets
  • Localized communication in active storefront languages so buyers see messages in their own language

Why merchants struggle with B2B operations

We’ve worked with dozens of Shopify merchants launching B2B channels. The same five problems come up almost every time:

Approval timing. Teams either rubber-stamp applications to avoid backlog or let them sit for days because nobody owns the review process. Both cost you: one in risk, the other in lost sales.

Tax errors. A VAT number gets validated at signup. Six months later, the company deregisters. You’re still treating them as tax-exempt. The tax authority sends you a letter. Nobody enjoys those letters.

Payment complexity. You offer net terms to ten customers. Now you’re tracking who owes what, sending invoices manually, chasing late payments over email, and hoping your spreadsheet is up to date. It isn’t.

Order data gaps. Your finance team receives a Shopify order and can’t create an invoice because there’s no company name, no VAT number, no PO reference. They email sales. Sales emails the customer. Three days wasted.

Communication breakdowns. The customer gets approved but never receives a notification. A net terms order comes in but the warehouse ships before the credit check. An address changes but nobody tells the finance team. Every handoff is a place where things fall apart.

The 10 core features of a Shopify B2B portal

1. Approval workflow

Every B2B relationship starts with approval. The question is whether you do it manually for every application, or set rules that handle the routine cases automatically so your team focuses on exceptions.

Four modes work in practice:

  • Always manual: Every application goes to a merchant for review. Maximum control, lowest throughput.
  • Rule-based: Auto-approve when conditions pass (valid VAT, known country, complete application). Reject or flag the rest for manual review.
  • Country rules: Auto-approve for selected EU countries where you’re confident in the market. Manual review for everything else.
  • Manual override: Force review regardless of rules. Useful during early launch when you want eyes on every account.

The goal is getting to rule-based as soon as you’re comfortable. Manual review doesn’t scale, and slow approvals lose you customers who sign up with your competitor while waiting.

2. VAT validation and re-checks

Checking a VAT number once at signup and never again is like checking a driver’s license once and assuming it’s valid forever. Companies deregister, merge, go bankrupt. Their tax status changes. Yours doesn’t, unless you keep checking.

A solid B2B portal validates VAT numbers via VIES at signup, then re-checks on a configurable interval (every 30, 60, or 90 days). When a re-check fails, the merchant gets notified so they can adjust tax treatment before the next order ships.

Related guides: VAT exemption for EU businesses on Shopify, how reverse charge logic works, and automatic VAT validation at checkout.

3. Net terms and credit limits

This is the feature that turns a Shopify store from a “pay now” retail site into a real wholesale channel. B2B buyers expect to order on account and pay later. Net 30 is standard. Some industries run Net 60.

The mechanics: set a default payment term (e.g., Net 30), assign a default credit limit per company, auto-send invoices when orders are approved, auto-complete orders when payment arrives, and alert your team when new credit orders come in. Credit limits should reflect total outstanding exposure, not just the latest order.

For a deep dive, see how to offer Net 30 payment terms on Shopify.

4. Order enrichment

Your finance team or invoicing software needs data that Shopify orders don’t carry by default. Company name. VAT number. PO reference. Payment terms. Tax treatment.

Order enrichment adds this automatically. You define a note template with placeholders ({{company_name}}, {{vat_number}}, {{po_number}}) and tag each B2B order (e.g., “b2b-order”, “net-30”). The result: every order arrives at your finance team invoice-ready, without a single manual edit.

5. Catalog mode

Some merchants don’t want retail visitors seeing wholesale prices. Catalog mode hides price elements on product pages, collections, and the homepage for non-logged-in visitors. The products are visible, but pricing only appears after a customer logs in with an approved B2B account.

This works through a theme app block. Enable catalog mode in your settings, add the block in Theme Editor, and guest visitors see your products without prices. Approved customers see everything.

6. Discount automation

Instead of manually creating discount codes for each approved company, let the system generate unique codes automatically. You control the percentage, usage limits, whether codes are one-use-per-customer, and minimum order thresholds.

Each approved company gets their own code. No sharing, no leakage, no manual work. When a new company gets approved, their code is created and communicated automatically.

7. Customer documents

Price lists, product catalogs, commercial terms, seasonal brochures. B2B customers need these documents to place orders, and sending them as email attachments is a recipe for version chaos.

A document portal tied to B2B accounts gives customers self-service access to current files. When you upload a new price list, the old one disappears. When a customer is approved, they see documents. When they’re not, they don’t. No manual sharing, no outdated files floating around.

Full walkthrough: how to share price lists and brochures with B2B customers.

8. Customer self-service with merchant review

Companies change addresses, update contact details, modify their tax information. Two governance options work here: auto-approve changes (fast, hands-off) or require merchant review (controlled, suitable for regulated industries or when address changes affect tax treatment).

Either way, the customer initiates the update from their account. No support tickets, no email back-and-forth.

9. Notifications and email templates

Every B2B event generates communication needs. A customer gets approved: they need to know. A credit order comes in: the merchant needs to review it. An address changes: finance needs a heads-up.

Customizable email templates let you control the exact message for approvals, rejections, new registration alerts, and credit order notifications. For merchants using automation tools, event triggers can connect to Shopify Flow or other workflow platforms.

10. Localization

If you sell across EU markets, your B2B communications need to speak the customer’s language. Not just “we translated the storefront.” The approval email, the invoice reminder, the success message after placing a net terms order, the form labels on your registration page. All of it.

A localized B2B portal detects active storefront languages and provides per-locale templates for every customer-facing message. Your Dutch buyer sees Dutch. Your Italian buyer sees Italian. Your internal team still sees everything in their preferred language.

Implementation checklist

Work through these in order. Each step builds on the previous one.

  1. Define your approval policy and auto-approval rules
  2. Enable VAT validation and set the re-check interval
  3. Configure default tax treatment by customer profile (EU VAT setup guide)
  4. Set net terms days and max credit defaults
  5. Configure order tags and note placeholders for invoicing
  6. Enable catalog mode if public pricing should be hidden
  7. Turn on document sharing for customer accounts
  8. Set profile update governance (auto-approve vs. review)
  9. Customize notification templates and email content per locale
  10. Localize all B2B messages for your active storefront languages

The bottom line

The strongest Shopify B2B stores don’t rely on manual heroics. They use clear rules for approvals, tax compliance, credit control, and order data so the whole team can scale without adding headcount or risk. Every feature on this list exists to replace a manual process with an automated one, and to replace tribal knowledge with system rules.

If you’re building B2B operations on Shopify and want help with implementation, reach out to our team. We’ve built this for EU merchants and know the edge cases.