Extension Configuration
Navigate to Stores → Configuration → (Sales) EU VAT Enhanced
. On this page you will find all the configuration sections which are described one after another below.
Module Information
This configuration section is on the extension configuration page at Stores → Configuration → (Sales) EU VAT Enhanced
.
Description of the configuration fields:
- License Key: Set your license key which you can find at your customer account at “My Downloadable Products”
- Debug Mode: Enable to get a detailed log file about the tax calculation flow. To get useful information from it, you should only log specific requests. For example put something in the cart and go to the cart page. Then delete the log file and reload the cart page. Then you have only the specific log for your cart. Otherwise all other calculations for example for the catalog pages are also included in the logs and as this log file will grow very fast in size, it becomes useless.
Interface Settings
This configuration section is on the extension configuration page at Stores → Configuration → (Sales) EU VAT Enhanced
.
Description of the fields:
Requester VAT number: Put the VAT number of the requester (eg. your own VAT number) in here. It will be sent together with the VAT number to be validated, during all validation requests to the interface. When the requester number is sent together with the VAT number to be validated, the interface will return a request identifier. This request identifier is basically a confirmation number that the requester did validate the number at a given point of time.
Whether this is a valid confirmation according to your local tax law is about to be discussed with your tax advisor.
- Offline Validation Fallback: Whether to use syntax based offline validation in case the interface is not available. In such cases the number will be accepted as valid and can be validated later when the interface is available again.
- Offline Validation Countries: Restrict the offline validation fallback to specific countries with this setting. The EU VIES interface works as a proxy to each EU countries interface and some countries will have a better uptime as others. We think that this works best when you select only countries for which you have known issues for, to have a more precise result on stable country interfaces.
VIES Interface
In this section you configure the VIES related interface settings. The URL to the VIES SOAP service can be configured should it change in the future.
Description of the fields:
- SOAP Service URL You should not change this value unless you know that the URL did change recently.
- Retry Count This is the amount of retries when the interface is not available. This will help in case the interface has to serve a high load, as some requests can still get through although others fail. After each retry the same amount of seconds is waited before the next request is executed. Make sure to set the count not too high.
- IPv6 Compatibility If you have general problems to connect to the interface, the IPv6 compatibility mode might help. It depends on your server setup if you need this option. Turn it on and set your servers IPv4 address to see if the connection is working then. Some interfaces still have problems handling IPv6 addresses.
HMRC Interface
In this section you configure the HMRC related interface settings. We do not need a retry count here because the interface is very stable and responsive.
Description of the fields:
- Environment Since January 2025 the HMRC interface requires authentication to be accessible. You need to register for API credentials at HMRC before you can use the interface in production. The old open interface is still supported until it stops working.
- Sandbox/Live credentials Use the API key and secrets you got from HMRC in the corresponding fields.
VAT settings
This configuration section is on the extension configuration page at Stores → Configuration → (Sales) EU VAT Enhanced
.
The module supports the dynamic application of up to three different customer tax classes, like consumers and businesses which have to pay VAT and businesses which have not. We have assembled the most, if not all, frequent VAT calculation cases with the help of our customers. The definition of these cases is
.Description of the fields:
- Domestic country: Set your domestic country to identify domestic business customers.
- Use dynamic customer tax class: This setting will enable the custom VAT descision, based on the customer address instead of the customer group like Magento core does. When enabled, generally all customers can purchase without VAT, when their VAT number is valid and the country does match. They do not have to be assigned to a specific customer group anymore.
- Tax class consumer incl. VAT: This class will be applied when there is no VAT number on the customers address or if the VAT number is invalid.
- Tax class business incl. VAT: This class will be applied when there is a valid VAT number on the customers address and the country is the same as the domestic country configured.
- Tax class business excl. VAT: This class will be applied when there is a valid VAT number on the customers address and the country is different to the domestic country. This class will also be applied, when the country is not a EU member. EU member countries can be configured in the general store settings.
You can optionally disable certain groups from "being dynamic" in regards of the VAT calculation:
Also optionally, define countries where customers can not purchase without VAT even with a valid VAT number. It is not needed to select your domestic country here.
Cross Border Trade
These configuration fields are on the extension configuration page at Stores → Configuration → (Sales) EU VAT Enhanced within the VAT Settings section.
If the main business of your shop is towards consumers, or for any other reason, you probably have set the admin prices to "Incl. Tax". Then you can choose to "Enable Cross Border Trade" at "Stores -> Configuration -> Tax".
If you do so then the business customers with valid VAT number will get the gross price, just without the tax amount. To calculate the real net price, navigate to "Stores → Configuration → (Sales) EU VAT Enhanced → VAT Settings" and enable "Disable Cross-Border-Trade (for valid VAT numbers)". Additionally you can control how you want to handle it for non-EU countries with the "Disable Cross-Border-Trade (for non EU)" setting from in the same configuration section.
Description of the fields:
- Enable customer country net price: Whether to use the net price at the countries rate instead of the net price of your domestic country.
- Net price countries: Sometimes you need to calculate the VAT rate of another country, when you sell to customers within that country. In this case you change the tax rate(s) for the country at "Stores -> Tax Zones and Rates" accordingly. Select such a country here to also calculate the actual net price with the foreign country rate, instead of the domestic rate.
Delivery to the UK
This configuration section is on the extension configuration page at "Stores → Configuration → (Sales) EU VAT Enhanced".
This is a feature for EU based businesses. If you sell to consumers within the UK and you need to follow the new UK regulations, requiring you to collect 20% UK VAT for orders below 135 GBP, follow these steps to configure it:
Enable the feature in the extension configuration section:
Description of the fields:
- Enable UK VAT Threshold calculation: Whether to use the calculation method
- Threshold value: Value must be provided in GBP
- Disable Cross-Border-Trade: To calculate the real net price instead of gross price without tax
- Include shipping in calculation: Whether or not the shipping cost does count to the threshold value
If GBP is not your stores default currency, enable GBP as a currency and configure a conversion rate:
- Navigate to
"Stores → Configuration → Currency Setup"
- Add
"British Pound"
to the list of"Allowed Currencies"
- Get a free API key from fixer.io (or any other service) and save it to the corresponding field
- Configure a daily scheduled import
- Click "Save Configuration"
Now the extension will check if the order is going to the UK and apply VAT on the order, as long as the cart subtotal is below the configurable 135 GBP threshold. If it is above, the extension will set the order to 0% VAT.
Import One Stop Shop
This configuration section is on the extension configuration page at "Stores → Configuration → (Sales) EU VAT Enhanced"
.
If your non-EU based company supplies products or provides services to consumers in EU countries, there is a high likelihood that you will need to comply with the regulations around the Import-One-Stop-Shop procedure.
Enable the feature to calculate the corresponding VAT rate of the country unless the configured threshold value is exceeded. The value is calculated based on the net subtotal.
Description of the fields:
- Enable non-EU to EU delivery VAT Threshold calculation: Whether to use the calculation method
- Threshold value: Value must be provided in EUR
- Disable Cross-Border-Trade: To calculate the real net price instead of gross price without tax
- Include shipping in calculation: Whether or not the shipping cost does count to the threshold value
If EUR is not the base currency of your store, you need to enable currency conversion as follows:
- Navigate to
"Stores → Configuration → Currency Setup"
- Add
"Euro"
to the list of"Allowed Currencies"
- Get a free API key from fixer.io (or any other service) and save it to the corresponding field
- Configure a daily scheduled import
- Click "Save Configuration"
Shipping VAT Settings
This configuration section is on the extension configuration page at "Stores → Configuration → (Sales) EU VAT Enhanced".
Currently the module supports two algorithms to calculate the shipping VAT dynamically.
- Largest Total: When set to "Use the tax class with largest total", the shipping tax class will have the same product tax class as the cart item with the biggest row total.
- Highest Rate: When set to "Use the tax class with the highest rate", the shipping tax class will have the same product tax class as the cart item with the highest rate.
Configure the additional tax classes for reduced and even super reduced rates if you need it.
Description of the fields:
- Use dynamic shipping tax class: Whether to apply one of the two algorithms described above.
- Reduced product tax class: Select your product tax class used for products with reduced VAT rate
- Reduced shipping tax class: Select your shipping tax class used for shipping with reduced VAT rate
- Super reduced product tax class: If you need to, select your product tax class used for products with super reduced VAT rate
- Super reduced shipping tax class: If you need to, select your shipping tax class used for shipping with super reduced VAT rate
Group assignment
This configuration section is on the extension configuration page at "Stores → Configuration → (Sales) EU VAT Enhanced".
It is optional to assign customer groups to customers based on the VAT number validation results. If you use it, you have to set all group assignments (leave none at -- Please Select --).
Choose the desired customer groups for the situations described in the configuration comments.
Additional description of the fields, others are self explanationary:
Overwrite actual customer group on guest orders: The customer group on orders from guests is
usually NOT LOGGED IN
. If you want, for example for ERP integration, enable this setting to have a group
set on
the order according to the group assignment selection.
Excluded Groups
This configuration field is on the extension configuration page at "Stores → Configuration → (Sales) EU VAT Enhanced"
within the "Group Assignment"
section.
If you use the group assignment and need special groups for discounts, select these
here at "Excluded groups"
. Customers in the selected groups will not be assigned to other groups based on the configuration above.
Change price display by customer group
This configuration section is on the extension configuration page at "Stores → Configuration → (Sales) EU VAT Enhanced".
These options give you a better control over how prices are displayed. In general when there is nothing configured it falls back to what is configured at "Stores -> Configuration -> Tax -> Price Display".
You can change the display individually for the catalog, cart items and the subtotal.
Description of the fields:
- Catalog Product Price Display: The "Display Type" set for a "Customer Group" will be used for the prices in product catalog
- Cart Product Price Display: The "Display Type" set for a "Customer Group" will be used for the prices in cart
- Cart Subtotal Price Display: The "Display Type" set for a "Customer Group" will be used for the subtotal in cart
Note that these settings only apply to the display type and not whether the price actually includes or excludes VAT.
Integration Settings
This configuration section is on the extension configuration page at "Stores → Configuration → (Sales) EU VAT Enhanced".
These options control how the VAT number input field behaves in the frontend.
- Enable VAT field functionality: Enable or disable all field functionality like validating VAT numbers, giving hints about syntax and toggling visibility based on the country.
- Enable Address fields on registration page: If enabled, the customer address input fields are shown at the registration, together with the VAT number input field. Your customers can register and will be assigned to the matching customer group, if group assignment is used.
- Field validation at Customer Registration: Select which validation should apply for the customer registration "VAT number" field.
- Field validation at Customer Address Edit: Select which validation should apply for the customer address edit page "VAT number" field.
- Field validation at Checkout: Select which validation should apply for the checkout "VAT number" field.
- VAT number field tooltip: A little help text, to guide your customers.
- VAT number field placeholder: Allows to set a placeholder value for the VAT number field.
- VAT number field delay: This controls after how many seconds the validation of the number will start and show messages about the VAT number syntax and validity.
- Field visible countries: If you want to show the field only for specific countries, select them here. This field will only show countries, which are configured as "Allow Countries" at "Stores -> Configuration -> General".
- Ask customer to set the country automatically: A confirmation popup will be shown to the user and will ask to set the address country according to the VAT number prefix. This can help avoid mistakes if the user forgets to change the default country.
Periodic Revalidation of VAT numbers
This configuration section is on the extension configuration page at "Stores → Configuration → (Sales) EU VAT Enhanced".
When enabled the module will reuse existing VAT number validation data for the period selected. This has several benefits and is recommended. It lowers the amount of requests to the interface which can be overloaded or not responding at all. It is also faster to reuse the data instead of querying the interface again.
The recommended setting for the period is Every Month
.
Always revalidate invalid numbers (once a day): Once numbers are validated online negatively (invalid numbers) you might think that the number either is wrong or is not being used anymore. In reality it can happen that numbers become valid although they were invalid before. To handle this situation without waiving the revalidation period feature, the extension can try to validate invalid numbers once a day and on demand, for example when the customer logs in.