Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Page 1 of 3
Poll
Would you find this feature useful?
Yes 154
No 2
Total Votes: 156
You must be a logged-in member to vote
Automatically change to ex VAT price for valid EU VAT number
 
tjscgroup
Sr. Member
 
Avatar
Total Posts:  146
Joined:  2008-09-24
United Kingdom
 

Hi

I have recently reviewed Magento and I am seriously considering moving from our current solution (osCommerce based) to using Magento as the core solution.

However before such a move I would need to add some of the features we are currently using. I am going to add these “missing” features as separate posts to see what people think.

What I would really like to know is:
1. Although I have searched, does anybody know of this or a similar feature being discussed elsewhere?
2. Will the Magento team state whether this or a similar feature will be added to the core solution within the next 6 months?
3. Any comments from the community to improve my suggested feature.

Feature:

Aim: To automatically remove VAT from prices for EU business who have a valid EU VAT number (and are outside the UK...although this should be set via the admin)

Suggested Solution: Add a custom field to /customer/account/create/ (see here) that checks here to discover if number is valid, if valid script adds number to “Tax/VAT Number” on /index.php/admin/customer/edit/id/8/ and changes customer group to be “EU Business” (and therefore tax is removed).

Added 18.11.08 - Almost forgot...when an order is created by a customer who is exempt from VAT due to the above an email should be sent to listing: order number, VAT number and order total

Many thanks in anticipation

Toby

 
Magento Community Magento Community
Magento Community
Magento Community
 
J_T_
Mentor
 
Avatar
Total Posts:  1961
Joined:  2008-08-07
London-ish, UK
 

I believe it is sufficient to just ask for their VAT number without checking it’s valid. Your T’s & C’s should already state they are required to enter accurate info. Would make such a Module a lot easier to implement too. You wouldn’t want to scrape a government website on each account created.

Alternatively, use RegExp to check the VAT number’s validity: http://www.theregister.co.uk/2006/03/24/java_regex_tutorial/

Also:

http://regexlib.com/REDetails.aspx?regexp_id=830
http://www.dbsoftlab.com/index.php/Regular-Expressions-/Is-German-VAT-Number.html

Etc.

 
Magento Community Magento Community
Magento Community
Magento Community
 
tjscgroup
Sr. Member
 
Avatar
Total Posts:  146
Joined:  2008-09-24
United Kingdom
 

I have to disagree with you, I believe it is a legal requirement to make sure the VAT number is valid before not charging VAT...if the VAT number turns out to be invalid you are liable for the VAT yourself!!

I am no developer but my PHP guys manage to check the validity of the VAT numbers via the official (I believe) EU checking website without any problems in our current sites, I just copied the below code...forgive me if it is wrong but as said I am no developer:

if($vat_exemption)
    
