Jump to content
ALbi87

EU - VAT 0%, tax rules, customer groups, tax exemption

Recommended Posts

Hi all, after couple days I found a way how to go around with this very painful issue. 

 

In detail: I am a seller inside EU (Czech Republic) and because I sell VAT registered and non-VAT registered customers all over the World, there is couple scenarios that can happen:

 

A - Customer inside CZ (Czech republic) - company VAT registered  > VAT 21%

B - Customer inside CZ (Czech republic)  > VAT 21%

 

C - Customer inside EU - VAT registered > VAT 0% 

D - Customer inside EU - non-VAT registered > VAT 21% 

 

E - Customer outside EU (whole world) > VAT 0% but he has to pay fees after arrival of the products to his country

 

Great sources cvering VAT issues

https://ecommerce.shopify.com/c/shopify-discussion/t/european-vat-and-taxes-1315

 

What I needed to do was to create a flow for all of my possible customers without any paid module or major hard coding. I tried almost everything I could find but nothing worked perfectly. 

 

So I decided to tweak it a little bit:

 

1. Registration - I inform customers that I will manually check theirs VAT number (which I am supposed to do anyway for all European customers). I tried official module, but that seems very tricky to me and I am not completely sure whether that stuff works or not. So I decided to inform my customers in this way:

 

post-56484-0-17769700-1420228492_thumb.jpg

 

2. I installed free module which informs me by an email that new customer has registered and I whould check his VAT (http://www.prestashop.com/forums/topic/294459-free-module-customer-registration-admin-alerts-email-when-new-registration/)

 

3. Localization > Taxes : I set up one tax which is suitable for my needs = 21%

 

4. Localization > Tax rules: Here is the magic - Because Tax rules are written the way they are you need to distinguish customers by different countries. 

 

I have only one TAX rule named "CZ Standard Rate (21%)" and inside it are all countries I can supply to. In short there is my setting:

 

A - Czech republic - 21%

B - Czech republic - 21%

 

post-56484-0-22603200-1420229465_thumb.jpg

 

that was easy.

 

C - e.g. Germany - 0% (I have more customers VAT-registered so its is easier for me this way)

D - e.g. Germany. - 21% - For this instance you need to add NEW COUNTRY which is complete identical to Germany above except the name which could be "hiscountrywiththedotattheend" etc. For this country you set up different TAX rules and when you detect non-VAT customer from this country you manually change his country from registration (e.g. Germany) to (Germany.) and  that is it.

 

E - same as C

 

 

post-56484-0-82480900-1420229469_thumb.jpg

------------

After receive an email:

 

  • Are they from EUROPE?
  • YES 
    • Are they from Czech republic?
    • YES 
      • Is there a VAT number?
      • YES 
        • Is it VALID inside EU?
        • YES - Customer A - I will set him to Customer group for companies so he can see proper prices (without TAX) but I will Tax him during order process
        • NO - Customer B (no setting)
      • NO - Customer B (no setting)
    • NO
      • Is there a VAT number?
      • YES 
        • Is it VALID inside EU?
        • YES  - Customer C - I will set him to Customer group for companies so he can see proper prices (without TAX) and thanks to TAX rules, he is set up fot 0% VAT.
        • NO  - Customer D - Manually change his country to "country." which has proper VAT in Tax rules (so he sees Tax incl. and is taxed by 21%)
      • NO - Customer D - Manually change his country to "country." which has proper VAT in Tax rules (so he sees Tax incl. and is taxed by 21%)
  • NO // they are from outside EU
    • Customer E - I dont care if its a company or not because everything is setup with 0% VAT.

 

-----------

Yes, everything is done manually, it is not perfect, but it works like a charm. So if you need any help with that let me know  :)

 

If anybody found something more efficient, please let me know;)

Martin

Edited by ALbi87 (see edit history)
  • Like 3

Share this post


Link to post
Share on other sites

Hi!

Thank you for sharing this. I have the similar situation (selling from Estonia).

 

I tried you solution but got stuck while creating a new country

"hiscountrywiththedotattheend

 

I tried to create Finland.  (dublicate of Finland) under Localization > Countries. So that later I could add 0% VAT to to this "Finland." under Tax rules.

 

Problem is that PS doesn't allow dublicate ISO code. Also doesn't allow false ISO code there

How did you manage to create a new country? 

 

