B2B vs B2C VAT Classification: How It Works for EU Transactions
VAT Classification

B2B vs B2C VAT Classification: How It Works for EU Transactions

Getting B2B and B2C classification right is the core of EU VAT compliance. Here’s the logic behind it — and why automating it matters.

vidaReady Team

EU VAT experts

24 February 20255 min read

The single most important question in EU VAT compliance is: is this a B2B or B2C transaction? The answer determines how much VAT you collect, whether you need to validate a VAT ID, and what you report in your OSS filing.

The core distinction

B2C (Business to Consumer): You charge VAT at the customer’s country rate, collect it, report it, and remit it via OSS.

B2B (Business to Business): If the buyer is a VAT-registered business in another EU country, the reverse charge mechanism applies. You issue a zero-VAT invoice. You collect and remit zero VAT for this transaction.

For Stripe-based SaaS businesses, this distinction is significant: B2B transactions have zero VAT liability for you, while B2C transactions require you to apply the correct local rate for each of 27 different countries.

How classification is determined

The process follows this sequence:

  1. Customer provides a VAT ID at checkout
  2. You validate that VAT ID against VIES — the EU’s official VAT Information Exchange System
  3. If valid → B2B, reverse charge applies, zero VAT on the invoice
  4. If no VAT ID or invalid → B2C, apply local VAT rate for the customer’s country

What is VIES?

VIES is the official EU database of VAT-registered businesses. Key points:

  • An invalid VAT number means you must treat the transaction as B2C
  • VIES lookups can be slow and intermittently unavailable
  • When VIES is down, fall back to format-based validation and flag those transactions for review
  • Failing to validate means you can’t legally apply reverse charge — if the number was invalid and you charged zero VAT, you owe the VAT yourself

VAT rates by country

For B2C transactions, you must apply the correct rate for the customer’s country. Standard digital services rates range widely:

  • 17% — Luxembourg
  • 19% — Germany
  • 21% — Netherlands, Spain, Belgium
  • 25% — Denmark, Sweden, Croatia
  • 27% — Hungary (highest in the EU)

Why manual classification breaks down

  • At 50 transactions/month: feasible manually
  • At 500 transactions/month: a part-time job
  • VAT IDs appear in different formats across 27 countries
  • Stripe’s raw export doesn’t always have a clean VAT ID field
  • Customers often enter formatting that doesn’t match VIES expectations

What this means for your OSS filing

Your quarterly OSS return requires, for every country with B2C sales:

  • Net revenue (excluding VAT)
  • VAT rate applied
  • Total VAT amount collected

Getting the B2B/B2C split wrong means either over-paying (you collected VAT you didn’t need to) or under-paying (you owe VAT with penalties and interest).

vidaReady classifies every transaction automatically with live VIES validation, then produces per-country summaries ready for your OSS return.

vidaReady

Automate your EU VAT workflow

Connect Stripe, classify every transaction automatically, and get your OSS report in minutes.

Start free trial