The WooCommerce Eu Vat & B2B (WCEV) seamlessly integrates an additional EU Vat Number Field into your WooCommerce platform. It will be dynamically shown during the checkout process only if the selected billing country is part of the European Union. The plugin also offers several other options, like a way to validate the field, make it mandatory or remove the Taxes if a valid Vat number has been entered. Optionally you make the registration process available only for businesses (B2B) with a valid Vat number!
LIVE DEMO
https://www.codecanyondemo.work/wcev/wp-admin
(Shop admin account)
user: demo
pass: demo
(customer account)
user: demo2
pass: demo
DOCUMENTATION
How to automatically update the plugin
To receive automatic updates just install and configure the Envato updater plugin: https://goo.gl/pkJS33 .The official guide that explains how to configure it can be found at the following link: https://envato.com/market-plugin .
THE IDEA
WCEV extends WooCommerce adding an EU Vat Number Field that will be dynamically shown during the checkout process and the user profile page (billing address) only if the selected billing country is part of the European Union. The Shop Admin can also make it compulsory and optionally
validate it (the plugin uses the VIES function or simply check if it has a valid format ). It also allows you to not charge the users that enter a Vat number.
Configuration
By accessing the WooCommerce -> EU Vat Field – Options you can configure the plugin options. You can, for example, disable the required option or show the Require invoice voice by which the customer
can request an invoice. Furthermore, once enabled this option, you can also make the field visible only if the user requests an invoice.
Vat validation
The Vat number can be validated using the VIES function. In case the validation fails, the plugin will not allow the checkout to be completed and it
will show a validation warning message (customizable using the Texts menu).
Validation can be also performed by just checking if the Vat number has a valid format.
Don’t bother your users with unuseful checkout fields!
Why ask your customers for Company name and Vat if they are just consumers? WCEV allows you to not bother them!
Using the following options:
- Request an invoice: to display the Vat field only if the user requests an invoice.
- Consumer/Business selector to dynamically display the Company name and Vat fields only if the customer identifies himself as a Business.
Tax exemption
The WCEV plugin will also allow you to not charge the Vat taxes for users that have inserted a Vat Number. Tax exemption can be applied to all users with a Vat Number (and optionally even for the ones who have the same billing country as the shop base location: WooCommerce -> Settings -> General -> Base Location).
Tax removal will take effect Shop, Product, Cart, and Checkout pages. Once a valid Vat Number has been entered on Checkout, My account -> Billing addresses or Registration pages, item prices, and totals will show and be billed without taxes.
In case you choose to display the Vat field even for non-Eu users, you can also eventually enable the option to remove taxes for non-Eu who enter a vat number. Note, however, that no validation will be performed for those vat numbers.
Business-to-Business (B2B) made easy!
The shop admin can also make the Billing company name field as required! So optionally using this option in conjunction with the VIES Vat validation method and the enabling Tax removal option, shop admin can easily make business-to-business (b2b) sales.
NEW: the new Register page – Only businesses can register option will now allow only valid businesses to register in your store! The entered Vat number will be validated according to the validation options selected and to the selected billing country
and if not valid, the user will not be able to register!
Vat number uniqueness check
Optionally the plugin can perform a uniqueness check in order to avoid different users using the same Vat number.
Italy special fields
In case Italy is selected as the billing country, Codice fiscale, and SDI/Pec fields will be shown. It will be also performed validation on their format.
Spain special fields
In case Spain is selected as the billing country, NIF / NIE /CIF field will be shown. It will be also performed validation on its format.
Greece special fields
In case Spain is selected as the billing country, in case of business type selection, the “Tax office” and “Business activity” fields will be shown.
Label and Text (WPML Localizable)
Field labels, placeholders, and validation error messages can be customized using the Text menu. For WMPL users, text can be localized by just switching the current language using the WPML language selector and then entering texts for the current language.
Frontend integration
WCEV seamlessly integrates the EU Vat Field in the Checkout, My Account, and Order details pages, and in the Order emails. No configuration is required!
Backend integration
WCEV seamlessly integrates the EU Vat Field also in the backend. The shop admin can retrieve Vat number information and if the user requested an invoice, from the Order details and Orders list pages:
Support to Italy “Fatturazione Elettronica”
In the case of Italy country selection, the plugin will also show the SDI/Pec field that allows the customer to enter its SDI code/Pec address. The shop admin can customize labels, descriptions, and validation messages displayed!
Note on validation: the plugin will only check that the email has the right format or that the SDI code is an alphanumeric code of 7 char length.
Are you a WooCommerce PDF Invoices & Packing Slips user?
If you are using the WooCommerce PDF Invoices & Packing Slips by Wp Overnight plugin to generate invoices and you want to report the user Vat number associated with the order, simply modify the template you are using (usually the templates/Simple/invoice.php)
and use the following snippet of code:
< ?php global $wcev_order_model; $vat_number = $wcev_order_model->get_vat_number($order_id); ? >
To retrieve the Vat number. The $order_id variable is the id of the order you want to retrieve the field. To display it, just use the following snippet
echo $vat_number;
Are you a WooCommerce Print Invoices & Packing Lists user?
If you are using the WooCommerce Print Invoices & Packing Lists by SkyVerge plugin to generate invoices and you want to report the user Vat number associated with the order, simply modify the template part in which you want to display it (templates are located in: templates/pip)
and use the following snippet of code:
< ?php global $wcev_order_model; $vat_number = $wcev_order_model->get_vat_number($this->order_number()); ? >
To retrieve the Vat number. $order_id is the id of the order you want to retrieve the field.
For example, if you want to display it among the User details, edit the templates/pip/content/order-table-after.php file. On line 98 you will find a section called Customer Details. Inside the ul (After line 91) you can add something like:
< ?php global $wcev_order_model; $vat_number = $wcev_order_model->get_vat_number($this->order_number()); ? > <li class=""><?php echo '<strong>Vat Number</strong> '. $vat_number ; ?></li>
CUSTOM CHECKOUT FORM NOTICE
The plugin is designed to work with default checkout forms. Adding or removing fields using any plugin, using a custom checkout template (for example some themes may be implementing multi-step checkout), or customizing the Appearance (Appearance -> Customize -> WooCommerce) may cause the plugin to not work.
SCREENSHOTS
Frontend integration – Checkout
Frontend integration – Billing details page (with the “request invoice” option enabled)
Frontend integration – Order details page
Email integration
Backend integration – Order details page
Backend integration – Orders list page
User profile page (Admin)
CHANGE LOG
= 12.9 - 03.07.24 = * Minor improvements = 12.8 - 02.07.24 = * Internal library update = 12.7 - 03.05.24 = * Internal library update * Improved VIES validation function = 12.6 - 08.01.24 = * Added option to set the NIF/NIE field as mandatory = 12.5 - 20.11.23 = * Improved field display management on checkout = 12.4 - 10.10.23 = * Improved admin order save data management = 12.3 - 22.09.23 = * Minor js improvement = 12.2 - 18.09.23 = * Fixed an issue related to the order creation = 12.1 - 04.09.23 = * Fixed an issue with YITH Request a quote plugin = 12.0 - 27.07.23 = * Added compatibility with HPOS = 11.9 - 25.09.22 = * Minor bugfix = 11.8 - 18.03.22 = * Fixed an issue related to the WooCommerce Multiple Customer Addresses & Shipping = 11.7 - 17.03.22 = * Minor improvement = 11.6 - 03.02.22 = * Fixed an issue that might raise using the plugin in conjunction with the WooCommerce Multiple Customer Addresses plugins = 11.5 - 27.10.21 = * Fixed an issue with the countries list retrieval = 11.4 - 26.10.21 = * Added CIF field for Spain * Improved validation for NIF / NIE / CIF field = 11.3 - 17.10.21 = * Added option to remove taxes for the non-eu users who enter a generic vat number (it won't be validated) = 11.2 - 11.10.21 = * Minor update = 11.1 - 19.07.21 = * Code reorganization = 11.0 - 13.04.21 = * Fixed an issue where in some scenarios, the Vat field was displayed even for non-EU countries = 10.9 - 19.02.21 = * If the option to show always the vat field is enabled, taxes won't be removed anymore for extra EU countries in case a vat number is entered = 10.8 - 16.01.21 = * Minor CSS improvements = 10.7 - 16.01.21 = * Fixed an issue related to the company name mandatory check process * Improved the mandatory management = 10.6 - 04.01.21 = * Fixed an issue due to the field was not properly editable on the checkout page = 10.5 - 12.10.20 = * Fixed an issue related to the dynamic display of extra countries fields function = 10.4 - 30.09.20 = * Fixed an incompatibility with Avada = 10.3 - 16.09.20 = * Added a new option to show a text before the product list in case the price are hidden = 10.2 - 01.07.20 = * Added "Company ID" field for the Czech Republic = 10.1 - 30.06.20 = * Added "Company ID" field for Slovakia = 10.0 - 16.06.20 = * Minor improvements = 9.9 - 27.04.20 = * Added option to disable the codice fiscale format validation = 9.8 - 24.10.20 = * Fixed an issue related to WooCommerce installation older than 4.0 = 9.7 - 17.10.20 = * Fixed an issue related to the Codice Fiscale email embedding = 9.6 - 17.10.20 = * Codice Fiscale (if any) is now reported in the email = 9.5 - 10.04.20 = * Fixed an issue related to WC4.0 compatibility = 9.4 - 24.02.20 = * Fixed a minor issue related to the Text and Options menus = 9.3 - 24.02.20 = * Codice fiscale field now accepts 11-digit codes = 9.2 - 24.02.20 = * Fixed an issue related to the NIF / NIE field = 9.1 - 23.02.20 = * Fixed an issue related to the "request invoice" option = 9.0 - 11.02.20 = * Fixed an issue related to the mandatory company name option = 8.9 - 22.01.20 = * Added new option for B2B registration: is now possible to show the state field = 8.8 - 21.01.20 = * Fixed an issue due to the Company name was not properly saved during registration = 8.7 - 16.01.20 = * Fixed an issue related to the Spain NIF/ NIE field validation process = 8.6 - 23.12.19 = * Fixed an issue due to Greece's "Tax office" and "Business activity" fields were not displayed on the admin area = 8.5 - 23.12.19 = * Added "Tax office" and "Business activity" fields for Greece businesses = 8.4 - 19.12.19 = * Fixed an issue that prevented data to be properly saved in the My Account -> Addresses pages = 8.3 - 19.12.19 = * Fixed an issue that prevented data to be properly saved in the My Account -> Addresses pages = 8.2 - 15.12.19 = * Minor improvement on the admin user page = 8.1 - 28.11.19 = * Added NIF / NIE field for Spain = 8.0 - 27.11.19 = * Codice fiscale field is now always shown if Italy is selected as the billing country = 7.9 - 25.11.19 = * Fixed an issue due to the Codice Fiscale and SDI/Pec fields were not displayed on the customer admin page = 7.8 - 25.11.19 = * Codice fiscale field can be set as mandatory = 7.7 - 13.11.19 = * Improved field validation check = 7.6 - 11.11.19 = * Fixed SDI/Pec text typos = 7.5 - 30.10.19 = * Minor improvement to the Texts menu = 7.4 - 16.10.19 = * Business selector (if shown) is now mandatory = 7.3 - 15.10.19 = * Added option to disable the codice fiscale field = 7.2 - 01.10.19 = * Added codice fiscale field for Italy billing country = 7.1 - 19.09.19 = * On the registration page (B2B) vat, country, and company fields won't be reset in case of a validation error = 7.0 - 18.09.19 = * Fixed an issue related to the SDI/Pec mandatory field = 6.9 - 12.09.19 = * Taxes removal option: in case the Vat field is shown even for not EU billing countries, the tax will be removed for those countries if any vat number is entered = 6.8 - 29.05.19 = * Fixed some issues related to the My Account -> Addresses -> Billing Address form = 6.7 - 21.05.19 = * Added option to make SDI/Pec field mandatory (only for Italy) = 6.6 - 03.05.19 = * Typo related to the SDI field description = 6.5 - 02.05.19 = * B2B registration form: the plugin now preselects the current user country (using the WooCommerce geolocator feature) = 6.4 - 11.04.19 = * Minor bugfix = 6.3 - 12.03.19 = * Minor bugfix = 6.2 - 11.03.19 = * Typo = 6.1 - 09.03.19 = * Added support to Italy Fatturazione Elettronica SDI/pec field = 6.0 - 26.01.19 = * Fixed an issue with Belgium vat format validation = 5.9 - 24.01.19 = * Fixed a packaging error = 5.8 - 24.01.19 = * Fixed an issue due to the Company name not showed = 5.7 - 20.12.18 = * Minor bugfix = 5.6 - 10.12.18 = * Fixed an issue that may prevent the product to be saved = 5.5 - 07.12.18 = * Minor bugfix related to WP 5.0 = 5.4 - 13.11.18 = * Bug fix related to the activation system = 5.3 - 06.11.18 = * Fixed an issue due to a warning message about a "priority" value shown in the checkout page = 5.2 - 08.10.18 = * Added new activation system: now the plugin can be only activated in two domains and they cannot be unregistered = 5.1 - 06.09.18 = * Minor bugfix = 5.0 - 13.07.18 = * Fixed an issue due to in some cases the customer's EU Vat number was not properly retrieved = 4.9 - 12.07.18 = * Minor bugfix = 4.8 - 02.06.18 = * Fixed an issue due to the VAT number was not properly validated according to the billing country = 4.7 - 08.05.18 = * Fixed an issue due to product prices were never displayed = 4.6 - 02.05.18 = * Minor bugfix = 4.5 - 01.05.18 = * B2B: added option to hide prices and add to cart buttons for not registered users and show instead a message * Added option to check if entered Vat number has already been used = 4.4 - 26.04.18 = * Added "Only business can register" option: On the WooCommerce register page only businesses with a Vat number can register = 4.3 - 23.04.18 = * Minor bugfix related to the "I need an invoice" checkbox = 4.2 - 23.04.18 = * Added option to disable Vies validation for local business * Fixed an issue that prevented to load Vat number on the admin order details page when loading user billing details = 4.1 - 03.04.18 = * Minor JS bugfix = 4.0 - 14.03.18 = * Required invoice label is no longer shown on the order details page if the relative option is not enabled = 3.9 - 02.02.18 = * Added option to disable Vat Field edit after the user entered a valid Vat Number = 3.8 - 26.01.18 = * Fixed an issue due to the "required invoice" checkbox sometimes was not properly shown on the checkout page = 3.7 - 22.01.18 = * Added option to show the "Vat reverse charge" text on Cart and Checkout pages if taxes are removed. Text can be customized = 3.6 - 17.01.18 = * Selecting a new country will no longer reset the "I need invoice" checkbox = 3.5 - 20.10.17 = * Fixed an issue due to Company name being requested even if the customer type was selected = 3.4 - 19.10.17 = * Fixed an issue that may prevent the proper validation of Spain Vat numbers = 3.3 - 10.10.17 = * Minor bugfix = 3.2 - 06.10.17 = * Added option to disable EU Vat field only for the selected EU Countries = 3.1 - 14.09.17 = * Fixed an issue that prevented to proper load the tax setting on WooCommerce -> Settings -> Tax tab = 3.0 - 06.09.17 = * Added option to show EU Vat field for any selected billing country = 2.9 - 30.08.17 = * On the checkout page, when taxes are removed they are also removed from the cart subtotal usually shown on the top-right of the page (this requires that the theme properly implements the cart fragment) * Fixed an issue that in some cases prevented Billing details to be saved when editing them using the My Account -> Billing address page = 2.8 - 03.08.17 = * Minor bugfix = 2.7 - 22.07.17 = * Fixed an issue due to the "Business" option (within the Business type selector) text was not customizable = 2.6 - 16.06.17 = * Added option to show Billing Company field (and make it mandatory) only when the "I need an invoice" option has been selected = 2.5 - 02.06.17 = * Fixed an issue that forced the user to enter the Vat number even if the field was hidden = 2.4 - 26.05.17 = * Minor bugfixes = 2.3 - 12.05.17 = * Improved Tax removal function = 2.2 - 10.05.17 = * Taxes are properly shown/hidden when switching from customer/business using the special selector * Some UI improvements = 2.1 - 06.05.17 = * Fixed an issue with the new Business/Consumer selector feature = 2.0 - 04.05.17 = * Added option to display the Company name and EU Vat field only if the user identifies himself as business = 1.9 - 22.04.17 = * Improved tax exemption management = 1.8 - 10.04.17 = * Fixed other WooCommerce 2.6 backward incompatibility issues = 1.7 - 05/04/17 = * Fixed a minor issue with WooCommerce 3.0 = 1.6 - 13/03/17 = * Fixed a minor issue on a javascript library used in the Admin order edit page = 1.5 - 08/03/17 = * Vat number is now recognized even if they have the country code prefix * Fixed an issue with Dynamic string translation (WPML) = 1.4 - 05/03/17 = * On manually loading billing user info on the Order details page, now Vat data is properly loaded * Added support for WooCommerce Multiple Addresses ( httpss://codecanyon.net/item/woocommerce-multiple-customer-addresses/16127030 ) = 1.3 - 23/02/17 = * Added option to make Billing company field as required = 1.2 - 22/02/17 = * Added method to simply validate Vat number format = 1.1 - 17/02/17 = * Minor bugfix = 1.0 - 15/02/17 = * Release