Ah the EU. Always with their bright ideas. If you haven’t heard about the upcoming changes surrounding EU VAT, first off, where have you been hiding?
To put it simply, essentially they require everyone selling digital products to customers in the EU to charge EU Tax based on the customer location, regardless of where your business is based. You can read more about the changes in the blog post I wrote on WooThemes.com here.
Being based in the UK, and selling plugins on WPJobManager.com, I am affected by these changes and so I’ve been doing a lot of research, speaking to accountants, and preparing my site for the changes.
In this post I’ll explain what I’m doing and hopefully this may give you some ideas/resources if you’re struggling with compliance.
Getting Business in Order
In the UK we have a minimum threshold for VAT registration and registration is required to make use of their VATMOSS system (which simplifies reporting the various collected EU Taxes to the relevant authorities).
Coincidentally I’ve just passed that threshold so I’ll be able to use VATMOSS, but if I hadn’t I probably would have been forced into voluntarily registering for VAT.
Annoying for micro-businesses as you can imagine.
So from 1st of Jan I’ll be trading as a limited company, charging VAT, and using the VATMOSS system for reporting.
Keeping VAT Rates up to Date
Next challenge, VAT Rates. These can be dug up from http://ec.europa.eu/taxation_customs/resources/documents/taxation/vat/how_vat_works/rates/vat_rates_en.pdf and need inputting into WooCommerce to charge the correct amounts.
To make rate input easier I’ve made a small API and WordPress plugin to keep rates in sync.
- The Digital Goods VAT Rates – https://github.com/mikejolley/EU-VAT-Rates-for-Digital-Goods/blob/master/rates.json
- The plugin to sync the rates with WooCommerce – https://github.com/mikejolley/woocommerce-eu-vat-rates-for-digital-goods-sync
These should be useful to other sellers.
Identifying B2B vs B2C Transactions and Storing Evidence
- Evidence collection (IP, billing address, self-declaration)
- Identifying businesses (by validating VAT Numbers)
- Charging the correct rates based on customer location
- Some reporting
One of the requirements for EU VAT is storing the evidence for 10 years, so what I’ll personally be doing is exporting the evidence/reports quarterly and storing them on a pen drive to avoid masses of documents.
I’ve also ensured all store data is backed up on VaultPress in case of loss or damage.
Displaying Prices in the store
I will continue to display prices excluding tax on the site, but I will be adding some notices to avoid customers being faced with unexpected charges.
I want to avoid showing inc. tax prices as that adds a layer of confusion in that it would need to
- work out their location first, and
- show different prices depending on who was browsing.
Avoiding that, users get a consistent experience:
I understand that some EU documents state that prices should be shown including taxes relevant to the user, but those rules also state that these can be ignored if it causes customer confusion. I think this situation qualifies, especially given that geolocation is not always reliable.
For invoices, I’m making use of the free WooCommerce PDF Invoices and Packing Slips plugin. This generates a PDF invoice and mails it to the customer.
I’ll also be using Sequential Order Numbers Pro to ensure invoices are numbered correctly from Jan 1st.
I mentioned earlier about downloading quarterly reports. I built some useful reports into the EU VAT Number extension which should make this easier. That can group reports by VAT Number, and by EU state which should make reporting easy to handle.
The reports can also be downloaded in CSV format which I’ll pass to my accountant to file.
Are you ready?
So are you ready for January? Even after doing the above I don’t feel 100% ready due to the confusing nature of all the laws and documents provided by HMRC and the EU. To be honest, I don’t think even that HMRC truly know what they are doing. But alas, hopefully things will work out fine!