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 once your EU-wide distance sales (to private customers in other EU countries) exceed the 10,000 EUR threshold per calendar year. Below that threshold you charge the German rate (19% or 7%), above it the local rate of the respective destination country. Important: OSS only covers B2C—pure B2B supplies with a valid VAT ID go through reverse charge.
Understanding the 10,000 EUR distance-selling threshold
The 10,000 EUR threshold is EU-wide and cumulative: it isn't measured per destination country but as the total of all your distance sales to private customers across all other EU member states combined. Once you cross it, the local rate of the destination country applies to all EU B2C deliveries from the triggering sale onward.
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.
- Applies only to B2C distance sales to private customers in other EU countries.
- Cumulative EU-wide—not calculated per country.
- Below the threshold: German rate (19% / 7%).
- 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
The most common mistake is not enabling OSS at all and continuing to charge 19% DE above the threshold, which leads to wrong invoices and an incorrect OSS return. Equally problematic is failing to separate B2B and B2C turnover: B2B with a valid VAT ID belongs in the reverse-charge logic, not in OSS.
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.
