commerce icon indicating copy to clipboard operation
commerce copied to clipboard

New EU VAT rules 2021

Open jerome2710 opened this issue 4 years ago • 1 comments

As per 1 July 2021, the VAT-rules for e-commerce in the EU have been changed. This applies to all companies selling over €10,000 a year, companies below this threshold may continue using the old rules.

For some tough reading, I refer to the official documents: https://ec.europa.eu/taxation_customs/modernising-vat-cross-border-e-commerce_en

TL;DR:

  • Suppliers are now forced to charge the VAT-rate of the customers billing country. Previously, the VAT-rate would always be the rate of the country where the supplier was located. B2B sales could enter a valid VAT-number, where the VAT would be omitted.
  • VAT on shipping costs are charged proportionally based on the VAT of the products ordered. SendCloud has a nice example: https://www.sendcloud.co.uk/vat-shipping-costs/
  • VAT is applied based on the type of products. There are standard, reduced, special and zero rates. For instance, non-essential products are usually standard. Foods are often reduced, but alcoholic drinks are considered non-essential. The categorization of products might differ per product, as of course the VAT-rate itself.

This impacts the way EU Craft Commerce shops are configured. While the VAT-rate per country is already configurable, the category per product and consequences on shipping costs are new to me. Have others already struggled with these new rules and come up with a new workflow?

We are currently debating if we should communicate all our prices including VAT and shift the margin/gain to the supplier. This way, when a customer enters of changes their billing country, the total price stays the same, whereas the build-up in VAT-percentage differs. This would be less confusing for non-business customers and way easier when creating mailings / social posts / etc. and communicating prices.

jerome2710 avatar Nov 25 '21 10:11 jerome2710

@jerome2710 I struggled with this as well in July and ended up creating a custom adjuster for this as it couldn't be managed easily within the Commerce UI.

A few notes based on the experiences I had since then:

  • I understood (but may be wrong) that the VAT rate to apply was calculated based on the country to which the goods were shipped/consumed, not the billing address. I must have seen that in an article on europa.eu ~~but can't find it anymore~~ (it's here).
  • The proportional calculation of the shipping costs VAT is something that is just too far-fetched for most companies, and also though to list in an intelligible way on an invoice. So our clients decided to set the VAT rate of shipping costs to the main VAT-rate of the destination country, thus ignoring the new regulation.
  • It is likely that the company for which you implement this logic will be needing a widget in the CMS to export a CSV with the VAT amounts totals for each VAT rate, and that between two dates. Their accountants will thank you for it.
  • We separated products by type, each type being a separate Product Type (/admin/commerce/settings/producttypes), and each possibly having a different VAT rate for each EU country. But I think that we could have used the Tax Categories (/admin/commerce/tax/taxcategories) instead.
  • The question you ask about how prices should be communicated is also an important question. Because while this law makes sense imo it does creates a bit of unexpected complexity and opens questions to which answers aren't obvious.

My 2 cents on that last point:

From discussions I had in the past I understand that it is frequent in the US for the total price of a product to be updated (with a positive difference) after you set the shipping/billing addresses in the checkout process. This is because taxes are calculated based on your state's nexus and not communicated on products listing/detail pages. Doing the same in the EU isn't what a customer expects at all → the price that they see attached to a product in a physical store or on a listing page online is the final price that they expect to pay. The reputation of the boutique would take a hit otherwise.

The math to calculate the total price would also be quite different from the US-logic, where a tax is simply added on top of the communicated price. In the EU now, if you decide that your VAT-excluded price never changes and you have to ship to another EU country, you have to remove the original VAT rate from the communicated price then add the VAT rate from the destination country. The question is: how do you communicate easily to the user that there was a negative operation (remove original VAT) followed by a positive operation (add final VAT)? It slows down the checkout process and gives one more opportunity for the customer to drop out. And it would probably be even worse to not explain/show the calculation.

The solution we found for our clients is that the VAT-included price of the product never changes. If a product is sold at 121€ in Belgium where the VAT rate is 21%, then the VAT-excluded price is 100€ and the VAT is 21€. If a customer from France (20% VAT) orders from the website, the VAT-excluded price becomes 100,83€ and the VAT is 20,17€, but the total stays the same at 121€. This means that your profits may slightly decrease or increase with every order. Not a perfect solution, but better than what I described above in my opinion.

I have no idea whether this solution is valid from a legal point of view but the legal departments of the 3 companies we worked with (2 of which being big names in the luxury sector in Europe) didn't flag this as being an issue. So we'll keep using this logic for now, until a better solution is found for both companies and consumers.

FYI: I started working on a Craft Commerce plugin that handles all of the above (both the "good" solutions and the "bad" solutions, everyone will decide how they want to handle these questions) and may be able to release it early next year 🤞

pierrestoffe avatar Dec 01 '21 17:12 pierrestoffe