If you’re wondering what developers are doing over in Europe today, a good guess (besides recovering from a hangover) would be that they are trying to figure out how to implement the new EU VAT rules. If you have a business and you’re selling digital products or services to people and businesses in EU countries, these new rules apply to you.
Note to tech companies outside the EU: Although nothing changes for you when selling digital products to EU companies or consumers, officially you have to charge VAT rates of the country of the buyer (since 2003). I don’t get the feeling that any US startup is paying attention to this, or has implemented it, for that matter. I have yet to see the first VAT implementation by a US startup. I think all companies outside of the EU are just keeping quiet and ignoring the law while happily selling digital goods to the EU. In case you wonder how you should be compliant with the tax laws, read on.
For EU companies, this is a must read to save time, discussion and avoid unnecessary fines from tax authorities.
Although these rules are a pain and make no sense to small businesses, do not despair because we’ve already implemented them and will explain how you can do the same, and why they changed in the first place.
How to implement the new VAT rules:
As of January 1st 2015 all EU companies that sell digital goods online should comply with the following new rules:
– if the company sells to any countries in the EU, they will have to charge VAT in the country of the buyer instead of the seller.
– if the receiving party of the digital goods is a consumer, the company has to charge the VAT percentage from the country of the buyer
– if the receiving party of the digital goods is a company (with a valid VAT number) a reverse charge mechanism is in order, in understandable English this means there is a 0 percent VAT charge.
– if the receiving party of the digital goods is a company without a VAT number or has an incorrect VAT number, the VAT of the country of the buyer must be charged.
– if the company sells digital goods to companies or consumers in their own country, local VAT needs to be charged.
The ‘definitive’ guide to EU VAT charges
I asked my girlfriend to make the ‘definitive guide to EU VAT for digital goods’ on a napkin, as my handwriting cannot be deciphered. Here is the result:
You can see our implementation when signing up for a TNW Pro account (which you should totally do of course, for just $30 per year).
Example 1: Customer is from the same EU country
Note: as you can see we pre-select the country of the customer based on their IP address, and the corresponding VAT charge is added (in this case 21 percent VAT for the Netherlands).
There is a check box to indicate that you’re buying on behalf of a company. In this case it doesn’t matter if I’m buying as a consumer or a business as the payment is going to TNW (the Netherlands) from a buyer also in the Netherlands, so local VAT is always charged.
Example 2: Customer (consumer) is from a different EU country
Note: Here you see I selected Austria as the buyer’s country. As this is different than my IP address tells us, we’re showing a small note to confirm your billing country is Austria. Austrian VAT is charged (20%).
Example 3: Customer (business) is from a different EU country without valid VAT number
In this case I toggled the checkbox ‘I’m purchasing for a company’, but I didn’t fill out a valid VAT number. Here, the customer might be a business but doesn’t have a valid VAT number, so we need to charge Austrian VAT (20%).
Example 4: Customer (business) is from a different EU country with valid VAT number
Here we check if the VAT number is correct. If it is, the VAT charge is 0% and isn’t shown.
What data do you need to store?
You need to have the following data on your customers:
– where they are from
– if they are a company or consumer
– the VAT number (we use this service provided by the EU to check the VAT in real time)
– the amount charged
– the VAT charged
– the VAT percentage charged (check jsonvat for the different VAT rates per country)
In case the buyer’s country differs from the buyer’s location when purchasing (see the example above), you need to add an extra check to make sure that the country where they will consume the digital goods is correct. This is a pain, but when looking at our implementation it comes out quite nicely in the end.
The bad news
Of course these changes take time and money to implement, it’s probably not something you planned to spend valuable development time on. The implementation itself didn’t take too long (just 5 hours), but looking into the matter and discussing the best way to put it all together took way more time (3 people, 2 meetings, extensive Googling, a coffee with a befriended tax lawyer and some chatter at the espresso machine). That said, we did all the pre-work for you and now you have a guide, so take advantage of it.
For small companies there is even more bad news. The EU has removed all tax thresholds. So selling just a small amount abroad means you have to register and keep VAT records. Many countries had a policy to exempt small companies with less turn over than x, but in most countries this threshold has now been removed for online businesses.
If you have an e-commerce business and use a standard platform, I’d recommend asking them if they are ready / compliant with the new rules and point them to this post. If they haven’t implemented a standard solution for this yet, they should offer something to small businesses soon or they risk losing EU customers.
I hope this post helped you, let me know in the comments or on social media how you’re implementation goes.
P.S. In the EU they are creating so-called One Stop VAT shops, so a company can get their VAT payments back from one place instead of applying for the refund in all the countries in which it sold goods. I saw this coming 4 years ago, so I registered some sweet domain names to build onestopvatshops. If you’re interested, ping me.
Featured image credit: Shutterstock
Get the TNW newsletter
Get the most important tech news in your inbox each week.