#EUVATOneStopShopguide#OSSVATstartupguide#Unionschemenon-UnionschemeIOSS#EUR10000VATthreshold#OSSrecordkeeping#quarterlyOSSreturn

A founder's guide to the EU VAT One Stop Shop

The EU VAT One Stop Shop looks simple until you map real startup sales to it. The practical work is deciding what you sold, which scheme applies, when the EUR 10,000 threshold matters, and whether your records will hold up later.

Why founders still get stuck on OSS

OSS sounds like an administrative shortcut, and it is, but only after the VAT logic is already right. Founders usually do not get blocked by the return itself. They get blocked by uncertainty around product type, customer country, scheme choice, refunds, and missing evidence.

That is why a useful OSS guide needs to start before filing day. You need a working decision model for each sale, not just a reminder that a portal exists.

What the One Stop Shop actually is

The One Stop Shop is an EU system that lets a business register once, file through one Member State, and make one VAT payment for eligible cross-border consumer sales. The tax authority in that Member State then passes the VAT on to the Member States where the VAT is due.

OSS is optional, but once you choose a scheme you use it for all supplies that fall under that scheme. It is not designed for selectively filing some countries through OSS and keeping others outside it just because that feels easier operationally.

  • One registration
  • One return per scheme period
  • One payment through the Member State of identification
  • The domestic VAT return still continues separately

When OSS is relevant and when it is not

OSS is about eligible B2C sales where VAT is due in another Member State. Domestic sales still stay in the domestic return, and many B2B transactions follow different place-of-supply and reverse-charge rules instead of landing in OSS.

That distinction matters because many early-stage teams export every payment row into one VAT spreadsheet. A cleaner setup separates domestic, B2B, and cross-border B2C flows before anything gets near an OSS filing workflow.

  • Domestic sales are not declared through OSS
  • Many B2B sales sit outside OSS
  • OSS matters when consumer VAT is due in another Member State

Union scheme, non-Union scheme, and import scheme

There is not just one OSS. The Union scheme, non-Union scheme, and import scheme exist for different business setups and transaction types. If you start with the wrong scheme, the process feels confusing immediately because the rules do not line up with the sales you are trying to report.

EU-established businesses usually look first at the Union scheme. Non-EU businesses with no EU fixed establishment usually look at the non-Union scheme for services. Imported low-value goods are a separate IOSS question rather than a normal quarterly OSS workflow.

  • Union scheme: cross-border B2C goods and services covered by the Union rules
  • Non-Union scheme: services supplied by non-EU businesses with no EU fixed establishment
  • Import scheme: imported goods up to EUR 150, filed monthly rather than quarterly

How the EUR 10,000 threshold works in practice

The EUR 10,000 threshold is real, but many founders apply it too broadly. It is mainly relevant where a supplier is established in a single Member State and the covered cross-border sales stay under the limit in both the current and preceding calendar year. Once the threshold is exceeded, destination-country VAT usually applies.

In practice, the threshold is not a substitute for tracking. If your sales are growing, you need a running threshold view and a clear switch-over point. If you operate from outside the EU or have a more complex establishment footprint, do not assume the threshold protects you.

  • It is one EU-wide threshold, not one threshold per country
  • It covers the combined value of the relevant supplies
  • Once exceeded, the normal destination-based rule applies

What checkout data and records you need

OSS is much easier when the checkout already captures the fields the finance or ops team will need later. You want the transaction identifier, gross amount, currency, product classification, and enough country evidence to support the place of consumption.

The record-keeping obligation is long. If a transaction lands in OSS, you should assume you may need to explain it years later. That means the evidence trail cannot live only in someone memory, a support ticket, or a spreadsheet column that gets overwritten.

  • Billing country
  • Card, bank, IP, or shipping country where relevant and lawfully collected
  • Gross amount and currency
  • Refunds, reversals, and correction history
  • Product or service classification

What the quarterly operating rhythm looks like

For the Union and non-Union scheme, the return period is quarterly and the return is due by the end of the month following that quarter. If there were no eligible supplies, a nil return can still be required. That catches teams who assume no sales means no filing work at all.

The quarterly process should not start on the deadline week. A calmer workflow is to classify sales as they come in, reconcile refunds before period close, review rows with conflicting evidence, and then export country totals when the quarter ends.

  • Quarterly return for Union and non-Union OSS
  • Nil returns can still be required
  • Pay and file by the end of the month after the period
  • Keep records for up to 10 years

Common startup mistakes

Most OSS mistakes are process mistakes. Teams rely on one country signal, mix B2B and B2C together, ignore refunds until after the filing cutoff, or assume Stripe export columns are already enough without checking the evidence quality.

Another common mistake is believing OSS replaces every other VAT obligation. It does not. Domestic obligations still exist, and some sales still need different handling entirely.

  • Using one country field as if it were final evidence
  • Mixing B2B and B2C in the same reporting bucket
  • Treating refunds as an afterthought
  • Assuming OSS replaces domestic VAT work

Where SaldoKit fits

SaldoKit is meant for the operational gap between Stripe and the filing portal. It gives startup teams a place to import payment data, keep the country evidence visible, group VAT by Member State, and hold rows in review when the evidence or treatment is not strong enough yet.

That does not turn VAT into magic. It does make the process far easier to review, explain, and repeat each quarter.

Selling across the EU on Stripe and staring down OSS? Skip the spreadsheet.

Try it free with demo data

References