Guide · OSS · The storage gap

Why OSS doesn’t cover your Amazon warehouse stock

“I have OSS, so I’m covered” is one of the most common misconceptions among Amazon FBA sellers in the EU. OSS covers one thing — cross-border B2C sales — and storing stock in a country is not that thing. This guide shows exactly where the line runs and how to check which side of it you’re on.

// Written by Karen Yezzhev, founder of Veritax · Updated July 2026

What OSS actually covers

The One-Stop-Shop does one job, and it does it well: it lets you report cross-border B2C distance sales within the EU in a single return, instead of registering for VAT in every country you ship to. Stock sits in a German warehouse, a customer in Austria orders, the parcel crosses the border — that sale goes into OSS. So do your sales to consumers in Ireland, Denmark, Portugal and everywhere else in the EU.

For that slice of your business, OSS is exactly the simplification it promises to be. One return for all those cross-border consumer sales — yes, really.

The trap is hiding in the word sales. OSS is a reporting scheme for one specific type of transaction. Your FBA business does something else across borders every single day, and OSS has nothing to say about it: it stores goods.

What OSS does not cover

Storing goods in a country creates VAT obligations of its own — separate from, and untouched by, your distance sales:

  • + Local supplies. Stock sits in a Czech warehouse and a Czech customer buys it. The goods never cross a border, so it isn’t a distance sale — it’s a domestic Czech transaction, and it belongs in a Czech VAT return, not in OSS.
  • + Movements of your own stock. Amazon shifts your inventory from Germany into Poland or the Czech Republic. Nobody bought anything, but that intra-community movement of your own goods has to be reported locally. OSS has no line for it.

Handling either one requires a local VAT registration in the country where the goods are stored. Amazon’s own rule points the same way: a VAT number is required for every country where your goods are stored. And Czech law is blunt about it — a business with no seat or establishment in the Czech Republic that stores goods in a Czech warehouse must register for Czech VAT, with no registration threshold at all. The obligation starts from the first taxable activity.

The one-line rule

OSS covers a type of sale. Local registrations are triggered by storage. One can’t replace the other — they stack.

A worked example (hypothetical)

Say a UK seller keeps all their FBA stock in France and sells across the EU. Watch what happens as the storage setup changes — while the sales themselves stay exactly the same.

Stage 1: stock in France only

A customer in Spain orders. Amazon fulfils it from French stock, shipping cross-border to the buyer. That’s a cross-border B2C distance sale, so it goes into the seller’s OSS return. No Spanish VAT registration is needed, because nothing is stored in Spain. The seller needs a French registration — that’s where the stock physically sits — but Spain stays off the list for as long as the goods stay out of it.

Stage 2: Pan-EU switches on

The seller joins Pan-EU, and Amazon starts placing inventory in a Spanish warehouse. From the seller’s dashboard, the Spanish sales look identical. But the obligation picture has changed completely: the moment stock is stored in Spain, a Spanish VAT registration becomes mandatory — and Spain is one of the countries where a non-EU seller can’t register directly. It requires a fiscal representative, who carries joint liability for the seller’s VAT and often demands bank guarantees. There is no UK exemption. That’s a real, recurring cost — created not by selling more, but by a checkbox that moved stock.

The same mechanic, Czech edition

The Czech Republic isn’t in the Pan-EU base storage list (that list is Germany, France, Italy, Spain and Poland). Czech storage gets switched on separately through the CEE programme — Germany, Poland and the Czech Republic together — in exchange for a per-unit fulfilment fee discount. Tick that box and your stock starts landing in Czech warehouses, and from the first movement of goods into the country a Czech VAT registration is required. The full comparison is in our guide to Pan-EU vs CEE, and the Czech specifics are in Amazon stock in the Czech Republic. One piece of genuinely good news: the Czech Republic allows direct registration for non-EU sellers — no fiscal representative needed.

The self-diagnosis: storage list = registration list

You don’t need a consultant to work out where you stand. You need one report.

  1. 1 In Seller Central, pull an inventory report — the FBA Inventory report or the Inventory Event Detail report both work.
  2. 2 Look at the warehouse codes. They identify the country where stock physically sat: PRG is Prague (Czech Republic), WRO is Wrocław (Poland), LEJ is Leipzig (Germany).
  3. 3 Write down the distinct countries. That list is your list of required local VAT registrations.
  4. 4 OSS sits on top of those registrations and handles the cross-border B2C piece — nothing more.

Two things make this worth doing today rather than someday. First, Amazon verifies that a VAT number exists for each storage country — it doesn’t check whether you actually file returns, so a gap can sit unnoticed for a long time. Second, the tax offices aren’t waiting for you to volunteer: under DAC7, platforms like Amazon report seller identity and turnover to EU tax authorities automatically, every quarter. If your stock has been sitting in Prague, the Czech tax office can already see you.

Common setups and what each one actually needs

SetupWhere stock sitsWhat you need
OSS + one countrye.g. Germany onlyOne local registration in Germany, because that’s where the stock is stored. OSS handles cross-border B2C sales to the rest of the EU. No other registrations while nothing is stored elsewhere.
OSS + CEEGermany, Poland, Czech RepublicThree local registrations. On the Czech side that means a monthly VAT return plus a control statement (and an EC sales list where relevant), due by the 25th of the following month. OSS still handles the cross-border B2C sales.
OSS + Pan-EUAt least 2 of DE, FR, IT, ES, PLA registration in every storage country. Italy and Spain require a fiscal representative for non-EU sellers. Since 25 June 2025 Pan-EU also requires active listings on Amazon.nl. OSS sits on top for the cross-border B2C piece.
OSS aloneNowhereDoesn’t exist for an FBA seller. Your stock always sits somewhere — and that somewhere needs a registration.

If your report shows Czech storage and you have no Czech VAT number, that’s a fixable, well-trodden problem: Czech VAT registration is a €300–400 one-off, handled end-to-end, with filings prepared with a licensed Czech tax advisor in the loop. The expensive version of this story is the one where the registration happens long after the stock arrived — unfiled periods pile up, and penalties and late-payment interest come with them.

So keep OSS. It’s doing its job. Just stop asking it to do a job it was never built for.

FAQ

Frequently asked questions

I already file OSS returns — do I still need local VAT registrations? +

Yes — one in every EU country where your goods are stored. OSS only covers cross-border B2C distance sales within the EU. Domestic sales from local stock and movements of your own inventory between countries sit outside OSS entirely, and handling them requires a local VAT registration in each storage country. In the Czech Republic there is no registration threshold for non-established businesses — the obligation starts with the first taxable activity.

Does OSS cover sales shipped from a Czech warehouse? +

Partly. Sales from Czech stock to consumers in other EU countries are cross-border B2C distance sales, so those can go through OSS. But sales from Czech stock to Czech customers are domestic supplies, and the movement of your own stock into the Czech Republic must be reported locally. Both need a Czech VAT registration and local filings: a monthly VAT return and control statement, due by the 25th of the following month.

How do I find out which countries Amazon stores my stock in? +

Pull an inventory report in Seller Central — the FBA Inventory or Inventory Event Detail reports show warehouse codes that identify the country: PRG is Prague, WRO is Wrocław, LEJ is Leipzig. If you’d rather not decode it yourself, send the report to Veritax for a free 10-minute VAT check and we’ll tell you which countries create obligations — free, no strings.

OSS is not a shield.

The free 10-minute VAT check reads your Amazon inventory report and tells you which local registrations your storage actually triggers — in plain English, in writing, no strings attached.

Free VAT check