Any plan to support the EU VAT Assistant?
-
I’m using the EU VAT Assistant plugin on my website, which also validates and records VAT information. It would be great if you could add support for it.
-
Though I will take a look, it may just work. The MOSS report plugin assumes the VAT applied is stored in the usual place in the meta data of any WooCommerce ‘product’ post and that there is a meta data record keyed by the name ‘vat_number’ if there is a vat number (sales with VAT numbers are not reported though the MOSS of an EU member state).
After a very quick look, it seems that the plugin EU VAT Assistant plugin does meet these criteria.
Another thing I have to check is that the tax rate is stored in the same place as the plugin by David Anderson. But even if not it is likely to be a small change to accommodate this difference.
When I’ve verified this plugin will work with the data stored by the EVA plugin I’ll post an update here.
Bill
I’m the author of the EU VAT Assistant. If I may chime in, I would like to give some help with my plugin.
The EUVA does indeed store the vat number as meta data with the
vat_number
key, while the tax rate is stored elsewhere. To be more precise, all the vat data is stored as a serialised array in the_eu_vat_data
metadata. Once extracted and unserialised, it can be accessed like in the following example:array(8) { ["eu_vat_assistant_version"]=> string(12) "1.2.1.150215" ["exchange_rates_provider_label"]=> string(3) "ECB" ["invoice_currency"]=> string(3) "GBP" ["taxes"]=> array(1) { [65]=> array(5) { ["label"]=> string(10) "20% GB VAT" ["vat_rate"]=> string(7) "20.0000" ["country"]=> string(2) "GB" ["amounts"]=> array(2) { ["items_total"]=> float(13.2) ["shipping_total"]=> float(200.07) } ["tax_rate_class"]=> string(0) "" } } ["totals"]=> array(5) { ["items_total"]=> float(13.2) ["shipping_total"]=> float(200.07) ["items_refund"]=> int(0) ["shipping_refund"]=> int(0) ["total"]=> float(213.27) } ["vat_currency"]=> string(3) "EUR" ["vat_currency_exchange_rate"]=> float(1.2715) ["vat_currency_exchange_rate_timestamp"]=> int(1419853881) }
Parsing it is very easy. Please note that VAT data might not always be available, as nothing is recorded if VAT is not applicable.
VAT evidence is stored in the same way in the
_eu_vat_evidence
, and it contains certification information (i.e. more details on why the VAT data is what it is).Hi Diego
Thanks for your comments. This is a useful piece of information and will save me hunting around for it later. If there’s nothing reported for VAT then it is likely to be a B2B transaction and not required in a MOSS return. However I will make sure any necessary adjustments are made to the EC Sales List plugin to support EUVA. This way if any EUVA users are in the UK they are able to generate the report as well.
In the meantime, maybe you can help me a little bit further. In the MOSS return required by most countries (Sweden is the exception) VAT and the taxable amount must be aggregated by the member state of the consumer (MSCON) and the VAT rate used. It is usual that each line will be annotated as either ‘Standard’ or ‘Reduced’.
All digital service sales are ‘Reduced’ but in the future this may change, for example if taxing using the rate applicable in the MSCON is extended to sales of physical goods. Is it the purpose of the field ‘tax_rate_class’ to hold this type of information? Or is this field recording the WooCommerce tax class assigned to a product?
Bill
Hi Bill,
Thetax_rate_class
is indeed the WooCommerce tax rate class. It’s used to filter which taxes are part of VAT MOSS and which ones are not. “Standard” or “Reduced” are vague terms, as they are not uniform across countries and they change over time. The plugin saves the exact rate instead (e.g. “20”, as in “20% VAT”), in thevat_rate
field.If you need to produce a “Standard” or “Reduced” text, instead of a number, you can write some mapping function, but I would be careful. You might submit a VAT MOSS return today, when 20% is “Standard” and 15% “Reduced”, then you might need to submit an amendment later, when 15% is “Standard” and 10% is “Reduced”. If an audit will be requested, then trying to figure out what “Standard” and “Reduced” meant would be a nightmare.
The EU VAT Assistant already produces a report with the aggregation you describe (see screenshot). As you will see, the VAT rate is there, with the sums and all the calculations already done. That should be all the information one needs (and more) to produce a VAT MOSS return.
Note: the country code (applied) is customer’s country, while country code (payable) is the country to which the tax should be paid. It can be used to differentiate with more granularity between the MOSS and non-MOSS tax. For example, as an Irish merchant:
– If I sell a digital product to a British customer, I apply 20% UK VAT, which should go to the UK. Both country code (applied) and country code (payable) are GB.
– If I sell a service to a British customer, I apply 23% Irish VAT, which should go to Ireland. Country code (applied) is GB, country code (payable) is IE.The report also allows to include a “MOSS-only” or “non-MOSS-only” data for a broader filtering, but I kept the two country codes to simplify cross checking. The UI will be improved, I just wanted to make sure that you won’t get confused.
By the way, do you happen to have the XSD for the UK VAT MOSS system? I would like to see what data they expect, so that I can amend the EU VAT report.
The UK output is an ODS or XLSX file formatted by HMRC. Any variation from the prescribed format will not be accepted. I do have a copy of the spreadsheets but I have been asked by the Software Developer Support team not to let out. Apparently the information will be on the HMRC web site ‘soon’. You can contact them to see if they are willing to release a copy to you.
The information required while broadly similar across the EU member states is not the same. None of the Xml formats, or CSV formats or spreadsheets is the same. It might have been nice if they could at least agree a format. It’s interesting to me to note that they have got their act together on a format for auditing where there is one format to be used by all countries but not for MOSS. Maybe it says something about priorities.
ALL the formats require that the registrant identify the VAT rate type as STANDARD or REDUCED on their returns. While it may seem arbitrary, these classes are available for every type of sale (product) on the EC commission web site. It is expected that registrants will apply the rate types on the EC commission web site when completing their returns.
In my VAT plugin for EDD we allow the user to specify, by product, the rate type and the MOSS plugin adds a meta box to the WooCommerce product and EDD download definition pages so the registrant is able to specify the expected rate type.
Of course it conceivable that product ‘A’ is ‘standard’ in France but ‘reduced’ in the UK. So my VAT plugin allows the user to specify VAT rate type by country for each tax class. It’s not really necessary yet because at the moment everything reported through MOSS will be ‘reduced’. However next year, if the idea of applying VAT in the MSCON is applied to all products, it will become more important.
See this page for information about how to content the [SDS team](https://www.hmrc.gov.uk/emcs/software-developers.htm)
I still think that the idea of using STANDARD and REDUCED is idiotic, they mean exactly nothing. Besides, some countries have more than two tax brackets. Oh, well, it will just be a matter of applying a mapping between the WooCommerce tax classes and the MOSS types. Not a big deal.
By the way, I’m afraid that not everything reported through MOSS will be reduced. Some digital downloads can be reduced (e.g. ebooks in Italy), but most of them are not. For example, downloadable software is taxed at standard rate in all the countries I dealt with so far.
Update: I dislike XML and all its complications, but XLSX, or any other spreadsheet format is the peak of idiocy for data exchange.
<<the peak of idiocy for data exchange>>
Agreed.
Have you implemented (or is there an existing WooCommerce) facility for users to specify a rate type for a product? The MOSS plugin will add an option to a product page but it would be better to allow a site administrator to use an existing feature if it exists.
There’s no need to specify a rate type per product. Every product falls into a WooCommerce class, and it will be sufficient to map that class to the respective MOSS correspondent. This will allow to have multiple WooCommerce classes associated to the “STANDARD” concept, and same for “REDUCED”. Much simpler to manage than setting the tax class on every product.
OK, I can see tax classes in WooCommerce but since a user is able to create any number of classes, how it is possible to map one user defined class to ‘standard’ and another to ‘reduced’?
It will be easy enough, but it takes longer to explain it than to implement it. I will add that feature to the EU VAT Assistant, so you will be able to see it. The information will also be stored against each order, in the
_eu_vat_data
meta, so you will be able to access it.Just a short note to let you know that version 1.0.10 has been updated to add support for VAT and rate information recorded by the Aelio EU VAT Assistant plugin.
Thanks from our side. By the way, the name is Aelia, with an “a” at the end. ??
I knew that, just a typo in the readme, fixed now. At least I got it right in the admin notices.
Regards
Bill
- The topic ‘Any plan to support the EU VAT Assistant?’ is closed to new replies.