Thank you in advance!

Edited by Innar.Hunt (see edit history)

Share this post


Link to post
Share on other sites

Hello,

 

We have the same problem.. Shop in PL, selling in UE (selling products, nit virtual googds)

Maybe someone know modules which automate it?

 

Regards,

Przemek

Share this post


Link to post
Share on other sites

You need to use the European VAT module, enable B2B mode, check if all 28 EU countries have vat_number in Address format (2 are usually missing) and set appropriate tax rules (X% tax for all 28 EU countries, again some are usually missing). That's it.

Share this post


Link to post
Share on other sites

Thanks. It works!

I was confused by name of tax group "virtual" ("EU VAT For Virtual Products"). 

It looks that it works also to "tangible" products.

Share this post


Link to post
Share on other sites

How did you add the country duplicates in? If i put the same ISO code in for example France as FR and France. as FR it will not allow me to save this as a country option. 

 

Any help greatly appreciated

Share this post


Link to post
Share on other sites

Country duplicate? I'm sure your problem can be solved another way.

Share this post


Link to post
Share on other sites

You need to use the European VAT module, enable B2B mode, check if all 28 EU countries have vat_number in Address format (2 are usually missing) and set appropriate tax rules (X% tax for all 28 EU countries, again some are usually missing). That's it.

 

Can you post a link of the module you mentionned? 

I see a couple of VAT modules available. 

Thanks!

Share this post


Link to post
Share on other sites

The European VAT number module is available in PrestaShop for free - https://github.com/PrestaShop/vatnumber

 

Thanks!

 

Why is it necessary to activate B2B mode? 

 

We are searching for a solution to automatically send a professional client into a customer group, based on the country and if he has a VAT number. 

We have 2 custom client groups: 

- Professional clients (own country) -> 21% VAT

- Professional clients (EU) -> 0% VAT by switching the "price display method" to "tax excluded"

Any ideas how we can handle this? 

 

If I understand well, with the European VAT number module, you have to change the customer to a client group manually?

Share this post


Link to post
Share on other sites

With the European VAT number module you have to do nothing special. It just works. In all cases, for all groups, for all customers. Why to reinvent the wheel?

Share this post


Link to post
Share on other sites

With the European VAT number module you have to do nothing special. It just works. In all cases, for all groups, for all customers. Why to reinvent the wheel?

 

I see, it indeed just works. :-)

It wasn't very clear for me, I thought the module just did a check on the VAT number, if it excisted or not. 

 

So B2B mode isn't necessary? 

 

(I'm going to need a clientgroup "Professional" to store all clients with VAT number, because we give them a 20% discount. So I still need to find a way to automatically store the VAT-number clients into a group. But that isn't relevant in this topic anymore) 

Share this post


Link to post
Share on other sites

I see, it indeed just works. :-)

It wasn't very clear for me, I thought the module just did a check on the VAT number, if it excisted or not. 

 

So B2B mode isn't necessary? 

 

(I'm going to need a clientgroup "Professional" to store all clients with VAT number, because we give them a 20% discount. So I still need to find a way to automatically store the VAT-number clients into a group. But that isn't relevant in this topic anymore) 

 

So does the module works as it should?

eg for professional clients (EU) does it apply 0% VAT for a product that has been assigned differently? 

 

--

C

Share this post


Link to post
Share on other sites

So does the module works as it should?

eg for professional clients (EU) does it apply 0% VAT for a product that has been assigned differently? 

 

--

C

 

The module does work indeed.

When a client fills in a VAT number in his delivery-address and fills in a European country other then the country of the shop, no tax is calculated through the shop. 

  • Like 1

Share this post


Link to post
Share on other sites

The module does work indeed.

When a client fills in a VAT number in his delivery-address and fills in a European country other then the country of the shop, no tax is calculated through the shop. 

 

Just installed and tested everything!

It works like a charm!  B)  B)

Its such a pity thetere was not proper documentation for the module and we had to figure this out after so long.

Share this post


Link to post
Share on other sites

Hi!

I've purchased "EU VAT and client group Module"

https://addons.prestashop.com/en/customer-administration/4946-eu-vat-and-client-group.html

 

It does help in validating the customers VAT number. But I can't figure out what I need to do in order to have 0% VAT for customers outside of my country (Estonia) that have VAT validated. 

