Sale!

EU VAT for WooCommerce

Rated 5.00 out of 5 based on 1 customer rating
(1 customer review)

Manage EU VAT in WooCommerce. Beautifully.

Clear

Author: Tom Anbinder SKU: N/A Category: Tag: Version: 1.3.0; Last updated: 3 weeks ago; Requires WordPress version: 4.4; Tested up to: 5.0

Description

This plugin is a premium version of free "EU VAT for WooCommerce" plugin.

With EU VAT for WooCommerce Pro plugin you can collect and validate EU VAT numbers on WooCommerce checkout. Optionally you can automatically disable VAT (i.e. exempt) for valid numbers. Additionally, there is a tool to add all EU country VAT standard rates to WooCommerce.

Main plugin settings can be accessed from “WooCommerce > Settings > EU VAT”. EU country VAT rates tool is in “Tools > EU country VAT Rates”. Field ID used for storing EU VAT is _billing_eu_vat_number. VAT is validated through http://ec.europa.eu service.

Frontend Options

EU VAT for WooCommerce - Admin Settings - Frontend Options

Field label
Label visible to the customer.
Default: EU VAT Number
Placeholder
Placeholder visible to the customer.
Default: EU VAT Number
Description
Description visible to the customer.
Default: None
Required
Sets if EU VAT field is required on checkout.
Default: no
Clear
CSS clear option.
Default: yes
CSS class
CSS class option. Possible values: Wide; First; Last.
Default: Wide

Validation

EU VAT for WooCommerce - Admin Settings - Validation

Validate
Enabled/disables EU VAT validation.
Default: yes
Message on not valid
Message will be displayed, when customer tries to checkout with invalid VAT number ("Validate" option must be enabled).
Default:
<strong>EU VAT Number</strong> is not valid.
First validation method
Change this if you are having issues when validating VAT. This only selects the first method to try - if not succeeded, remaining methods will be used for validation. Possible values: SOAP; cURL; Simple.
Default: SOAP
Exempt VAT for valid numbers
Enables/disabled VAT exemption.
Default: yes
Preserve VAT in base country
This will validate the VAT, but will not exempt VAT for base country VAT numbers. Base (i.e. store) country is set in WooCommerce > Settings > General.
Default: no
Check country by IP
This will check if customer's country (located by customer's IP) matches the country in entered VAT number.
Default: no
Check for matching billing country code
This will check if country code in VAT number matches billing country code.
Default: no
Allow VAT number input without country code
This will allow customers to enter VAT number without leading country code letters and still get VAT validated. In this case, the country will be automatically retrieved from billing country input.
Default: no

Progress Messages

EU VAT for WooCommerce - Admin Settings - Progress Messages

Add progress messages
Enabled/disables progress messages on checkout.
Default: no
Validating
Message when validation is in progress.
Default: Validating VAT. Please wait...
Valid
Message on valid VAT.
Default: VAT is valid.
Not valid
Message on invalid VAT.
Default: VAT is not valid.
Validation failed
Message on VAT validation server timeout etc.
Default: Validation failed. Please try again.

Display Options

EU VAT for WooCommerce - Admin Settings - Display Options

Display
Possible values: After order table; In billing address.
Default: After order table
EU VAT number summary admin meta box
Adds EU VAT number summary meta box to admin order edit page.
Default: no

Advanced Options

EU VAT for WooCommerce - Admin Settings - Advanced Options

Skip VAT validation for selected countries
List all countries you want VAT validation to be skipped for (i.e. VAT always valid). Ignored if empty. Enter country codes as comma separated list, e.g. IT,NL.
Default: None

Developers

To retrieve saved EU VAT number from WooCommerce order in PHP, use this snippet:

if ( '' != ( $billing_eu_vat_number = get_post_meta( $order->get_id(), '_billing_eu_vat_number', true ) ) ) {
    echo esc_html( $billing_eu_vat_number );
}

To retrieve saved EU VAT number from WooCommerce customer meta in PHP, use the snippet below. Note that there is no underscore in field ID (differently from order meta):

if ( '' != ( $billing_eu_vat_number = get_user_meta( get_current_user_id(), 'billing_eu_vat_number', true ) ) ) {
    echo esc_html( $billing_eu_vat_number );
}

Prices & Licenses

