Value added tax (VAT)
Some countries charge a value-added tax, or VAT, on goods and services. There can be different VAT rates depending on the stage in the manufacture or distribution process, materials, or services that you sell to your customers. You can apply more than one VAT rate to correctly calculate the tax that is due.
Commerce can be configured to charge a value-added tax based on either the merchant or customer address, if both are in the same country. VAT calculations are typically based on the shipment destination, rather than its point of origin. For most scenarios, a configuration setting that calculates VAT based on the customer shipping address is sufficient.
Example scenarios
-
For a VAT registered business in one EU country that supplies goods to a private individual in another EU country, VAT is calculated as a “distance sale” based on merchant location.
-
A business in the Netherlands that makes a purchase from a store in the U.K. that ships to an address in the U.K. is required to pay U.K. VAT rates.
-
For the sale of downloadable products, or digital goods, the VAT rate is based on the shipping destination, rather than the merchant location. See Place of supply for digital goods.
Configure VAT
The following instructions include a sample procedure to set up a 20% VAT in the U.K. for sales to retail customers. For other tax rates and countries, follow the general procedure but enter specific information that corresponds to your country, VAT rate, customer types, and so on.
In certain business-to-business transactions, VAT is not assessed. Commerce can validate a customer’s VAT ID to ensure that VAT is assessed (or not assessed) properly. See VAT ID validation.
Step 1: Set up customer tax classes
The process of creating a tax rule begins by adding a tax rate.
-
On the Admin sidebar, go to Stores > Taxes > Tax Zones and Rates.
{width="600" modal="regular"}
-
Ensure that there is a customer tax class that is appropriate to use with the VAT.
For this example, ensure that there is a customer tax class named Retail Customer. If this tax class does not exist, click Add New Tax Rate.
-
Enter the Tax Identifier for the new tax class.
All tax rates are displayed in the Tax Rate field in the Tax Rule Information when you create tax rules.
-
To set the zip code range (from / to), select the Zip/Post is Range checkbox.
-
Choose the Country where the tax rate applies.
-
Enter the Rate Percent that would be used for the tax rate calculation at purchase.
-
When complete, click Save Rate.
Based on the submitted tax rate, you can create subsequent tax rules. In the absence of tax rates, the creation of tax rules becomes impossible.
Step 2: Set up product tax classes
-
On the Admin sidebar, go to Stores > Taxes > Tax Rules.
-
Click Add New Tax Rule.
-
Expand the Additional Settings section.
{width="600" modal="regular"}
-
Under Product Tax Class, click Add New Tax Class.
-
To add the new class to the list of available product tax classes and create three new classes, enter the Name of the new tax class and click the checkmark:
VAT Standard
VAT Reduced
VAT Zero
-
Click Save Class for each new class that you add.
-
Click Save Rule.
Step 3: Set up tax zones and rates
-
On the Admin sidebar, go to Stores > Taxes > Tax Zones and Rates.
For this example you can remove the U.S. tax rates, or leave them as they are.
-
Click Add New Tax Rate.
{width="600" modal="regular"}
-
Define new rates as follows:
VAT Standard
- Tax Identifier:
VAT Standard
- Country and State:
United Kingdom
- Rate Percent:
20.00
VAT Reduced
- Tax Identifier:
VAT Reduced
- Country and State:
United Kingdom
- Rate Percent:
5.00
- Tax Identifier:
-
Click Save Rate for each rate.
Step 4: Set up tax rules
A tax rule is a combination of a customer tax class, a product tax class, and a tax rate.
-
On the Admin sidebar, go to Stores > Taxes > Tax Rules.
-
Add new tax rules as follows:
VAT Standard
- Name:
VAT Standard
- Customer Tax Class:
Retail Customer
- Product Tax Class:
VAT Standard
- Tax Rate:
VAT Standard Rate
Vat Reduced
- Name:
VAT Reduced
- Customer Tax Class:
Retail Customer
- Product Tax Class:
VAT Reduced
- Tax Rate:
VAT Reduced Rate
- Name:
-
Click Save Rule for each rate.
Step 5: Apply tax classes to products
-
On the Admin sidebar, go to Catalog > Manage Products.
-
Open a product from your catalog in edit mode.
-
On the General page, find the Tax Class option and select the VAT Class that applies to the product.
-
When complete, click Save.
{width="600" modal="regular"}
Field descriptions
Store information
Commerce uses the following Store Information configuration settings to calculate VAT based on merchant information.
VAT Number - The value-added tax number that is assigned to the merchant.
Validate VAT Number - VAT validation confirms that the VAT number matches the corresponding record in the European Commission database.
Customer information
Commerce uses the following fields to calculate VAT based on customer information).
Account information
Tax/VAT Number - If applicable, the tax number or value-added tax number that is assigned to the customer.
Addresses
VAT Number - If applicable, the value-added tax number that is associated with a specific billing or shipping address of the customer. For the sale of digital goods) within the EU, the amount of the VAT is based on shipping destination.
Customer account
Commerce uses the following customer configuration settings to calculate VAT.
Show VAT Number on Storefront - Determines if the customer VAT Number field is included in the Address Book that is available in the customer account.
Default Value for Disable Automatic Group Changes Based on VAT ID - VAT ID is an internal identifier for the VAT Number of the customer when used in VAT Validation. During VAT validation, Commerce confirms that the number matches the European Commission database. Customers can be automatically assigned to one of the four default customer groups based on the validation results.
VAT ID validation
VAT ID Validation automatically calculates the required tax for B2B transactions that take place within the European Union (EU), based on the merchant and customer locale. Commerce performs VAT ID validation using the web services of the European Commission server.
- VAT is charged if the merchant and customer are in the same EU country.
- VAT is not charged if the merchant and customer are in different EU countries, and both parties are EU-registered business entities.
The store administrator creates more than one default customer group that can be automatically assigned to the customer during account creation, address creation or update, and checkout. The result is that different tax rules are used for intra-country (domestic) and intra-EU sales.
Customer registration workflow
If VAT ID Validation is enabled, after registration each customer is proposed to enter the VAT ID number. However only shoppers who are registered VAT customers are expected to fill this field.
After a customer specifies the VAT number and other address fields, and chooses to save, the system saves the address and sends the VAT ID validation request to the European Commission server. According to the results of the validation, one of the default groups is assigned to a customer. This group can be changed if a customer or an administrator changes the VAT ID of the default address or changes the whole default address. Sometimes, the group can be temporarily changed (group change is emulated) during one-page checkout.
If enabled, you can override VAT ID Validation for individual customers by selecting the checkbox on the Customer Information page.
Checkout workflow
If a customer’s VAT validation is performed during checkout, the VAT request identifier and VAT request date are saved in the Comments History section of the order.
The system behavior concerned with the VAT ID validation and the customer group change during the checkout depends on how the Validate on Each Transaction and the Disable Automatic Group Change settings are configured. This section describes the implementation of the VAT ID Validation functionality for the checkout on the frontend.
If customer uses Google Express Checkout, PayPal Express Checkout, or another external checkout method, the checkout is performed completely on the side of the external payment gateway. For this scenario, the Validate on Each Transaction setting cannot be applied and the customer group cannot change during checkout.
{width="550" modal="regular"}
Configure VAT ID validation
To configure VAT ID validation, you must first set up the customer groups that are needed, and create the related tax classes, rates, and rules. Then, enable VAT ID validation for the store, and complete the configuration.
The following examples show how tax classes and rates are used for VAT ID Validation. Review the examples, and then follow the instructions for setting up the tax classes and rules that are needed for your store.
Example: Minimal tax rules required for VAT ID validation
A class for domestic customers.
A class for customers with incorrectly formatted VAT IDs.
A class for customers whose VAT ID validation failed.
A class for domestic customers
A class for customers with invalid VAT ID A class for customers, for whom VAT ID validation failed
Step 1: Create VAT-related customer groups
VAT ID Validation automatically assigns one of the four default customer groups to customers according to VAT ID validation results:
- Domestic
- Intra-EU
- Invalid VAT ID
- Validation error
You can create customer groups for VAT ID Validation or use existing groups, if they comply with your business logic. When configuring VAT ID Validation, you must assign each of the created customer groups as a default for customers with appropriate VAT ID validation results.
Step 2: Create VAT-related classes, rates, and rules
Each tax rule is defined by three entities:
- Customer Tax Classes
- Product Tax Classes
- Tax Rates
Create the tax rules for using VAT ID Validation effectively.
- Tax rules include tax rates and tax classes.
- Tax classes are assigned to customer groups.
Step 3: Enable and configure VAT ID validation
-
On the Admin sidebar, go to Stores > Settings > Configuration.
-
If necessary, set the Store View for the configuration.
-
In the left panel, expand Customers and choose Customer Configuration.
-
Expand the Create New Account Options section.
In the following example, the general customer settings that are not related to VAT Validation are dim.
{width="600" modal="regular"}
-
Set Enable Automatic Assignment to Customer Group to
Yes
and complete the following fields as needed.- Default Group
- Default Value for Disable Automatic Group Changes Based on VAT ID
- Show VAT Number on Storefront
-
When complete, click Save Config.
Step 4: Set your VAT ID and location country
-
In the left panel, expand General and choose General underneath.
-
Expand the Store Information section.
{width="600" modal="regular"}
-
Select your Country.
-
Enter your VAT Number and click Validate VAT Number.
The result appears immediately.
-
When complete, click Save Config.
Step 5: Verify the list of EU member countries
-
Continuing in the General configuration page, expand the Countries Options section.
{width="600" modal="regular"}
-
In the European Union Countries list, verify that each member country of the EU is selected.
To change the default setting, clear the Use system values checkbox. Hold down the Ctrl key (PC) or the Command key (Mac) and click each country that you want to add or remove.
-
When complete, click Save Config.