What is the OSS scheme and when do you need it?
The OSS scheme (One-Stop-Shop) is an EU-wide reporting mechanism for intra-community distance sales to private individuals (B2C). Instead of registering for VAT in every single EU country, you report all EU B2C turnover in one bundled OSS return through the German Federal Central Tax Office.
OSS becomes relevant for certain cross-border B2C turnover when the EU-wide EUR 10,000 threshold is exceeded or when you voluntarily waive the threshold rule. The threshold is not assessed only in the current calendar year. EU B2B supplies of goods do not belong in OSS; assess the conditions for an intra-Community supply separately.
Understanding the 10,000 EUR distance-selling threshold
The EUR 10,000 threshold is EU-wide and cumulative. In addition to distance sales of goods, certain telecommunications, broadcasting and electronically supplied services count towards the same threshold. Eligibility conditions, including establishment and dispatch from one member state, also have to be met. Once the threshold is crossed in the current year, destination taxation applies from the triggering transaction.
You can also voluntarily waive the threshold and join OSS from the start, which makes sense if you sell EU-wide in a predictable way. Registration runs through the BZSt online portal before you make your first OSS-relevant sale.
- Covers certain cross-border B2C turnover; relevant services count together with distance sales.
- Cumulative EU-wide—not calculated per country.
- Check the threshold rule in both the current and preceding calendar year.
- Below the threshold and if all conditions are met: taxation in the state of establishment may remain possible.
- Above the threshold: local VAT rate of the destination country.
- Voluntarily waiving the threshold is possible.
Enabling OSS in Shopify step by step
Shopify supports OSS directly in its tax settings. In your admin go to Settings → Taxes and duties → European Union. There you choose your collection method: the micro-business exemption (below the threshold) or OSS registration (above the threshold or for voluntary participation).
Once you register your OSS number, Shopify automatically calculates the local rate of the respective destination country for EU B2C orders. Afterwards, be sure to run a few test orders from different EU countries so the rates apply correctly.
- Open Settings → Taxes and duties → European Union.
- Add your shipping country (Germany) and VAT ID.
- Switch tax collection to OSS registration.
- Verify with test orders from several EU countries.
- Check reduced rates (e.g. for books) per country.
Getting OSS tax into your accounting correctly
Shopify charges the right rate at checkout, but for the OSS return and your accounting the turnover has to be cleanly broken down by destination country and tax rate. Doing this manually is error-prone: every order has to be mapped to the correct tax key.
With zrapp, Shopify orders are automatically transferred to sevdesk or Lexware Office with the matching OSS tax key. The tax automation detects EU B2C deliveries and applies the local rate of the destination country. To understand how automatic booking works in general, read automating Shopify order booking.
Avoiding common OSS mistakes in Shopify
A common mistake is not enabling OSS and continuing to charge German VAT above the threshold. It is equally important to separate B2B and B2C turnover: EU B2B supplies of goods do not belong in OSS and must be assessed as a possible intra-Community supply.
Also watch out for reduced rates, which differ per EU country, and make sure your invoices contain all § 14 UStG mandatory details. If you're also weighing the small-business exemption, note that § 19 and OSS are effectively mutually exclusive. Details in the article on the § 19 small-business rule and Shopify.
