New EU VAT rules 2021 #3044
Replies: 1 comment
-
@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:
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 🤞 |
Beta Was this translation helpful? Give feedback.
-
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:
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.
SendCloud has a nice example: https://www.sendcloud.co.uk/vat-shipping-costs/
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.
Beta Was this translation helpful? Give feedback.
All reactions