Screaming Frog Changes For VAT In 2015
Dan Sharp
Posted 5 January, 2015 by Dan Sharp in Screaming Frog
Screaming Frog Changes For VAT In 2015
I’m writing this post on the eve of 2015, as I prepare to update 28 VAT rates for each country in the EU as they enter the New Year.
We first found out about the EU VAT changes on the 26th November, just over a month before they came into effect. We have been VAT registered for 5 years, and have been selling our SEO Spider software into all 28 EU countries for the last 4 years – but haven’t received a single communication from HMRC about the change. We found out by chance on Twitter, due to the #vatmoss #vatmess discussion. Arguably our accountants should have communicated these to us much earlier, but these laws were actually passed in 2008 as part of the ‘VAT package’, but have only more recently been discovered by many of those that are affected.
The change itself sounds simple enough; telecommunications, broadcasting and electronic services will always be taxed in the country where the customer belongs when the product or service is automatically delivered over the internet, or an electronic network, where there is minimal or no human intervention.
The idea behind this is to stop larger companies from basing themselves in low VAT countries, such as Luxembourg, to reduce tax being paid (*cough*, Amazon). However, with these changes small businesses are now required to collect VAT on behalf of 28 countries, rather than just one. To avoid the administration nightmare of registering for VAT in each of the 28 countries, we can register at the VAT Mini One Stop Shop (MOSS) who will transfer the VAT collected to the appropriate countries.
I can understand why they want to make the change, but I don’t believe the impact it will have on smaller and ‘micro business’ was really considered, or at least, really cared about in any way. I won’t go into any more detail about this, but just say that the comment by Andrew Webb (OBE!) in the ‘Taxamo 100 Day Countdown Event’ at around 20:50 where he says “I’m not aware of any business supplying into 28 member states”, gives us an indication as to how little research into the practical impact of the changes must have been done. After all, we have to submit an EC Sales List every quarter detailing all of our EU sales.
I want to focus the remainder of this post on exactly that; the changes we’ve had to make based on the rules laid out and why we made them.
Determining The Status Of The Customer
The first step in the new process is, for an EU based customer, determining if the sale is Business to Business (B2B) or Business to Consumer. VAT should only be charged if the sale is B2C.
The suggested way of doing this from HMRC is:
If you supply digital services and your customer doesn’t provide you with a VAT Registration Number (VRN) then you should treat it as a business to consumer supply and charge the VAT due in the customer’s member state.
Our shopping cart already had the ability to do this, by using the VIES VAT number validation service. When a customer provides us with a valid VAT number we don’t charge them any VAT, and they are responsible for accounting for it with their local tax authority. We’ve been using the SOAP API to validate VAT numbers during the checkout phase since our new account system went live in September.
As this system provides the only automated way (remember, the new rules only regard sales systems with ‘minimal human intervention’) you’d think this would be a highly available service. The extensive scheduled downtime is quite laughable for such a key service in this new law. For example, validation of a UK VAT number can’t be done between 04:30 and 04:40 ‘almost daily’ and for a 3 hour period on Saturdays between 07:30 and 10:30. The Netherlands could be unavailable for a whole day at the weekend.
Since going live, we’ve received several reports from customers trying to purchase a licence that the service was down outside of the scheduled downtime. When this happens we provide a link to the VIES service page that shows each members states current status for both Web and WS (Web service, ie the SOAP interface we are using). Unfortunately we’ve found this page to be completely inaccurate, stating services are up when they are not. This is just a little frustrating.
Intrigued by this, we decided to start monitoring the service to test uptime. We put together a simple script that tries to validate a VAT number from each of the 28 states once a minute with a 1 second gap between requests. We’ve been running this monitor script for a month, since early December, and found quite a variation across member states, and no real correlation between the results and the stated scheduled downtimes for each state.
Based on the data we’ve collected the VIES service is up 99.38% of the time, but there are large variations across member states. Croatia is the most reliable service, with an impressive 99.99% uptime. The German system appears to be the least reliable, with a disappointng 96.62% uptime, and a maximum period of unavailability of 54 minutes. The league table below summarises our findings, we’ve also got the full results in csv format for anyone who fancies doing some further analysis.
Gathering Evidence
The second challenge we had was around evidence of the customer’s location. We must now store two items of ‘non conflicting information’ regarding the customer’s location, as evidence to justify our VAT charge decision. The non exhaustive list provided is:
- The billing address of the customer
- The Internet Protocol (IP) address of the device used by the customer
- Customer’s bank details
- The country code of SIM card used by the customer
- The location of the customer’s fixed land line through which the service is supplied
- Other commercially relevant information (for example, product coding information which electronically links the sale to a particular jurisdiction)
Analysing this list from our perspective, billing address is an obvious choice. Choosing a second piece of evidence was more tricky however. Using an IP address is going to be very hit and miss – anyone traveling or using a VPN/Proxy will appear from a location that doesn’t match the billing address. We don’t have access to the customer’s bank details, so that’s off the table as well. As we’re selling via our website, neither SIM card nor fixed land line are relevant.
As for ‘other commercially relevant information’ – we don’t ask users for any additional information except for an optional email address to send the licence to, and much like IP address it would be very error prone to use this (we’ve seen people suggest the idea of using the top level domain of an email address as evidence!). After watching the webinar (embedded above) with Vince Gable, VAT expert Esteban van Goor mentions the idea of ‘self-certification’ (around 37:50).
It’s only when you read the explanatory notes that you can see an additional line that says:
(6) Customer self-certification – When the subscriber provides confirmation (e.g. within the online ordering process) regarding his country, his bank details (especially information where a bank account is) and credit card information, this could be taken to be ‘commercially relevant information’.
Our interpretation of this is to provide the following tick box, based on the billing address:
This must be ticked in order to complete the checkout.
Maintenance
Now, rather than tracking a single VAT rate, we have to track 28 separate country rates. There is currently no API available to get these rates.
They are stored in a single PDF document, that must be manually monitored for changes. The EU should be putting together a free API for this, to remove the burden from vendors. We submitted a question to Andrew Webb in the Q&A webinar, he answers this at 32:30.
The response, whilst acknowledging that it was ‘clunky’, was to essentially monitor a PDF – cutting edge stuff for 2015. There isn’t even a page of updates or a change log anywhere, we are just supposed to check all the rates and hope to notice one which has changed. Another example of how little thought has been put into the infrastructure required to supported these rule changes.
Other Implications
Our shopping cart allows us to define VAT rates on a per country basis, but not on a per product or product type basis. The implication of this is that if we wanted to ‘sell’ any physical products (hoodie anyone?) we’d have to make significant changes to the shopping cart.
Unresolved Issues
When looking over the pdf document that contains the VAT rates for the EU, we noticed that on pages 22 & 23 there are some regional variations for some countries.
The standard rate for Portugal is 23%, however in the Azores it’s 18% and for Madeira it’s 22%. We did submit this as a question in the Q&A webinar, but unfortunately it wasn’t included, so instead we emailed all of the tax authorities to whom this applies, and have received answers from about half of them. Unsurprisingly they take differing views on how to deal with this. Some seemed to take a pragmatic view, for example Portugal confirmed that for MOSS purposes we can treat the examples above as the mainland rate; some acknowledged they need to update the VIES document to be less ambiguous (Finland) and some confirmed that yes, we should be charging differing VAT rates per country. Although the territories involved are small and will probably never buy our software, it is mainly for this reason we couldn’t use any of the third-party VAT API providers as none of them we looked into could deal with this properly.
HRMC Correspondence
We called the HRMC on the 27th of November to request clarification on a number of issues. The operator we spoke to had no real understanding of these changes, simply reading back to us the information from the HMRC website.
In the view of the operator, we should be attempting to ‘identify the customer’s location at the time of the purchase’, not their normal place of residence. We requested a call back with one of their technical experts, and almost 6 weeks’ later we’ve still yet to receive it…
Conclusion
It was disappointing to find out about such a significant change so late in the year and not from an official correspondence by HRMC. They say they’ve worked hard to communicate these changes to businesses, but clearly, they failed along the way for so many.
We are fortunate that our shopping cart was (with a few days of modifications) able to be adapt to handle the new VAT rules. As mentioned above, while it only took a few days to actually make the required modifications, it took us longer to decipher the new rules, in particular those around ‘gathering evidence’. The ‘Customer self-certification’ method is the most simple and robust for us, yet only appears in the explanatory notes PDF for example.
We also have some serious concerns about the robustness of the VIES system, which just isn’t up to the required standard currently (as per our testing outlined above). We expect this will continue to cause us issues, especially as the system is likely to see an increase in demand during 2015.
Finally, it looks like everyone in the UK will need to keep their fingers crossed for as few VAT rate changes as possible across the EU…
Thank you for an excellent article, which is rich in detail and shows clearly just how illogical and ill-thought out the whole sorry #VATMOSS #VATMESS is! C’mon programmers, we need more APIs to help us!!!!
Wishing you and your business every success in 2015!
Thanks for your comment and tweets Callie.
It is rather amazing to be told to monitor a PDF…!
Cheers.
Dan
You’re absolutely right that there isn’t an official API for fetching VAT rates (and that there should be) — but at least there is an unofficial one: http://jsonvat.com/
The JSON document returned by this ignores regional variations, though it looks like the developer is working on that.
Thanks for sharing Andrew!
Here’s what’s been bothering me about that Taxamo video since December.
What immediately jumps out at you from the screen cap is the body language on Andrew Webb. It screams complacency and arrogance.
Beyond that, what it is is the disturbing picture of an HMRC project manager allowing a private contractor with a financial interest to lead and control the discussion.
That video was filmed and posted before this HMRC session http://ysolda.com/blog/2014/11/26/they-didnt-know-the-impact-of-vatmoss-on-really-small-businesses in which Mr Webb was introduced to the concept of anyone other than VAT registered businesses – much less small businesses and sole traders – being affected by this issue at all.
Look at him sitting there all smug like VATMOSS is a feather in his cap – when he had absolutely no clue at all.
There are many things wrong with the way VATMOSS has been implemented in the UK, and one of them is that HMRC allowed the tail to wag the dog. They got too close to a private financial interest. How very American.
I attended the Taxamo session with Andrew Webb which took place 100 days before 1 January – even at that late stage it should have been clear that very many small businesses would be affected but Webb blithely assumed that platforms would take care of any problems that might arise. Since that meeting HMRC have made some very significant concessions as the #VATMOSS #VATMESS campaign forced them to acknowledge the problems that a lack of forethought had created. The only thing I’d add here is that I would have thought that the number of non-business clients of a company like this must be minute and yet they still need to create processes to account for B2C transactions at clearly significant cost – well done EU and HMRC!
There is also a VAT API (commercial, though) at https://vatapi.com — I intend to use it for client projects (no relationship with the VAT API people, just someone else looking for a solution) which would address the issue of rates changing.
Great writeup, thanks!
The self-certification idea was picked up by another person who built a Woocommerce VAT addon for WP.
What I dont understand is, what happens when the person says he’s not from Spain (looking at the screenshot above)? He cant check out, so he clicks the Contact Us page. Then what?
How do you handle the client that is say a german, who moved to say Spain, and he now lives in Spain, but has all his documents in Germany, so he’s not a citizen of spain per-se.
Also, how do you handle a client that say has his paypal from… Slovenia, but lives outside the EU?
What is the next step after the client contacts you? Do you just say “Sorry we cant sell our product to you” or you somehow take the payment “manually” and then submit the VAT to… which country?
Thanks!
Hi Igor,
Very good question. We are 7 days in now and have yet to have anyone need to contact us because of this.
The ‘Contact Us’ option was our ‘get out of jail’ card in reality. We don¹t want to force customers into lying to purchase a licence, and we don’t want to turn them away either.
So the idea is that they would contact support and we’d handle the sale on a case by case basis (which would obviously be manual and time consuming). At that stage we would probably have grounds to charge UK VAT, as we’d have gone past the point of minimal human intervention.
(Interesting to hear someone else picked up on the self-certification in a Woocommerce VAT add-on as well!)
Cheers.
Dan
Hi Dan. Thanks for the response. So… let’s take a hypothetical case. I am from Denmark (not really, but just play along :)). I want to get a licence key and use the Contact Us feature.
Now, since the email response will have to involve a sales rep to read and type up an email, do you think this is a good enough “human interaction” to get past the Vat-mad thing?
Im building a social SEO automation platform (populizr.com, still under ridiculously heavy construction). I’ll be naturally selling this as SaaS. Do you think that a Contact Us trick would work?
Hi Igor,
No worries. Yes, we think that will do it, as it goes beyond ‘minimal human interaction’ – this is just our interpretation though, not legal advice :-)
Cheers.
Dan
Are you sure the checkbox for the country is needed? Wouldn’t it be enough according to VATMESS legislation to just show the country to the user preselected and let him choose a different one in case?
I mean noone will ever do that I assume…
Funnily I myself will be completly impossible to any service. I live in Austria, Use German bank accounts and credit card (cause services in Austria are much worse in comparison) and often use VPN for privacy. Noone could possibly get 2 confirming pieces of info from me – and I could impossibly confirm my IP or credit card country – as that’s not my local residence.
Great article! And don’t be too harsh on HMRC – here in Austria the authorities just tell you to read the EU docs – saying they got no clue, but you have to comply or shut down…
Funny Fact – 3 days ago my programmer bought a Video on Apple Appstore- he got charged Luxembourg VAT. So Apple is not complying? Or did they get an exemption once again and are allowed to comply only by 2020 or whenver?
Hey Felix,
Thanks for your comment. Yes – we believe providing a drop down would also meet the requirements. We felt the tick box just made it clearer how our system works – either the billing country is your normal place of residence and you can purchase, or it’s not, and you need to contact us to discuss your situation.
I’d imagine the authorities in many of the EU countries are struggling with this. One of the countries (I can’t remember which one off hand) we contacted for clarification replied to our email stating they only accepted written queries in their local language.
Apologies, I haven’t bought anything on the app store so far this year, so can’t comment on their compliance status as yet (but will take a look!).
Cheers.
Dan
Very helpful analysis of the situation, thanks!
We are still struggling with one issue: How do you handle all the exceptions where information about the country does not help? I’m referring to areas such Heligoland or Büsingen in Germany, Ceuta and Melilla in Spain, Faeroe Islands in Denmark etc. which technically are part of the territory of these countries but are exempt from VAT. IP address, credit card prefix and MSISDN country code provide no information about whether the buyer is a resident of these areas. How do you collect evidence in this case? Taxamo does not help here. Any ideas?
Thanks,
Martin
Hi Martin,
Good question. This is one of the reasons we avoided using IP address – it’s just not specific enough.
We list the Faeroe Islands as a separate country, so we are covered there. We emailed the German tax authorities about Heligoland and Büsingen, they said they “are not taxable for German VAT law” so I do think that this would be the case for consumers of E-services as well. We’ve not made any provisions for this yet, we’ll handle this as and when someone purchases from either of these two regions. As for Spain – they responded to our email saying they only accept enquires in writing, in Spanish with documentation to prove your are a legally registered company – so again we’ll deal with any sales to these areas on an case by case basis.
Cheers.
Dan
Ok, thanks. I think we’ll try to figure something out to automate that as much as possible. Happy to share once we know more.
Cheers,
Martin
I know where I’m coming for my SEO!
An intelligent article reflecting real issues of small businesses. It would help more businesses if they actually put some meaningful like this onto their web sites instead of the narcicisstic drivel 99.9% spout.
Well done, credit you you and your colleagues for the article and the clever solutions for your business.