I've tested and users still have VAT after validation. I've tried going business mode and still no success.

No customer support for Module as I haven't receive any answer.

 

I use PS 1.6.0.8

 

I would reallt appreciate support on this!

Share this post


Link to post
Share on other sites

It works sometimes

 

We are UK and it will not work for Italian VAT numbers and some spanish ones as far as I can tell.. The VAT number just gets stripped from their address. I cannot figure it.

 

Can you test with some italian VAT numbers?

Share this post


Link to post
Share on other sites

Just installed and tested everything!

It works like a charm!  B)  B)

Its such a pity thetere was not proper documentation for the module and we had to figure this out after so long.

 

May I ask which module do you mean:

https://github.com/PrestaShop/vatnumber

or https://addons.prestashop.com/en/customer-administration/4946-eu-vat-and-client-group.html

 

What other steps did you do in order to get it working?

I'm asking as I've purchased: https://addons.prestashop.com/en/customer-administration/4946-eu-vat-and-client-group.html

and can't figure it out how to have 0%VAT on invoices for EU customers with outside of my country

Share this post


Link to post
Share on other sites

 

May I ask which module do you mean:

https://github.com/PrestaShop/vatnumber

or https://addons.prestashop.com/en/customer-administration/4946-eu-vat-and-client-group.html

 

What other steps did you do in order to get it working?

I'm asking as I've purchased: https://addons.prestashop.com/en/customer-administration/4946-eu-vat-and-client-group.html

and can't figure it out how to have 0%VAT on invoices for EU customers with outside of my country

 

 

