VAT & Tax Compliance

VAT One-Stop Shop Quarterly Filing Checklist for EU E-Commerce Merchants

The EU OSS quarterly return covers every B2C sale to EU consumers in a single submission. Use this checklist — transaction data prep, country-rate reconciliation, MOSS portal submission, payment — to hit the deadline without scrambling.

Brice Mba
Brice Mba
CEO, REasy
Calendar with OSS filing deadline circled and a compliance checklist overlay

The Purpose of This Checklist and Its Scope

The EU One Stop Shop (OSS) quarterly VAT return — filed under Articles 369a–369x of the EU VAT Directive — is a single return that covers all B2C distance sales of goods from within the EU to consumers in other EU member states. A merchant registered for OSS in France files one return to the DGFiP portal, covering sales to German, Dutch, Spanish, Belgian, Italian, and all other EU-destination customers. The DGFiP then distributes the VAT to each destination member state's tax authority.

This checklist covers the Union OSS scheme for intra-EU goods sales. It does not cover IOSS (Import OSS), which governs non-EU origin shipments under €150 and requires monthly filing. If your store uses both, you will have two separate filing obligations on different schedules. Keep them operationally separate — mixing IOSS transaction data into an OSS return, or vice versa, is a common error that triggers reconciliation requests from the member state of identification.

Filing Deadlines: Four Fixed Dates Per Year

The OSS quarterly return schedule is fixed under Article 369g of the EU VAT Directive. The four annual deadlines are:

  • Q1 (January–March): return and payment due by 30 April
  • Q2 (April–June): return and payment due by 31 July
  • Q3 (July–September): return and payment due by 31 October
  • Q4 (October–December): return and payment due by 31 January

These deadlines do not shift for weekends or national holidays in the member state of identification. If 30 April falls on a Sunday in France, the return is still due on 30 April. Some member state portals accept submissions up to midnight of the due date in the member state's local time; verify the DGFiP portal's technical cut-off time before the final day.

A nil return — covering a quarter in which zero qualifying B2C cross-border sales occurred — must still be filed. The return is not optional when there is nothing to report. Three consecutive nil returns may trigger administrative review or deregistration from the scheme in some member states.

Step 1: Transaction Data Export from Shopify (Weeks 3–4 Before Deadline)

Begin data preparation three to four weeks before the filing deadline. The primary data source is the Shopify Tax export (available in Shopify Admin under Analytics > Reports > Taxes). Pull the export for the full calendar quarter in question — January through March for Q1, April through June for Q2, etc.

The Shopify Tax export provides transaction-level data including: order date, country of destination, product title, net sales, tax rate applied, and tax amount collected. For OSS purposes, you need to isolate:

  • All B2C orders where the destination country is an EU member state other than your member state of establishment
  • All orders where goods were dispatched from an EU warehouse (not from outside EU — those are IOSS or standard import scenarios)
  • Refunds and returns during the quarter (these reduce the taxable amount and must be deducted in the return)

Shopify's export does not automatically filter for OSS-eligible transactions only. If your store has mixed fulfilment origins (some orders from a French warehouse, some from a UK logistics partner), you must segment the export manually by fulfilment location or via a tagging rule applied at order level. For a practical example: Luminaire Décor du Nord, a French lighting brand at approximately €1.2M GMV selling across DACH and Benelux, uses a warehouse tag applied by their fulfilment partner to flag EU-origin vs UK-origin shipments at the SKU level. Their OSS data pull takes 30 minutes; their mixed-store reconciliation takes 2 hours.

Step 2: Country-by-Country VAT Rate Reconciliation

The OSS return requires reporting each destination member state's sales separately, with the destination-country VAT rate applied. The current standard VAT rates for the EU-27 (applicable to standard-rated physical goods) are:

Member StateCodeStandard VAT Rate
GermanyDE19%
FranceFR20%
ItalyIT22%
SpainES21%
NetherlandsNL21%
BelgiumBE21%
PortugalPT23%
IrelandIE23%
AustriaAT20%
FinlandFI24%
SwedenSE25%
DenmarkDK25%
PolandPL23%
Czech RepublicCZ21%
RomaniaRO19%

Reconcile the VAT rate you charged in Shopify against the correct destination-country standard rate. Shopify's tax settings may have been configured at a point-in-time rate that has since changed — VAT rates in the EU-27 are legislated domestically and can change with less than a quarter's notice. Any discrepancy between the rate collected at checkout and the rate due in the OSS return creates either a VAT underpayment (the authority will assess the shortfall) or an overpayment (a credit or refund process).

Reduced VAT rates apply to certain product categories in specific member states — some member states apply reduced rates to e-books, children's items, food supplements, or medical devices. If your Shopify catalogue includes products that may qualify for a reduced rate in the destination country, verify eligibility against the destination-country VAT rate schedule before filing at the standard rate. Over-reporting VAT is not a legally neutral outcome; it affects the amount distributed to destination member states and the amounts deductible in your own VAT accounting.

