VAT MOSS and OSS for EU Digital Sellers: A Survival Guide
By the InvoiceFlow team — published 26 May 2026 — 13 minute read
If you sell digital products or services to consumers in the European Union — courses, e-books, apps, software subscriptions, design assets, music, podcasts, anything delivered electronically — you owe VAT at the customer's local rate, not yours. For a small seller this is initially infuriating, because it means tracking 27 different VAT rates and paying tax to 27 different countries on the same fiscal year. The EU built a unified portal — One Stop Shop, or OSS — specifically to make this manageable, but the rules around it are genuinely complex, and the cost of getting them wrong is real penalties from real tax authorities.
This guide is the survival version. It covers what OSS is, who needs it, the €10,000 threshold that catches most small sellers off-guard, the IOSS variant for sellers outside the EU, and the practical invoicing setup that satisfies the requirements without making your monthly billing miserable.
The core rule, in plain English
When you sell a digital product or service to a private individual (B2C) in another EU country, the VAT applicable is the rate in that customer's country — not yours. If you're a Spanish creator selling an e-book to a German consumer, German VAT (19%) applies, not Spanish (21%). If the same German consumer buys from a French creator, French law still applies the German rate.
This rule was introduced in 2015 specifically to stop the practice of "VAT shopping" — small businesses incorporating in low-VAT countries (Luxembourg, Malta) and selling Europe-wide at low rates. After 2015 the customer's location, not the seller's, determines the rate.
The €10,000 threshold (and why most sellers miss it)
For small sellers, there's an EU-wide exemption: if your total cross-border B2C sales to other EU countries are below €10,000 per calendar year, you can charge your home country's VAT rate on all of them. This threshold was meant to spare hobbyists and very small sellers from the OSS overhead.
The catch: the €10,000 is the total across all EU customers (excluding your home country). A creator in Portugal selling €5,000 of e-books to Germans and €5,500 to Italians has crossed the threshold and is now subject to per-country VAT for all cross-border B2C sales going forward. The moment you cross, you must register for OSS and start applying destination-country VAT.
Most small sellers don't track this until they're over. The penalty for being unregistered is back-VAT plus interest plus fines in each country you've sold to. This gets expensive quickly.
OSS: the one-portal solution
Once you cross the threshold (or if you're large enough that you'd cross immediately), you register for OSS in your home country. After registration:
- You charge destination-country VAT on each B2C sale to another EU country.
- You file one quarterly OSS return in your home country, listing total sales by destination country.
- You pay one consolidated VAT amount to your home tax authority.
- Your home authority distributes the appropriate amounts to each destination country.
This is dramatically easier than registering for VAT separately in 27 countries, which is the alternative. OSS is opt-in but functionally mandatory for any digital seller doing meaningful cross-border B2C in Europe.
What OSS doesn't cover
OSS handles B2C digital services and B2C cross-border physical-goods sales above the new (post-2021) thresholds. It does not handle:
- Sales to EU businesses (B2B) — these use reverse-charge mechanism, no OSS involved.
- Sales within your home country to consumers — those use normal domestic VAT filing.
- Imports from outside the EU under €150 — those use IOSS (see below).
IOSS: for sellers outside the EU
If you're based outside the EU and sell physical goods to EU consumers, IOSS (Import One Stop Shop) is the equivalent simplification. It applies to consignments under €150. The seller collects VAT at point of sale (destination-country rate), the goods clear customs without delay, and the seller files monthly IOSS returns.
Without IOSS, the EU consumer pays VAT on import and pays a "customs handling fee" from the courier (which is often higher than the actual VAT). This kills your conversion rate. IOSS is opt-in but commercially essential for any non-EU seller targeting EU consumers seriously.
Identifying the customer's country
OSS requires you to determine the customer's location. EU rules specify which evidence is acceptable. For digital services, you need two non-contradictory pieces of evidence, drawn from:
- Billing address.
- IP address of purchase.
- Bank account location.
- Phone country code.
- SIM card country code (for mobile purchases).
For most small sellers, billing address + IP address is the standard combination. Stripe, PayPal, and most payment processors capture both. Your invoicing system should record the customer's billing country on each invoice, so you can produce the audit trail if asked.
B2C vs B2B: the EU VAT ID question
A sale to a private individual (B2C) is at the customer's local rate. A sale to a VAT-registered business (B2B) in another EU country is "reverse-charge" — you charge no VAT, the business handles VAT in their own country, and the invoice must say "VAT reverse charge — Article 196 of Directive 2006/112/EC" (or similar local-law citation).
The distinction depends on whether the customer has a valid EU VAT ID. Your invoicing system should:
- Let the customer enter their VAT ID at checkout.
- Validate the VAT ID against the EU VIES system (a real-time check that the ID exists and matches the business name).
- Apply reverse-charge if valid, destination-country VAT if not.
- Print the appropriate language on the invoice.
If you skip VAT ID validation and just trust whatever the customer entered, you risk reverse-charging a sale that should have been VAT-taxed — which means you owe the VAT yourself, retroactively, with interest.
The quarterly OSS return
OSS filings are quarterly. The return reports:
- Total B2C cross-border digital sales to each EU country during the quarter.
- Applicable VAT rate per country.
- VAT amount per country.
- Currency (usually EUR; conversions follow ECB monthly average rates).
The filing deadline is the end of the month after each quarter (April 30, July 31, October 31, January 31). Payment is due at the same time. Late filings trigger penalties that compound across all destination countries.
What your invoicing system needs to handle
1. Per-customer VAT determination
On every invoice, the system should determine: domestic (home country rate), reverse-charge (B2B with valid EU VAT ID), or OSS (B2C cross-border with destination-country rate).
2. Per-country VAT rate table
Up-to-date rates for all 27 member states. These change occasionally (Germany temporarily lowered to 7% during the pandemic, for example) and the system needs to stay current.
3. VAT ID validation
Real-time VIES lookups for B2B customers. Cached for performance but verified periodically.
4. Audit-trail tagging
Each invoice should record the evidence used to determine the customer's location (billing address + IP, typically). This satisfies the OSS evidentiary requirement.
5. Quarterly OSS export
Aggregated VAT by destination country for the quarter, in the format your home tax authority expects. Some authorities accept CSV; some require XML; some have proprietary formats.
6. Currency conversion
If you invoice in non-EUR currencies (USD, GBP), the OSS return needs EUR amounts converted at the ECB monthly average rate. The system should handle this automatically.
The practical first-90-days setup for a new EU digital seller
Day 1-30: figure out where you are
- Are you currently selling cross-border B2C to EU consumers? Sum the past 12 months.
- If under €10,000, you can charge home VAT and watch the threshold. Set up cross-border sales tracking.
- If over €10,000, you're already supposed to be on OSS. Register immediately.
Day 30-60: register for OSS
OSS registration happens through your home country's tax portal. The application typically takes 2-4 weeks. You can begin OSS-compliant invoicing once registered.
Day 60-90: structure your invoicing
- Build the per-country VAT rate table into your invoice templates.
- Implement VAT ID validation for B2B customers.
- Capture customer location evidence on every invoice.
- Set up quarterly OSS export.
The wider lesson
EU digital VAT is intimidating on first encounter and largely manageable once set up. The biggest mistake small sellers make is ignoring it until a tax authority sends them a letter — by which point they owe back-VAT for years across multiple countries.
If you sell anything digital to EU consumers, set up properly now. The first hour is the hard one. After that, the quarterly filing is fifteen minutes of export-and-submit.
OSS is genuinely well-designed for a tax-bureaucracy product. Use it.