Sorry for the confusions - the free one does not work for italian numbers (https://github.com/P...aShop/vatnumber)

Our messages crossed in the ether

Share this post


Link to post
Share on other sites

 

May I ask which module do you mean:

https://github.com/PrestaShop/vatnumber

or https://addons.prestashop.com/en/customer-administration/4946-eu-vat-and-client-group.html

 

What other steps did you do in order to get it working?

I'm asking as I've purchased: https://addons.prestashop.com/en/customer-administration/4946-eu-vat-and-client-group.html

and can't figure it out how to have 0%VAT on invoices for EU customers with outside of my country

 

First set up the taxes you'll use (eg GR vat = 24%)

Second set up tax rules. For each rule you have to assign the countries you desire this vat to be applied (eg all EU countries)

Then you have to assign the taxes to the products. (...)

Install free module the "European VAT number v2.0.0 - by PrestaShop" & select your country of origin in EU.

 

Now go to your frontoffice and create a several address:

- address with no vat in your origin country (tax applied)

- address with with vat in your origin country (tax applied)

- address with no vat in another EU country (tax applied)

- address with vat in another EU country (no tax applied)

- address with country outside EU (since tax rule is not connected with this country, no tax will be applied no matter the vat)

 

I hope this helps. 

 
**Personally i disabled the checking of VAT - i am more interested in the correct application of the tax.

Share this post


Link to post
Share on other sites

 

First set up the taxes you'll use (eg GR vat = 24%)

Second set up tax rules. For each rule you have to assign the countries you desire this vat to be applied (eg all EU countries)

Then you have to assign the taxes to the products. (...)

Install free module the "European VAT number v2.0.0 - by PrestaShop" & select your country of origin in EU.

 

Now go to your frontoffice and create a several address:

- address with no vat in your origin country (tax applied)

- address with with vat in your origin country (tax applied)

- address with no vat in another EU country (tax applied)

- address with vat in another EU country (no tax applied)

- address with country outside EU (since tax rule is not connected with this country, no tax will be applied no matter the vat)

 

I hope this helps. 

 
**Personally i disabled the checking of VAT - i am more interested in the correct application of the tax.

 

Have you checked this process with Italian numbers? When first on screen it works, but then stops working. Can you try an italian number? get it to the shopping cart and see the VAT effect, then click away and come back and see if VAT is still deducted?

Share this post


Link to post
Share on other sites

Does someone have solved this problems also with the 1.7 version of Prestashop?

 

This module on GitHub, https://github.com/PrestaShop/vatnumber is valid for 1.7?

 

 

Regards

I also need this working plugin, but unfortunately it does not work with prestashop 1.7.X

I'm looking for a solution, or a fix for that module

Share this post


Link to post
Share on other sites

I also need this working plugin, but unfortunately it does not work with prestashop 1.7.X

I'm looking for a solution, or a fix for that module

 

What is not working?

  • Like 1

Share this post


Link to post
Share on other sites

The problem does not come from the module.

If I enter a valid European VAT number in the shopping cart, they should reset taxes, so I can calculate them as taxes 0 €

 

I would need this function, without this function it is impossible to sell in Europe

Share this post


Link to post
Share on other sites

Hello

The European VAT module for prestashop 1.7 is very important, almost essential, it is just incredible that prestashop team removed it from the default basic modules in prestashop 1.7, too bad, :(

Anyone found a free solution to this problem?

I found this post and tried it, but so far at least for me does not work: [SOLVED] Free VATNumber module FIXED for PS 1.7.0.0-1.7.2.4

Would anyone try it out too and post comments, maybe help to give an end to this issue?

Thank you

Share this post


Link to post
Share on other sites

Hello Yes

I tried right that module, and does NOT work, also the file modification suggested in that post do not work on my presta 1.7.2.4 installation, I am going to try it now on a completely fresh one just out the box, but I guess the result will not change, will post the results in short.

Share this post


Link to post
Share on other sites
En 12/12/2017 a las 7:55 PM, daxit_x dijo:

Hello Yes

I tried right that module, and does NOT work, also the file modification suggested in that post do not work on my presta 1.7.2.4 installation, I am going to try it now on a completely fresh one just out the box, but I guess the result will not change, will post the results in short.

 

The 'problem' is because PS 1.7 isn't ready for VAT Number feature like PS 1.5 or PS 1.6. VAT number module works fine!

In my old PS 1.5.6.2 i have this javascript code in address.tpl

	$(document).ready(function() {
		$('#company').on('input',function(){
			vat_number();
		});
		vat_number();
		function vat_number()
		{
			if ($('#company').val() != '')
				$('#vat_number').show();
			else
				$('#vat_number').hide();
		}
	});

And this smarty code

			{if $field_name eq 'company'}
				<div class="text form-group">
					<label class="control-label col-sm-4" for="company">{l s='Company'}</label>
					<div class="col-sm-6">
						<input class="form-control" type="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{else}{if isset($address->company)}{$address->company|escape:'html'}{/if}{/if}" />
					</div>
				</div>
			{/if}
			{if $field_name eq 'vat_number'}
				<div id="vat_area">
					<div id="vat_number">
						<div class="text form-group">
							<label class="control-label col-sm-4" for="vat_number">{l s='VAT number'}</label>
							<div class="col-sm-6">
								<input type="text" class="form-control text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{if isset($address->vat_number)}{$address->vat_number|escape:'html'}{/if}{/if}" />
							</div>
						</div>
					</div>
				</div>
			{/if}

But in PS 1.7 only

      {block name="address_form_fields"}
        <section class="form-fields">
          {block name='form_fields'}
            {foreach from=$formFields item="field"}
              {block name='form_field'}
                {form_field field=$field}
              {/block}
            {/foreach}
          {/block}
        </section>
      {/block}

You need a lot of code in PS 1.7 (javascript and smarty) in different files  to add this show/hide feature :(

 

Share this post


Link to post
Share on other sites

I try to install module on PS 1.7.4.2 without success.
Installation crash.
Also upload module bt FTP doesn't work.

Anyone have same problem?
Thanks

Share this post


Link to post
Share on other sites

We have a warehouse in a 1. EU country and a warehouse in a non-2. EU country.

How do I configure PS for 1. shipping from EU country to EU country VAT is added. 2. shipping from non-EU country to outside your own country VAT is not added?

Edited by nicoX (see edit history)

Share this post


Link to post
Share on other sites

You just solved my 20 minute search! 👍👨‍❤️‍👨

Share this post


Link to post
Share on other sites

Note that this module only checks the existence of the VAT number - it does not validate if the number belongs to the company ...

Share this post


Link to post
Share on other sites
On 2/23/2019 at 4:08 PM, Frankyet said:

There is a new version out now, European VAT number  v2.1.0

it works on 1.7.5.1

see attachment

vatnumber-2.1.0.zip

Works like a charm. Thanks!

Share this post


Link to post
Share on other sites

Interesting question; if VAT is to be applied to a customer but isn't? Any ideas as to what might be wrong?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More