Setting EU tax rules in Magento 1

When you have a shop based in he EU, tax law is not easy. To make matters worse, setting up tax rules in Magento is not very, for lack of a better word, intuitive.

But fear not! Understanding and setting up EU VAT is really not that hard. As a matter of fact, once you understand the principles, it is pretty easy to set up a EU shop that ships to countries all over the world AND get the tax rules right.

EU tax law for dummies

Disclaimer: I am a developer, not a tax expert, so this is not advice on how to manage your taxes. You need to check that with your accountant.

With that out of the way, let's see what EU tax law is all about. This is how things are for The Netherlands, but to my understanding they should be similar in all EU countries.

Say, we are selling from a Dutch webshop. in The Netherlands is 9% for low rate products (like food or pharma) and 21% for high rate products (like computers or clothing). There are also 0% products, but they are sparse.

First, here are the easy rules.

  1. When you sell to consumers or businesses in The Netherlands, you need to charge VAT.
  2. When you sell to consumers or businesses outside the EU you do not charge VAT. Customers are supposed to pay VAT in their own country.
  3. When you sell to a EU business outside your shop's country (with a valid EU VAT ID) you do not charge VAT.

Now, this is where it gets a little tricky. For products you sell to EU consumers outside the shop's own country, there are basically two rules, and they depend on a threshold set by the EU. This threshold is the total amount your shop sells in a certain country, per year. The threshold can vary per country. For instance, at the time of writing the threshold for sales to Belgium is set at 35,000 euros.

Here are the rules for EU consumers outside the shop's country:

  1. If you sell less than the threshold you charge your local VAT.
  2. If you sell more than the threshold you charge the consumer's own local VAT.

When you charge a consumer's own local VAT you need to adhere to certain rules, like registering as a business in that country and submitting a tax report there, or submit a MOSS tax report. Check with your accountant.

You can find the thresholds at the time of writing on the EU website: https://ec.europa.eu/taxation_customs/sites/taxation/files/resources/documents/taxation/vat/traders/vat_community/vat_in_ec_annexi.pdf

Setting up EU VAT rules in Magento 1

You set up vat in four places, and you best set them up in this order.

Admin › Sales › Tax › Product Tax Classes

  1. VAT High
  2. VAT Low
  3. VAT free

These tax classes are just names. They do not contain actual VAT rates, but are merely used to link your products to a certain VAT rate later on. As soon as you have created these tax classes you can open a product and choose that tax class.

Admin › Sales › Tax › Customer Tax Classes

  1. Consumer
  2. Business

These tax classes are also just names. They also do not contain actual VAT rates, but are merely used to link your customer groups to a certain VAT rate later on. As soon as you have created these tax classes you can open a customer group and choose that tax class.

Admin › Sales › Tax › Manage Tax Zones And Rates

Here, you enter the VAT tax rates for all EU countries that you sell to. You only need to enter tax rates that are higher than 0%.

Every tax rate contains:

  • A name
  • The country this rate is for
  • The rate, as a percentage

You can also set a specific rate based on stat or ZIP code, but you won't need that in EU. That is applicable in the US, where VAT rates differ per state.

So, if you shop is based in The Netherlands, and you sell product in a high and low tax rate, and you sell UNDER the threshold for France, you would need the following tax rates:

  1. Netherlands High
    Name: Netherlands High
    Country: Netherlands
    Rate 21.0000
  2. Netherlands Low
    Name: Netherlands Low
    Country: Netherlands
    Rate 6.0000
  3. France High
    Name: France High
    Country: France
    Rate 21.0000
  4. France Low
    Name: France Low
    Country: France
    Rate 6.0000
  5. Etc. High for all EU countries
  6. Etc. Low for all EU countries

Admin › Sales › Tax › Manage Tax Rules

This is where it all comes together. Here, you link product tax classes, customer groups and tax zones together.

For instance, you can create a tax rule that links tax rate 'Netherlands High' to Customer Tax Class 'Business' and Product Tax Class 'VAT High'. That means that this tax rate (21%) will be applied to a product when:

  1. The customer is in a customer group that has tax class 'Business'
  2. The product has tax class 'VAT High'
  3. The customer lives in country 'Netherlands'

If the combination customer/product/country is NOT in a tax rule, the tax will be 0%.

For a Dutch shop that sells under the EU thresholds, you would need the following rules:

  1. NL High (for consumers and business in NL)
    Customer Tax Class: 'Business' and 'Customer'
    Product Tax Class: 'VAT High'
    Tax Rate: 'Netherlands High'
  2. NL Low (for consumers and business in NL)
    Customer Tax Class: 'Business' and 'Customer'
    Product Tax Class: 'VAT Low'
    Tax Rate: 'Netherlands Low'
  3. EU High (for EU consumers outside NL)
    Customer Tax Class: 'Customer'
    Product Tax Class: 'VAT High'
    Tax Rate: 'Belgium High', 'Bulgaria High', 'Cyprus High', etc.
  4. EU Low (for EU consumers outside NL)
    Customer Tax Class: 'Customer'
    Product Tax Class: 'VAT Low'
    Tax Rate: 'Belgium Low', 'Bulgaria Low', 'Cyprus Low', etc.

Happy taxing!