Single siteUnlimited sites
1 year $19.99 $9.99 / year $29.99 $19.99 / year
Lifetime $39.99 $49.99

Refunds

We want to ensure that you are 100% happy with your purchase, so if you feel the product(s) you purchased are not the best fit for your requirements and you attempted to resolve issues with product's author, we are offering 30 day money back guarantee refund policy.

1 review for EU VAT for WooCommerce

  1. Rated 5 out of 5

    Vera

    It is great! And support is very helpful even with free version. 5 stars!

Add a review

10 thoughts on "EU VAT for WooCommerce"

  1. luuk_sunnyzon@hotmail.com June 2, 2018 at 11:54 pm #

    I keep getting messages ”EU VAT Number is not valid.” when checking out, when this field isn’t filled.
    Even when ”Sets if EU VAT field is required on checkout.” is off.

    Private sales aren’t possible this way, how do i fix it?

    Reply

    • Tom Anbinder June 3, 2018 at 4:57 pm #

      Hi,

      I’ve just re-tested on my server, but unfortunately couldn’t reproduce the issue – when “Required” checkbox is not set in plugin settings, I can checkout without entering VAT. Maybe I can login to you server to check what’s going on? My private email is tom@algoritmika.com.

      Best regards,
      Tom

    • Tom Anbinder June 5, 2018 at 3:49 pm #

      In case if anyone else has similar issues – as we figured out in private emails – removing EU VAT number field’s placeholder in plugin settings solves the issue.

      Best regards,
      Tom

  2. shuttler August 30, 2018 at 10:29 pm #

    Hello, i have this premium plugin. Skip VAT validation for selected countries dont work for me. My country is Spain. I put ES in the list but VAT is validating yet if a client comes from spain

    Reply

  3. kontur January 18, 2019 at 10:14 am #

    Hello,
    I don’t see the option “Preserve VAT in base country” working as expected. At the checkout with a EU VAT number from the store’s base country VAT still gets removed, which it shouldn’t.

    You can test this on my online shop, add a product here and progress to the checkout:
    https://underscoretype.com/product-category/typefaces/silta/

    · The shop location is Finland
    · The “Preserve VAT in base country” is checked
    · Try with a Finnish address and VAT, for example my company’s 28338636

    I further have an unrelated problem with the plugin coupled with WP Super Cache. The VAT plugin outputs headers which break the caching routine. Here an example of the error log:

    [18-Jan-2019 09:10:32 UTC] PHP Warning:  Error while sending QUERY packet. PID=28164 in …/wp-includes/wp-db.php on line 1924
    [18-Jan-2019 09:10:32 UTC] PHP Warning:  Error while sending QUERY packet. PID=849 in …/wp-includes/wp-db.php on line 1924
    [18-Jan-2019 09:10:32 UTC] PHP Warning:  Error while sending QUERY packet. PID=31530 in …/wp-includes/wp-db.php on line 1924
    [18-Jan-2019 09:11:32 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 1197
    [18-Jan-2019 09:11:32 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 1197
    [18-Jan-2019 09:12:11 UTC] PHP Warning:  session_start(): Cannot send session cookie - headers already sent by (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/eu-vat-for-woocommerce-pro/includes/functions/alg-wc-eu-vat-functions-general.php on line 57
    [18-Jan-2019 09:12:11 UTC] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/eu-vat-for-woocommerce-pro/includes/functions/alg-wc-eu-vat-functions-general.php on line 57
    [18-Jan-2019 09:12:11 UTC] PHP Warning:  session_start(): Cannot send session cookie - headers already sent by (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/eu-vat-for-woocommerce-pro/includes/functions/alg-wc-eu-vat-functions-general.php on line 57
    [18-Jan-2019 09:12:11 UTC] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/eu-vat-for-woocommerce-pro/includes/functions/alg-wc-eu-vat-functions-general.php on line 57
    [18-Jan-2019 09:23:43 UTC] PHP Warning:  Error while sending QUERY packet. PID=11922 in …/wp-includes/wp-db.php on line 1924
    [18-Jan-2019 09:24:02 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 1197
    [18-Jan-2019 09:24:24 UTC] PHP Warning:  session_start(): Cannot send session cookie - headers already sent by (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/eu-vat-for-woocommerce-pro/includes/functions/alg-wc-eu-vat-functions-general.php on line 57
    [18-Jan-2019 09:24:24 UTC] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at …/wp-includes/wp-db.php:1924) in …/wp-content/plugins/eu-vat-for-woocommerce-pro/includes/functions/alg-wc-eu-vat-functions-general.php on line 57
    

    Reply

    • Tom Anbinder January 18, 2019 at 11:14 pm #

      Hi,

      Maybe it’s possible to login to your site’s admin to check what’s going on? Also FTP access would help a lot. If it’s possible – my private email is tom@algoritmika.com.

      P.S. I did try going through your site’s frontend, however I keep getting “VAT is not valid” message (I’ve tried VAT ID you’ve provided, and I’ve added FI prefix). If you have checked “Check country by IP” checkbox in plugin settings, then my IP being not from Finland would result in invalid VAT..

    • Johannes Neumeier January 25, 2019 at 8:37 am #

      Hm, odd. I sent a reply to this but it does not appear here.

      FTP or other access to my production site is not an option.

      I’ve disabled the IP based country check, so you should be able to run the same test now without that impeding your result.

      Have you checked this in a online test environment with a locale and matching VAT of your choosing?

    • Tom Anbinder January 28, 2019 at 1:03 pm #

      Hi Johannes,

      I’ve just tried it on your site (added “Silta Thin” product to the cart) and it seems to be working fine: after entering Finnish VAT you’ve provided, I’ve got “VAT is valid, no VAT will be charged to EU businesses outside of Finland.” message and VAT is still there (Subtotal: 29 eur; VAT: 7 eur; Total: 36 eur). What am I missing?

      P.S. Regarding your previous message – it went to spam for some reason (I suppose because site’s spam filter decided that there are too many links in the message, sorry for that).

    • Johannes Neumeier January 31, 2019 at 7:20 am #

      Hey, thanks for getting back to me with this.

      Can you think of a reason why I am getting different results? Entering the same details I am presented with VAT 0€ when I try the same (just now). IP check is still off, and regardless, I confirmed with an online tester that I am correctly identified as browsing from Finland. Why would I get a different result than you testing with the same country and VAT ID?

    • Tom Anbinder January 30, 2019 at 1:41 pm #

      Hi Johannes,

      Regarding the second issue with WP Super Cache – hopefully I’ve managed to fix it. I’ve just released new plugin version 1.2.1. After update, please go to plugin settings (in “WooCommerce > Settings > EU VAT”) and there (at the bottom of the page in “Advanced Options” subsection) please select “WC session” option for Session type. Please let me know if it’s still not working as expected.

Leave a Reply

Changelog

= 1.3.0 - 31/01/2019 =
* Fix - Default field value on the checkout fixed.
* Dev - Display Options - Display - Multiple positions are now allowed (i.e. multiselect).
* Dev - Display Options - Display - In billing address - Field is now editable ("My Account > Addresses").
* Dev - Frontend Options - "Label CSS class" option added.
* Dev - Code refactoring.
= 1.2.1 - 30/01/2019 =
* Dev - Advanced Options - "Session type" option added.
* Dev - Admin settings - "Your settings have been reset" notice added.
= 1.2.0 - 12/11/2018 =
* Fix - AJAX - Possible "undefined index" PHP notice fixed.
* Dev - General - "Priority (i.e. position)" option added.
* Dev - General - "Raw" input is now allowed in textarea admin settings.
* Dev - Code refactoring.
* Dev - Plugin URI updated.
= 1.1.0 - 07/06/2018 =
* Dev - General - "Check for matching billing country code" option added.
* Dev - General - "Allow VAT number input without country code" option added.
= 1.0.1 - 05/06/2018 =
* Dev - %eu_vat_number% replaced value added to "Message on not valid" option. "Message on not valid" now doesn't check for required (i.e. empty) field.
= 1.0.0 - 24/05/2018 =
* Initial Release.

Installation

  • Buy the plugin 🙂
  • Download plugin's zip to your computer (you will receive an email with download link, or you can always download the plugin from your account).
  • Go to Admin Dashboard > Plugins > Add New > Upload Plugin and browse for downloaded zip file.
  • If plugin is successfully installed - you should see it added to the Plugins list.

Updates

To keep WPCodeFactory items up to date, please install WPCodeFactory Helper plugin and enter your site key.