How Does WooCommerce Handle EU VAT on Digital Subscriptions?
How It Works
EU rules for digital services sold to consumers (commonly referenced by the old "VAT MOSS" scheme, now folded into the broader One Stop Shop system) require charging VAT at the rate of the customer's own country, not the seller's, and collecting evidence of the customer's location. WooCommerce's core tax system can be configured with the right rates, but the location-evidence and rate-selection logic specific to these digital-VAT rules typically comes from a dedicated plugin built for this compliance requirement.
Where Subscriptions Specifically Add Risk
- A customer's location evidence can go stale. EU rules generally expect location evidence to be reasonably current; a subscription renewing over months or years needs its VAT treatment periodically reconfirmed, not just locked in from the original signup indefinitely.
- A customer moving countries between renewals should, in principle, trigger a different VAT rate on the next charge — whether your tax plugin actually re-evaluates this per renewal, rather than reusing the original calculation, is worth confirming directly.
- Compatibility between the VAT plugin and WooCommerce Subscriptions' renewal order creation isn't automatic just because both are separately compatible with core WooCommerce — test the combination specifically.
- Digital vs. physical product classification matters for which VAT rules even apply — confirm the subscription product is correctly categorized in whatever tax plugin is handling this.
What to Verify
- Confirm the tax/VAT plugin in use explicitly supports WooCommerce Subscriptions renewals, not just one-time digital purchases.
- Test a renewal order specifically (not just the initial purchase) to confirm VAT recalculates correctly using current rules and rates.
- Review how location evidence is stored and whether it's revisited over a subscription's lifetime, given how long a subscription can run compared to a one-time sale.
This is a compliance question as much as a technical one — confirm the specific legal requirements with someone qualified to advise on them. For the WooCommerce-side implementation, see custom WooCommerce development.