Skip to main content
EU OSS / One-Stop-Shop VAT for Magento 2 — A build-to-order Magento 2 / Adobe Commerce extension that applies destination-cou — 1/1Illustrative preview

A build-to-order Magento 2 / Adobe Commerce extension that applies destination-country VAT to cross-border B2C

EU orders, tracks the EUR 10,000 OSS threshold, and exports OSS-ready quarterly reports. Built, installed, and supported by

ECOSIRE on your store.

What is EU OSS / One-Stop-Shop VAT for Magento 2?

A build-to-order Magento 2 / Adobe Commerce extension that applies destination-country VAT to cross-border B2C EU orders, tracks the EUR 10,000 OSS threshold, and exports OSS-ready quarterly reports. Built, installed, and supported by ECOSIRE on your store. Built to order by ECOSIRE for Magento 2 / Adobe Commerce (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Destination-country VAT applied to cross-border B2C EU orders via a plugin (interceptor) around Magento's tax calculation, applied at quote, invoice, and credit-memo time without overwriting your existing tax_calculation_rule setup
Per-country EU VAT rate table stored in a dedicated module table, editable from a dedicated admin grid and exposed through a service contract (OssRateRepositoryInterface)
Automatic EUR 10,000 OSS threshold tracking: a cron job accumulates rolling cross-border B2C turnover and raises an admin notification as you approach the limit
Scheduled rate auto-update: cron refreshes standard/reduced VAT rates per member state so you are not hand-editing tax_calculation_rate rows
OSS quarterly return export (CSV/XML to your agreed format) summarizing net and VAT per destination country for the filing period
Per-destination-country tax breakdown report in the admin, drillable to individual orders, invoices, and credit memos
B2B vs B2C handling: valid VAT-ID intra-community orders (reverse charge) are excluded from OSS accumulation; configurable VIES-style validation hook
REST and GraphQL endpoints so headless/PWA Studio and Hyva storefronts get correct destination VAT and can read OSS rate data
Admin ACL resource (Ecosire_EuOssVat::oss) so only authorized roles can edit rates, view reports, and run exports
Store-view and website scope aware: rates and OSS configuration respect Magento's multi-store/multi-website scoping for sellers running several EU storefronts
Multi-currency aware: VAT computed on the order's presentment currency with base-currency totals stored for OSS reconciliation
Configurable VAT-exempt and reduced-rate product mapping by attribute so books, food, or zero-rated SKUs use the correct member-state rate

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Magento 2.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

About this Product

Since July 2021, an EU B2C seller crossing EUR 10,000 in annual cross-border distance sales must charge the VAT rate of the customer's destination country and remit it through a single One-Stop-Shop (OSS) quarterly return. Magento Open Source and Adobe Commerce ship a flexible but origin/manual tax engine — tax_calculation_rate and tax_calculation_rule tables driven by zip/region rules. They have no native concept of an OSS threshold, no destination-rate library, and no OSS return export. Merchants end up hand-maintaining dozens of rate rows and reconciling returns in spreadsheets.

This is a build-to-order extension. ECOSIRE designs, builds, installs, and supports it on your Magento install — it is not an instant Adobe Commerce Marketplace download. We deliver a proper module under app/code/Ecosire/EuOssVat that hooks Magento's tax subsystem the right way: a plugin (interceptor) around Magento\Tax\Model\Calculation\Rate plus an observer on tax_rate_data_fetch/sales events so destination VAT is applied at quote and invoice time without overwriting your existing rules. Rates are stored in a dedicated table, exposed through a service contract (Api/OssRateRepositoryInterface), and surfaced over REST and GraphQL for headless/PWA storefronts.

A cron job keeps the per-country rate table current and accumulates cross-border B2C turnover so the store flags when you approach EUR 10,000. An admin grid (with its own Ecosire_EuOssVat::oss ACL resource) shows tax broken down per destination country, and a one-click export produces an OSS quarterly return file your accountant or tax portal can consume.

Scope, edge cases (mixed B2B/B2C carts, VAT-exempt SKUs, marketplace deemed-supplier rules), and your exact reporting format are agreed up front. Honest delivery: a working build on a staging copy of your store, then production install and a support window — see the FAQs for lead time.

What you get

  • A custom Magento 2 module (Ecosire_EuOssVat) under app/code with composer.json, registration.php, module.xml, di.xml, and acl.xml — installable via setup:upgrade
  • Database schema (db_schema.xml) for the OSS rate table and turnover-accumulation table, with declarative upgrade-safe migrations
  • Installation on a staging copy of your store first, then production deployment, including setup:di:compile and static content deploy verification
  • Admin configuration: OSS rate grid, threshold settings, country/rate mapping, and the destination tax breakdown report wired to the ACL resource
  • Cron jobs (crontab.xml) for rate refresh and threshold accumulation, plus the OSS quarterly export action
  • REST and GraphQL coverage (webapi.xml / schema.graphqls) for destination VAT and OSS rate data, documented for your storefront team
  • A short admin runbook: how to read the per-country breakdown, run the quarterly export, and update rates when EU rates change
  • A defined post-delivery support window for bug fixes and Magento patch-compatibility (scope agreed before build)

Who this is for

Cross-border EU DTC brand owner

Sells direct-to-consumer across multiple EU countries on Magento Open Source, has crossed (or is about to cross) the EUR 10,000 distance-sales threshold, and needs destination VAT charged correctly so OSS returns are defensible rather than reconstructed from spreadsheets.

Finance / VAT compliance lead

Responsible for filing the OSS quarterly return. Wants net and VAT totals broken down per destination country directly from the store of record, with an export that maps to the tax portal or the accountant's template — not manual extraction from Magento reports.

Magento developer or agency lead

Maintains the merchant's Adobe Commerce or Open Source install and wants destination-VAT logic delivered as a clean, upgrade-safe module (plugins, service contracts, ACL, GraphQL) that survives Magento patch cycles rather than core hacks or fragile tax-rule sprawl.

How EU OSS / One-Stop-Shop VAT for Magento 2 Compares

CriterionECOSIRECustom BuildCompetitorMagento 2 Native
Charges destination-country VAT on cross-border B2C EU ordersIncludedPartial supportIncludedNot included
Automatic EUR 10,000 OSS threshold tracking with alertsIncludedPartial supportPartial supportNot included
OSS quarterly return export in your agreed formatIncludedPartial supportPartial supportNot included
Auto-updating per-country EU VAT rate table (cron)IncludedNot includedIncludedNot included
Built, installed, and supported on your specific storeIncludedIncludedNot includedNot included
Tailored to your exact B2B/B2C, exempt-SKU and reporting edge casesIncludedIncludedPartial supportNot included
Instant self-service download / immediate availabilityNot includedNot includedIncludedIncluded
REST + GraphQL coverage for headless/PWA storefrontsIncludedPartial supportPartial supportNot included

Frequently Asked Questions about EU OSS / One-Stop-Shop VAT

How long does delivery take, since this is build-to-order?

After a short scoping call we confirm your VAT edge cases (B2B/B2C mix, exempt SKUs, currencies, store scopes) and reporting format. A typical build is delivered on a staging copy of your store within about one working week, followed by production install once you've signed off. We give you a firm date in writing after scoping — this is not an instant Adobe Commerce Marketplace download; it is a module we build and install on your specific Magento environment.

What ongoing support and updates are included?

Each build includes a defined post-delivery support window (agreed before we start) covering bug fixes and compatibility with Magento security patches released during that window. EU VAT rates change periodically; the cron-based rate refresh keeps the per-country table current, and we can provide a longer maintenance agreement to track legislative changes and Magento version upgrades beyond the initial window.

Does this work on both Magento Open Source and Adobe Commerce?

Yes. The module targets standard Magento 2 APIs — service contracts, plugins, observers, db_schema.xml, REST/GraphQL — that are identical across Magento Open Source and Adobe Commerce, so it installs on either. On Adobe Commerce we also account for B2B company accounts and shared-catalog scenarios during scoping if they apply to your store.

Will it conflict with my existing tax rules or another tax extension?

It is designed not to. The extension uses a plugin (interceptor) and observers to apply destination VAT for qualifying cross-border B2C orders rather than rewriting your tax_calculation_rate and tax_calculation_rule data, so your domestic and B2B rules keep working. If you run another tax engine such as a third-party automation service, we review the interaction during scoping and define a clear order of precedence.

Does it generate the actual OSS return I submit to the tax authority?

It produces an OSS-ready quarterly export — net and VAT totals broken down per destination country in the format we agree (CSV or XML) — sourced directly from your orders, invoices, and credit memos. That file is built to drop into your OSS portal submission or your accountant's template. ECOSIRE builds the data export and the per-country reconciliation; we do not file the return on your behalf or act as your tax advisor.

How does the EUR 10,000 threshold tracking actually work?

A cron job accumulates your rolling cross-border B2C distance-sales turnover (excluding domestic sales and valid reverse-charge B2B orders) and stores it in a dedicated table. The admin shows current progress toward the EUR 10,000 EU-wide threshold and raises a notification as you approach it, so you can register for OSS and switch to destination VAT at the right time instead of discovering the crossing after the fact.

Request a quote

EU OSS / One-Stop-Shop VAT

A build-to-order Magento 2 / Adobe Commerce extension that applies destination-country VAT to cross-border B2C EU orders, tracks the EUR 10,000 OSS threshold, and exports OSS-ready quarterly reports. Built, installed, and supported by ECOSIRE on your store.

  • Destination-country VAT applied to cross-border B2C EU orders via a plugin (interceptor) around Magento's tax calculation, applied at quote, invoice, and credit-memo time without overwriting your existing tax_calculation_rule setup
  • Per-country EU VAT rate table stored in a dedicated module table, editable from a dedicated admin grid and exposed through a service contract (OssRateRepositoryInterface)
  • Automatic EUR 10,000 OSS threshold tracking: a cron job accumulates rolling cross-border B2C turnover and raises an admin notification as you approach the limit
  • Scheduled rate auto-update: cron refreshes standard/reduced VAT rates per member state so you are not hand-editing tax_calculation_rate rows

Request a Quotation

Tell us about your EU OSS / One-Stop-Shop VAT requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.