How to configure your Magento store to comply with the new EU VAT Rules

Starting January 1st 2015, all EU companies that sell digital products in the European Union need to follow new rules of applying VAT to the digital products they sell. The difference between te old rule and the new one is that buyer’s country VAT rate should apply to non-business consumers and businesses with an invalid VAT id, instead of seller’s VAT rate as before.
The guys from TNW have a more detailed explanation on the new VAT rules:
All you need to know about the 2015 EU VAT changes and how we implemented them at TNW

In this article we will only focus on explaining how you can implement this new rule in your Magento shop.

But before we get into action, here’s a table that briefly explains how you should apply VAT rates on digital products you sell in the EU (thanks to TNW):

Seller Location Buyer Valid VAT VAT Rate
EU Business YES Reverse Charge 0%
NO Customer’s country rate
EU Consumer N/A Customer’s country rate
Non EU Non EU N/A No VAT
EU Business YES Reverse Charge 0%
NO Customer’s country rate
EU Consumer N/A Customer’s country rate

Step 1 Create a new product tax class.

As specified, the new rule only needs to apply on digital services / products. Thus, we need to create a new product tax class that will be used to define the digital products you will sell on your Magento store. The tax class is used in Magento’s tax calculation system.

To add the new product tax class go to Sales > Tax > Product Tax Classes and add a new class. I called it Digital VAT

Create a new product tax class

Step 2 Import the tax rates

In each EU country we have 2 situations. If the client is a non-business or a business with an invalid VAT id, we need to apply the VAT rate of the customer’s country. But if the client is a registered business with a valid VAT code, we will apply reverse charge VAT which is 0%. Because Magento doesn’t allow us to create a tax rate which will apply to multiple countries, we need to add both rates (country standard VAT and 0% reverse charge VAT) for all 28 EU countries.
Luclky Magento ofers us the possibility to import these rates from a CSV file. To do this you need to go to Sales > Tax > Import / Export Tax Rates and import the rates. You can create your own import file or you can use this CSV I’ve created to make your work easier.

The CSV file contains both standard and reverse charge (0%) VAT rates for all 28 EU countries.

Here’s a quick look on how the rates should be saved in your system

Magento EU Countries VAT Rates

Step 3 Customer group and tax class

Since all customers are considered to be non business untill proven otherwise, we will leave the standard Magento retailer customer class and general group to be applied to all new customers.
But for business clients with valid EU VAT id we need to create a special tax class and group so that they will benefit from reverse charge of 0% VAT.

The new customer tax class I created is called EU Business Customer
EU Business Tax Class

This new customer tax class will be assigned to a new customer group in which we will automatically (you’ll see later how) add all EU business that provide a valid VAT id.

We called out new customer group: EU Business. When creating it be careful to select the previously created customer tax class called EU Business Class
EU Business Customer Group

Step 4 Create the tax rule for non-business customers

As presented above all orders for EU consumers and businesses with invalid VAT id must include the buyer’s country VAT rate. The tax rule for this scenario is quite simple to create.
Go to Sales > Tax > Manage Tax Rules and click Add New Tax Rule
Now you need to fill in the rule details:

Customer Tax Class: Retail Customer (the Magento default customer tax class)
Product Tax Class: Digital VAT (the product tax class we created earlier)
Tax Rate: This is where you need to be careful. As this rule is for non business, we need to select the standard VAT rates for all 28 EU countries (do not select any reverse charge rates here)

After you finish this process, this is how your tax rule should look like:
Magento tax rule for EU retail customers

Step 5 Create the tax rule for valid EU businesses

This step is similar to the previous one, except in this situation we will select our previously created customer tax classe and the Reverse Charge VAT Rates (which are all 0%)

Customer Tax Class: EU Business Customer (previously created)
Product Tax Class: Digital VAT
Tax Rate: All 28 reverse charge EU rates

Here’s the result
Magento VAT Final Rules

Step 6 Assign valid EU Businesses to the EU Business customer group

As I said earlier, all new customers will be considered non-business untill proven otherwise. As only registered EU businesses with valid VAT code can benefit from the reverse charge VAT, we need to be sure that we add this type of customers to a different group. Luckily, Magento already has a module to assign valid VAT registered businesses to a specific customer group. So, we only need to tell which is that group.

The settings are located in System > Configuration > Customers > Customer Configuration > Create New Account Options

Set Enable Automatic Assignment to Customer Group to Yes and choose the groups for each scenario. You can choose the same customer group for both Domestic and Intra-Union businesses because the reverse charge is always 0% for valid businesses. You can choose the General customer group for invalid VAT and for error situations, so that the buyer’s country VAT rate will apply.

Magento VAT validation group settings

Step 7 Assign the newly created product tax class to the digital products you are selling

The final step of this process is to set the new product tax class called Digital VAT to all your digital products so that the correct VAT rules will apply to your EU customers.
Set Digital VAT tax class to digital products

That’s it. Your store should now correctly calculate the VAT rates for your digital products purchased by customers in the EU.

Author avatar

Post a comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

We use cookies to give you the best experience. To find out more about cookies, please see our