{
        
if ( empty($ms) || !in_array($msarray_keys($MS_CONF)) || empty($vat_number) )
        
{
            $error 
true;
            
$messageStack->add('create_account'CA_VAT_NUMBER_ERROR);
        
}
        
else
        
{
            
//$vat_verification_number = 'http://www.europa.eu.int/comm/taxation_customs/vies/cgi-bin/viesquer?MS=' . $ms . '⟪=EN&VAT;=' . $vat_number;
            
$ch curl_init();
            
curl_setopt($chCURLOPT_URL'http://ec.europa.eu/taxation_customs/vies/viesquer.do');
            
curl_setopt($chCURLOPT_POST1);
            
curl_setopt($chCURLOPT_POSTFIELDS'vat='.$vat_number.'&iso;='.$ms);
            
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
            
$content curl_exec ($ch);
            
curl_close($ch);


            
//$monfd = file_get_contents($vat_verification_number, r);
            
if ( !eregi("Yes, valid VAT number"$content) )
            
{
                $error 
true;
                
$vat_exemption_flag=false;
                
$messageStack->add('create_account'CA_VAT_NUMBER_ERROR.'(TVA non valide)');
            
else {
                $vat_exemption_flag
=true;
            
}
        }
    }

My question really is..is there a Magento solution that does the above or do I have to get my guys to add it?

Many thanks in anticipation

Toby

 
Magento Community Magento Community
Magento Community
Magento Community
 
Tillebeck
Jr. Member
 
Total Posts:  24
Joined:  2008-03-03
 

Hi
I got one customer that is requesting this feature and more will follow. We will have to make a few shops running parallel and start asking the user what kind of customer he or she is… and then guide the user to the right shop. This is a very anoying way to get around the “no VAT for EU businesses” that we have here in Europe.

So Varien. Please look into this so your great product will be usefull for European customers that both sells to private customers and business customers.

BTW: The actual feature to distinct between private and business is very much needed! Very much indeed. And it does not matter so much if the VAT number is checked before accepted. I see that as an xtra nice2have feature.

BR. Anders

 
Magento Community Magento Community
Magento Community
Magento Community
 
Hucke_Media_de
Jr. Member
 
Avatar
Total Posts:  16
Joined:  2008-10-16
 

I agree to this feature being very useful. For european B2B scenarios it’s crucial. One could discuss if the online check of VAT is necessary since the corresponding server is rumored to be pretty unreliable. Normal B2B has to ask/check VAT via correspondence/first business contact. But there should be a standard way to allow Magento to use “zero tax” upon customer filled-in VAT and customers explicit choice of being “non-taxable” (i.e. checkbox “i agree to be non-taxable according to EU...blabla")

 
Magento Community Magento Community
Magento Community
Magento Community
 
tjscgroup
Sr. Member
 
Avatar
Total Posts:  146
Joined:  2008-09-24
United Kingdom
 
Hucke-Media - 19 November 2008 12:38 PM

I agree to this feature being very useful. For european B2B scenarios it’s crucial. One could discuss if the online check of VAT is necessary since the corresponding server is rumored to be pretty unreliable. Normal B2B has to ask/check VAT via correspondence/first business contact. But there should be a standard way to allow Magento to use “zero tax” upon customer filled-in VAT and customers explicit choice of being “non-taxable” (i.e. checkbox “i agree to be non-taxable according to EU...blabla")

Agreed, there are times during the day when you cannot check certain VAT numbers, from my understanding, this is due to europa.eu receiving updates from member states (different member states, different times).

I believe it is a legal requirement to make sure the VAT number is valid before not charging VAT...so I do not believe a simple tick box would be satisfactory.

Over the last few years I would say that there have only been a handful of occasions (that I know about) when the europa.eu website has not being working at the same time as a customer is trying to sign up.

On our website, when the europa.eu checking service is not working, the customer’s account is create but they are not made VAT exempt. The customer is asked to contact us after placing their order to have the VAT removed.

Only about 1 in 20 of our customers are EU business that make use of this script so the numbers of orders per day are not huge but I guess if you were getting more than a couple of these orders a day, you may consider making the customer VAT exempt on europa.eu fail (due to checking service being offline) and just notify shop admin that they need to manually check VAT number before sending order.

 
Magento Community Magento Community
Magento Community
Magento Community
 
l781
Sr. Member
 
Total Posts:  109
Joined:  2008-11-09
 

so - any news on this topic?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Richard Hill
Jr. Member
 
Total Posts:  1
Joined:  2008-11-28
Alachua, FL
 

I am working with a Portuguese firm that will find this feature extremely useful.  Way to go!

 
Magento Community Magento Community
Magento Community
Magento Community
 
Richard Hill
Jr. Member
 
Total Posts:  1
Joined:  2008-11-28
Alachua, FL
 

I am working with a Portuguese client who very much needs this feature.

 
Magento Community Magento Community
Magento Community
Magento Community
 
bobmats
Jr. Member
 
Total Posts:  30
Joined:  2008-12-01
 

I have the same problem selling to both b2b and consumers.

It can be done manual so I would have to check every new customer and assign them manually to the 0% tax b2b group but this would give to much work if there are many new customers.

The feature of doing it automatically is really needed for europe and many customer are waiting for this, i’m sure.

I did think about another solution.

Customer would first get a page to select if they are A Consumer of B business.
Then they would be forwarded to the same store only difference would be the storeview A would show prices including vat, storeveiw B would show without VAT.

The only problem there is when I go to the backed system>configuration>customer configuration I can set if filling in a VAT number Required, Optional or No. This can altough only be set at default level.
whenever I select a store, say store A this option is gone.

I would like to see that customers for store A are not required to fill in the vat number. Customers of store B are required.
No I have to set at optional meaning that if a customer of store B forgets it he can still register for a new account an order and I have to mail for his vat number

I tried setting the option share customer accounts from global to website but this does not make a difference for the vat option.

 
Magento Community Magento Community
Magento Community
Magento Community
 
J_T_
Mentor
 
Avatar
Total Posts:  1961
Joined:  2008-08-07
London-ish, UK
 

Trying the Europa website now, it doesn’t work so without a reliable API (and this is not an API, it’s scraping) I would not even use this. We’d spend time, money and effort coding it and then it doesn’t work reliably so you have to code for exceptions and all that crap.

Even ‘real’ APIs use that websites as their source: http://isvat.appspot.com/ usage code here: http://dev.stut.net/php/validatevat.php

If it’s a legal requirement, they should make a checker available. If they don’t, then personally I’m happy to put the onus on the person submitting it. It would be silly IMO anyway because they can put in a VAT number of any other valid business so the checker means nothing so you still have to rely on honesty.

For all those reasons, I’d still go for RegExp plus tick box, just like Amazon and Google do.

On the account creation, you’d first ask whether they’re VAT registered. If they forget about this and enter a company name, you can prompt them again. If they are VAT registered you can automatically assign a different customer group to him/her.

EDIT: Seems there is an official API:

http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl

FAQ here: http://ec.europa.eu/taxation_customs/vies/faqvies.do
Related FAQ: http://ec.europa.eu/taxation_customs/vies/faqvies.do#item16

Note their notes which are in line with my thoughts on ultimate liability:

This information:
- does not in itself give a right to exempt intra-Community supplies from Value Added Tax;
- does not change any obligations imposed on taxable persons in relation to intra-Community supplies

 
Magento Community Magento Community
Magento Community
Magento Community
 
J_T_
Mentor
 
Avatar
Total Posts:  1961
Joined:  2008-08-07
London-ish, UK
 

Also @ Toby

As you seem to be a UK merchant, like me, what about the following issue.

Charging VAT or not depends on the movements of goods related to the borders of the Single Market.

Example, if I ship a VATable item from England to the Channel Islands (from member state to non-member state) the item gets ‘removed’ in VAT terms from the EU single market and therefore it’s no VAT for Channel Islands (or Switzerland or USA etc.).

Taking into account though the VAT registered EU entities, if I ship a VATable item from England to Germany but to a VAT registered entity, VAT gets deducted.

So for all clear.

But let’s get dirty with it now.

A Germany based VAT registered customer on our England based shop creates an account on Magento and is asked about his VAT status so he adds his VAT number. According to your logic, he would go into a group to which VAT is not shown and charged. But he now has his delivery address set to an office in England.

So he is VAT registered but the items don’t move out of England. See where I’m heading? Do you tie the VAT number with the billing address or the delivery address? And do you decide whether or not to charge VAT based on the billing or shipping address? Which one prevails?

From what I understand, and I’ve read into it many time but am not an accountant/tax specialist by any stretch of the imagination, the EU government is only concerned with the movement of goods, not with the flow of money.

This would have to be sussed out if we were to code a Module to address this issue.

Let’s keep the discussion going and come to a useful Module spec soon.

 
Magento Community Magento Community
Magento Community
Magento Community
 
bobmats
Jr. Member
 
Total Posts:  30
Joined:  2008-12-01
 

J.T. as for VAt, in order not to charge V.A.T the goods have to leave the country. so from the UK it has to leave the UK to a VAt registered company in order not to charge VAT.

I have had the same problem in the past. Ordered goods from a UK supplier for delivery inside the UK. If they would arrange transport they would have to charge me britisch vat as the goods are not leaving the UK. I have to claim back the britisch VAt which takes a long time.

So yes VAt would need to be charged based on the shipping address. That said I can only assume that there won’t be many companies that would use a construction like this but it’s possible. For example I have resellers who ask me to ship goods diretly to their customers and this could be a reseeler in germany and his customer in holland.

Officialy in your accounts you have to keep track and prove to the tax people every shipment and able to show an invoice saying the goods have left your country. In reality this is not checked that often and For example I have an austrian supplier and asked him to ship goeds to my customer inside austria. He would not invoice me vat. Officially he has to but he reports selling goods to me, I report selling to an austria customers and they don’t know if were these goods. The austrian customer reports buying from me.

But your point is valid, vat has to be charged based on shipping address. This means if the billing country is different no vat has to be charged unless the shipping country is the same as the shops home country.

To even make it more difficult if the customer himself would arrange pickup there is no way I can know where he is shipping the goods. But some of my supplier sent me quarterly a mail asking to confirm that the orders on those mails have left there country.

 
Magento Community Magento Community
Magento Community
Magento Community
 
tjscgroup
Sr. Member
 
Avatar
Total Posts:  146
Joined:  2008-09-24
United Kingdom
 
J.T. - 15 December 2008 08:50 AM

EDIT: Seems there is an official API:

http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl

Good to know there is an API available now, when my IT developers came up with this code years ago, I don’t even think the term API existed!!

J.T. - 15 December 2008 09:25 AM

So he is VAT registered but the items don’t move out of England. See where I’m heading? Do you tie the VAT number with the billing address or the delivery address? And do you decide whether or not to charge VAT based on the billing or shipping address? Which one prevails?

In our current shops the following happens, VAT is charged to a customer unless:
1. The goods are zero rated, books etc
2. The shipping address is outside of the EU
3. The shipping address is outside of the UK PLUS the customer has a valid non-UK EU VAT number

J.T. - 15 December 2008 08:50 AM

If it’s a legal requirement, they should make a checker available. If they don’t, then personally I’m happy to put the onus on the person submitting it. It would be silly IMO anyway because they can put in a VAT number of any other valid business so the checker means nothing so you still have to rely on honesty.

Please see: http://www.hmrc.gov.uk/vat/int-exports.htm#1 for details of how UK business need to handle these types of transactions.

Basically:

You can only zero-rate these supplies when all these conditions are met:

the goods are sent out of the UK to somewhere in another EU country
whoever you’re sending them to is genuinely registered for VAT in another EU country
you get their VAT registration number - including the two letter country code - and show it on your sales invoice
you’ve got paperwork showing that the goods have gone out of the UK - ‘evidence of removal’
you despatch the goods and get evidence of removal within a set time - which is normally three months

Specifically about what we are talking about:

You can use an online interactive tool to check whether a VAT number for any EU country is valid. However, this doesn’t tell you whether the details given by someone match with that VAT number, so it is only useful as a preliminary check. To confirm the details you’ve been given by a new customer, you should contact us on Tel 0845 010 9000.

Check EU VAT registration numbers on the Europa web site

Having read that, I still vote for using the europa.eu website to check the VAT number but for those that prefer, here is a list of all EU VAT number formats.

 
Magento Community Magento Community
Magento Community
Magento Community
 
J_T_
Mentor
 
Avatar
Total Posts:  1961
Joined:  2008-08-07
London-ish, UK
 

Yes, now there’s a real API, despite not being 24/7 functional, we have something to work with.

And we’re also on the same wavelength now re when and who to charge what so this at least allows for a decent platform.

I for one will not be ringing the bastards at HMCE to check every single one, that thought is just ridiculous. The waiting queue alone *shrug*. But each to their own smile

So in summary, thinking in Magento terms, the Customer Group idea won’t work IMO. As explained above, you can’t assume from one VAT number alone they exclusively belong to one customer group which will or won’t be shown VAT. That would semantically be incorrect IMO.

I do have one scenario left that I’m not sure about.

Say I’m a UK merchant, or Dutch.

A German customer, private, non-VAT-regged buys a VATable item and has it delivered to work, because that’s where he is between 9-5 when couriers deliver. His company is VAT registered so he decides to quote the VAT number.

On the invoice, the billing shows as the private address and the shipping shows, along with the VAT number, as the company address.

The product does not get removed from the EU single market but does get shipped to (but not paid for by) a VAT regged company. Now what? VAT or no VAT?

My guess is, the invoice is intended for the billing contact so in this case, I’d probably charge VAT. As long as the product gets delivered withing the EU.

I’d like to get all scenario’s right!

To relate that scenario to what you said:

3. The shipping address is outside of the UK PLUS the customer has a valid non-UK EU VAT number

Please define “the customer”.

PS we sell UK VAT 0-rated items too, just to confuse things further. Luckily that rate applies to any EU member state resident, even when the same product in Germany or Holland would be at 5%. Hands up if you love VAT! :D

 
Magento Community Magento Community
Magento Community
Magento Community
 
bobmats
Jr. Member
 
Total Posts:  30
Joined:  2008-12-01
 

You example german private customer delivery to his company address.

Officialy when calling the tax people you have to supply them the vat code, company name and address. On the phone they will tell you if your data is a match with theirs. If this is ok you can invoice without vat.

The german customer in the example is not a company and he will have to pay v.a.t. If you would invoice the company and deliver at his home address and the company pays you charge no v.a.t.

Part of proving export is shipping documents that goods left your home country, emails, payments details etc.

Some people might misuese the system but this will be only a few and the question is even there if that will give you problems.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 1 of 3