Step 3: Reconcile Refunds and Returns

Refunds processed during the quarter reduce the taxable supply. Pull the refund data from Shopify (Orders > Refunds export or the Tax report with refunds enabled) and match each refund to the originating order's destination country and VAT rate. Refunds must be reported in the quarter in which they are processed, not the quarter of the original sale — if a Q1 order is refunded in Q2, the refund adjustment appears in the Q2 return, not amended back into the Q1 return.

We are not saying the refund timing rule is intuitive — it is a source of confusion for almost every merchant filing their first full year of OSS returns. We are saying it is the correct treatment under the OSS filing guidance and that back-amending a submitted OSS return (which is technically possible through the DGFiP portal) is considerably more work than correctly assigning refunds to the current quarter at the time of filing.

Step 4: Portal Submission via the MOSS Portal

OSS returns for France-registered merchants are submitted through the DGFiP's OSS portal, accessible via impots.gouv.fr under the "Professionnel" section. The portal interface requires:

  1. Select the reporting period (quarter and year)
  2. Enter the total net sales value (excluding VAT) per destination member state, in euros
  3. The portal calculates the VAT due based on the destination rate — verify this matches your reconciliation workbook
  4. Confirm the return and generate the payment reference

Payment is made by bank transfer to the DGFiP bank account designated for OSS collections. The payment reference from the portal must appear in the bank transfer description. Payment must clear by the deadline — not just be initiated. Wire transfers to French tax authorities typically clear same-day for SEPA transfers from French accounts; merchants paying from a non-SEPA bank account should allow 2–3 business days and initiate payment before the deadline date.

The portal does not accept partial payments — the full amount shown in the confirmed return must be paid in a single transfer. If you have discovered a data error after submission but before payment, contact the DGFiP directly for guidance; an amended return (correction) filed before payment is handled differently from an amendment filed after payment has been received.

Step 5: Archive Everything for the Audit Period

EU customs and tax authorities have the right to audit OSS filings for a period of 10 years from the end of the year in which the return was due (this is the record-keeping requirement specified in the OSS implementing regulations, which extend beyond the standard domestic VAT audit window). The OSS-specific records you must retain include:

  • The Shopify transaction data used to prepare the return (order-level CSV with country, amount, VAT rate, date)
  • The reconciliation workbook showing how the Shopify data maps to each country's return line
  • The submitted return (downloadable PDF from the DGFiP portal)
  • The bank transfer confirmation for the VAT payment
  • Any amended returns and their supporting calculations

Store these records in a location accessible to your accountant and your customs advisor. An OSS audit request from a destination member state's tax authority — which they have the right to initiate independently, not just through the member state of identification — will typically ask for the transaction-level evidence that supports the return, not just the return itself. A clean audit trail from Shopify export to portal submission to payment is the fastest way to close an audit.

Where the Process Breaks Down in Practice

In the onboarding and filing-support work we do with growing EU Shopify merchants, four failure patterns appear consistently in OSS filings:

Shopify tax settings not updated when destination-country rates change. If the DGFiP portal shows a different VAT rate for a member state than your Shopify checkout applied, you have either under-collected or over-collected VAT during the quarter. The correct action is to file the return at the legally correct rate (as due to the destination state), not at the rate you actually collected, and to adjust your Shopify settings before the next quarter opens.

IOSS transactions included in the OSS export. If your Shopify store processes both intra-EU-origin and non-EU-origin shipments, the Shopify Tax export will include both. OSS covers only intra-EU distance sales. Non-EU origin sub-€150 sales must be reported through IOSS, not OSS. Including them in OSS over-states your intra-EU VAT liability and understates your IOSS VAT liability — a reconciliation that both DGFiP and the IOSS scheme authorities will eventually flag.

Filing a return for a quarter before the OSS registration was active. OSS registration takes effect from the first day of the quarter following the quarter in which the registration application was submitted (with limited exception for new businesses). Sales made before the OSS registration was active cannot be included in the OSS return — they should have been handled through local VAT registrations in each destination member state. If they were not, this is a prior-period compliance issue that requires a separate remediation path.

Missing the payment deadline by assuming it matches the return deadline. Return submission and payment are separate acts. The portal accepts returns up to the deadline; payment must also clear by the deadline. Most merchants who miss OSS deadlines miss the payment, not the submission — their return is correctly filed but their bank transfer was initiated too late to clear. The late payment triggers an interest charge and a formal notice from the DGFiP, which some merchants mistake for a penalty on the return itself.

REasy pre-populates your quarterly OSS return from live transaction data. Review, approve, and submit in minutes.

Book a Demo

Related guides