Cross the €10,000 mark in EU cross-border sales and your VAT obligations change overnight, whether you notice it or not. The EU OSS VAT scheme exists to stop that moment from turning into a registration headache in a dozen different countries, each with its own portal, deadline, and paperwork. It’s one of the more genuinely useful pieces of EU VAT simplification, but most explanations of it are written for D2C sellers and quietly skip over what happens when a store also does business wholesale. This guide walks through what the One Stop Shop scheme actually covers, when a Shopify seller needs it, and the one distinction most explainers skip: OSS only applies to consumer sales, not the B2B side of your business.
What Is the EU One Stop Shop (OSS) Scheme?
The EU One Stop Shop, or OSS, is a VAT simplification scheme that lets you register once in a single EU member state and use that registration to report and pay VAT on eligible cross-border sales to consumers across the entire EU, instead of registering separately in every country you sell into. The European Commission has stated that OSS can reduce the administrative burden of cross-border VAT compliance by as much as 95 percent compared to registering separately in every destination country, which is exactly why it’s worth setting up correctly rather than defaulting to local registrations out of habit.
Union OSS vs Non-Union OSS vs IOSS
There are three related schemes and it’s easy to mix them up. Union OSS is for EU-established sellers making cross-border B2C sales of goods already inside the EU. Non-Union OSS is for non-EU businesses selling services to EU consumers. IOSS is a different scheme entirely, covering goods imported from outside the EU valued at or below €150. If your goods are already sitting in an EU warehouse when they’re sold, you’re in Union OSS territory, not IOSS. The simplest way to keep the three straight is to ask where the goods physically are at the moment of sale: already in the EU points to Union OSS, coming from outside the EU as part of the transaction points to IOSS, and services with no physical goods involved point to Non-Union OSS for non-EU sellers.
The €10,000 Cross-Border Distance Sales Threshold
Below €10,000 in combined cross-border EU sales per calendar year, you can continue charging your home country’s VAT rate and remitting it at home. Cross that threshold, even by a single euro, and you’re required to charge VAT at the rate of your customer’s country from that point forward, either through local registrations in every relevant country or through OSS.
When Shopify Sellers Need to Register for OSS
Not every EU-facing Shopify store needs OSS immediately, and the trigger point depends on more than just revenue.
Triggers: Sales Volume and EU Stock Location
Crossing the €10,000 threshold is the most common trigger, but stock location matters just as much. The moment you hold inventory in a second EU country, whether through your own warehouse or a fulfillment partner, sales from that stock into other EU countries become distance sales that fall under OSS or local registration rules, regardless of your total revenue. This is a common blind spot for Shopify sellers using third-party fulfillment: if a fulfillment partner moves your stock into a German warehouse without you actively deciding to expand there, you can trigger local VAT obligations without having made a conscious choice to enter that market.
How OSS Differs From Registering for VAT in Each Country Separately
Without OSS, exceeding the threshold means registering for VAT individually in every EU country where you have customers, each with its own portal, deadlines, and language. For a store selling into a handful of EU markets, that can mean juggling five or six separate registrations, each requiring its own local filing on its own schedule. OSS collapses all of that into one quarterly return filed through your home country’s tax authority, which then distributes the collected VAT to each destination country on your behalf, meaning you never interact directly with the other countries’ tax authorities at all.
Does OSS Apply to B2B Sales?
No. OSS only covers business-to-consumer sales. Cross-border sales to VAT-registered businesses in the EU are handled through the reverse charge mechanism instead, where the buyer accounts for the VAT in their own country rather than you charging it at the point of sale.
Why Business-to-Business Transactions Use Reverse Charge Instead
The reverse charge exists specifically to avoid the compliance burden of collecting VAT across borders on transactions between two VAT-registered businesses. Instead of charging VAT and remitting it, you issue an invoice showing the customer’s VAT number and a note that the reverse charge applies, and your B2B customer accounts for the VAT themselves in their own return. In practice, this means a wholesale sale to a verified EU business customer should never carry a VAT line at all, which surprises merchants used to thinking of every EU sale as VAT-inclusive by default.
What This Means for Your Wholesale Invoicing Setup
If your Shopify store sells both retail and wholesale into the EU, the same order flow can’t treat every transaction the same way. Retail orders under the threshold get your home VAT rate, retail orders over the threshold get destination-country VAT under OSS, and verified B2B orders get reverse charge with no VAT line at all. That’s three separate VAT treatments running through the same checkout, and each one needs to be applied automatically based on order type rather than decided manually per transaction. Getting this split wrong in either direction, either by reverse-charging a consumer or by charging VAT to a genuine reverse-charge business customer, is one of the more common EU compliance mistakes we see, and it tends to happen quietly, accumulating across dozens of orders before anyone notices the pattern.
Setting Up OSS Alongside Shopify’s Tax Settings
Shopify supports OSS directly in its tax settings, which makes the setup itself fairly mechanical once you know which option to pick.
Registering for OSS in Your Home EU Country
Registration happens through your home country’s tax authority portal, which becomes your “Member State of Identification” for OSS purposes. Once registered, you enter your OSS VAT number in Shopify’s Settings, under Taxes and duties, in the European Union section, and select the option to collect VAT cross-border using your OSS registration.
Filing Quarterly OSS Returns
OSS returns are filed quarterly and cover every eligible cross-border B2C sale from that period, broken down by destination country and VAT rate. You pay the total to your home tax authority in one payment, and they handle distributing it to each destination country. There’s no direct filing relationship with the other 26 countries’ tax authorities at all.
Keeping Compliant Invoice Records for Cross-Border and B2B Sales
Getting the VAT calculation right at checkout is only half the job. The invoice record behind each sale needs to reflect the correct treatment too, and needs to be retrievable if a tax authority asks for it later.
What an OSS-Ready Invoice Trail Looks Like
For OSS-eligible sales, your records need to show the destination country, the VAT rate applied, and the taxable amount, matching what you reported on your OSS return. For B2B reverse-charge sales, the invoice needs to show the customer’s validated VAT number and the reverse charge note instead of a VAT line. Mixing these two invoice formats up is an easy way to fail an audit even when the underlying tax treatment was correct, since an auditor reviewing an OSS return wants to see records that clearly justify every figure reported, not a mix of formats that require explanation order by order.
How InvoiceForge Separates B2C and B2B Invoicing Rules
InvoiceForge is built around exactly this split. It applies the correct invoice format automatically based on whether an order is a verified B2B transaction or a standard consumer sale, so your OSS-eligible retail invoices and your reverse-charge wholesale invoices don’t end up looking the same when they shouldn’t. For sellers managing invoice compliance across Germany specifically, the same B2C and B2B distinction applies on top of Germany’s own domestic invoicing requirements.
Getting Your EU VAT Setup Right the First Time
OSS solves a real problem, but it only solves the B2C half of it. A Shopify store selling both retail and wholesale into Europe needs a tax and invoicing setup that can tell the difference between the two at every order, not just at registration. Treating every EU sale as if it belongs in the same bucket, whether that means over-applying OSS to business customers or under-applying it to consumer ones, is where most of the compliance risk actually sits, far more than the mechanics of the quarterly filing itself. Get the split right between OSS-eligible consumer sales and reverse-charge business sales at the order level, and the quarterly filing itself becomes the easy part.
