FluxBilling

EU VAT OSS for Hosting Providers Selling Across Borders

Sell hosting to a consumer in another member state and the place of supply moves to them. The threshold is lower than most providers think, and the platform requirements are specific.

Ilinca BostanIlinca Bostan6 min read

The moment you sell hosting to a consumer in another EU member state, your VAT stops being simple. The place of supply moves to where the customer is, you owe VAT at their country's rate, and unless you use the One Stop Shop you are theoretically looking at registering in every country you have a customer in.

Here is the mechanism, the threshold, and the pieces your billing system has to get right for any of it to work.

Not tax advice. VAT treatment depends on what exactly you sell, where you and your customer are established, and your customer's status. Rules and rates change. Confirm your position with an accountant before you configure anything on the strength of this post.

The B2B and B2C split comes first

Almost every VAT question in hosting resolves once you know which side of this line a customer sits on.

B2B, cross-border within the EU. If your customer is a taxable person in another member state and gives you a valid VAT number, the supply is generally reverse charge: you invoice without VAT and the customer accounts for it themselves. Your invoice needs to carry both VAT numbers and a note that the reverse charge applies.

B2C, cross-border within the EU. This is where OSS exists. Web hosting is generally treated as an electronically supplied service, which means the place of supply is the customer's country and you charge that country's rate.

The whole thing therefore hinges on VAT number validation. A customer typing a number into a form is not validation — the number has to be checked against the EU's VIES system, and the result stored with the invoice, because that stored evidence is what supports the reverse charge if anyone asks later.

The €10,000 threshold

There is an EU-wide annual threshold of €10,000, net of VAT, covering cross-border B2C supplies of telecommunications, broadcasting and electronic services together with distance sales of goods. Below it you may continue charging your own country's VAT rate. Above it, you charge the customer's country rate.

Three things about that threshold catch people out. It is a single combined allowance, not one per country and not one per category. It is measured across the calendar year, so you can cross it in October having been compliant all year. And once crossed, the change applies from the transaction that crossed it — not from the following year.

For a hosting business with any meaningful cross-border consumer trade, €10,000 is a low bar. Most providers who sell across the EU are over it and some do not know.

What OSS actually does

The One Stop Shop lets you register once, in one member state, and file a single periodic return covering your B2C supplies to all the others, paying one amount to your own tax authority which distributes it. Without OSS the alternative is registering for VAT in each country where you have consumers, which for a small hosting business is not realistic.

What OSS does not do: it does not cover B2B supplies, it does not cover domestic sales in your own country, and it does not remove the need to apply the correct rate per country. It is a filing simplification, not a rate simplification.

What your billing platform has to get right

This is where the theory becomes an implementation problem, and where hosting businesses most often discover their platform cannot express what the rules require.

  • VAT number validation against VIES, at the point of order and again periodically, with the result and timestamp stored against the customer.
  • Per-country rates, kept current. Rates change, and a hardcoded table quietly becomes wrong.
  • Correct customer location evidence. The rules generally expect supporting evidence of where a consumer belongs — billing address, IP country, payment provider country. Capture more than one and store it.
  • Reverse charge on the invoice as a distinct treatment, not a zero rate. They look the same on a total and are not the same on a return.
  • Threshold monitoring. Something has to tell you when you are approaching €10,000, because nothing external will.
  • OSS-shaped reporting. The return needs supplies grouped by member state of consumption and by rate. If your platform can only produce a flat invoice list, someone is rebuilding that in a spreadsheet every quarter.
  • Credit notes carried through correctly. A refund changes the amount you owe a member state, and it has to appear in the right period. See credit notes, refunds and clawbacks.

The pricing decision nobody makes deliberately

If you charge the customer's national rate and you advertise one price across Europe, your margin now varies by country, because rates range widely. You have two honest options: display prices excluding VAT and add it at checkout, which is normal for B2B and jarring for consumers, or display VAT-inclusive prices and accept different net revenue per country.

Pick one deliberately and make the storefront say which it is. The failure mode is advertising a VAT-inclusive price built on your home rate and then discovering the margin on customers in higher-rate countries.

How FluxBilling fits

FluxBilling handles per-country VAT rates, distinguishes B2B reverse-charge treatment from zero-rated supply on the invoice, and computes EU VAT allocation inside the accounting export — per rate, per document, with the customer's country attached — in XLSX, CSV, SAGA XML or bulk PDF. That is the data an OSS return is built from, and producing it from the export rather than by hand is the point.

Two honest limits. FluxBilling does not file your OSS return and does not claim to be a tax engine — it produces the figures your accountant files from. And if you invoice from more than one legal entity, talk to us about the setup before assuming the export separates them the way an OSS return needs.

See handing your books to your accountant and tax automation for hosting providers.

Closing thoughts

Do one thing this week: add up your cross-border B2C sales for the year to date. If the number is anywhere near €10,000, the OSS question is live and the answer is a registration rather than a configuration change. Everything else on this page is easier to fix than a threshold you crossed nine months ago.

Tagged
EU VAT OSS hostingOne Stop Shop VATreverse charge hostingVAT threshold 10000cross-border VAT hostingVIES validation billing
Written by
Ilinca Bostan
Ilinca Bostan
View all posts →