This part of the 4.x documentation is for eZ Publish 4.0, only reference section is common for all eZ Publish 4.x versions as well as eZ Publish 5.x "LegacyStack", please select the version you are using for the most up to date documentation! |
The webshop system supports the following three approaches to VAT charging:
The next subsections explain the difference between these approaches.
The primitive "VAT per product" approach allows to choose one of the predefined static VAT types when you create a new product or edit an existing one. Thus you can specify a fixed VAT rate for each product. It is also possible to specify the default VAT type for a product class so that this VAT type will be used by default when a new object of this class is created.
Let's say that you sell various products to Norwegian customers and need to charge the following rates of VAT depending on the type of goods:
You will have to create these three VAT types (as described in the "Creating a VAT type" section) so that you can assign an appropriate VAT type to each product.
It is also possible to create several product classes and specify different default VAT types for them. The value specified for a product class will be selected by default for a new object of this class.
For example, let's say that you have created the following three product classes:
In this case, the system will assign the 25% fixed VAT type to each newly created carpet, the 11% fixed VAT type to each newly created food product, and the 7% fixed VAT type to each newly created motorcycle.
In most cases, the amount of the VAT depends on where the customer lives. The "Country dependent VAT" approach allows to charge different VAT percentage depending on the product category (if specified) and the country the customer is from. This can be done by using the dynamic VAT type and the built-in default VAT handler. This handler uses the VAT charging rules to determine the appropriate VAT percentage for a product.
A VAT charging rule consists of the following components:
and determines which static VAT type to use in case when the customer is from the specified country and the product belongs to one of specified categories. The administration interface makes it possible to add, remove and modify VAT charging rules as described in the "Managing VAT rules" section. The default VAT rule specified for "Any" country and "Any" category determines which rate of VAT to use in case if all other VAT rules do not match.
The more exact match a rule provides for given "country-category" pair, the higher priority it has. In other words, the default VAT handler tries to choose the best matching VAT percentage. To understand how this VAT choosing algorithm works, look at possible match cases and their priorities described in the following table:
Country | Category | Example | Priority |
---|---|---|---|
exact match |
exact match |
Norway-Food |
4 |
exact match |
weak match |
Norway-Any |
3 |
weak match |
exact match |
Any-Food |
2 |
weak match |
weak match |
Any-Any |
1 |
If there is no match on country and/or no match on category then the lowest (zero) priority will be used.
If you sell for example carpets and need to levy the 16% VAT on purchases made by German customers and 25% on purchases made from Norway then the "VAT per product" approach is not applicable. The following text explains how the "country dependent VAT" approach can be used in this particular case.
Create the following two VAT rules as described in the "Creating a VAT rule" section:
User country | Product category | VAT type |
---|---|---|
Norway |
Any |
Norway general, 25% |
Germany |
Any |
Germany general, 16% |
The system will also ask you to create the default VAT rule that will be applied to customers from all other countries.
Since you sell only one type of goods, there is no need to create product categories. The VAT rules specified for "Any" product category will be applied to all your products.
If your webshop sells various types of products with different rates of VAT then the rate of VAT will depend on both user country and product category. This means that you will have to create product categories, assign them to your products and specify VAT rules for these product categories (not for "Any" category as described in the previous section).
For example, let's say that you sell various products to Norwegian and German customers and need to charge the following rates of VAT depending on the type of goods:
The following text explains how the "country dependent VAT" approach can be used in this particular case.
Create the following five VAT rules as described in the "Creating a VAT rule" section:
User country | Product category | VAT type |
---|---|---|
Germany |
Food |
Norway low, Germany reduced, 7% |
Germany |
Any |
Germany general, 16% |
Norway |
Personal transport |
Norway low, Germany reduced, 7% |
Norway |
Food |
Norway reduced, 11% |
Norway |
Any |
Norway general, 25% |
The system will also ask you to create the default VAT rule for any category and any country (this VAT rule will be used in case if none of the other VAT rules is applicable).
If you need more complicated VAT charging logic for your webshop, you can extend the system by creating your own VAT handler for special needs. This approach is incompatible with the previous one because using two or more VAT handlers at the same time is not supported. The "Handler" INI setting described in the "VAT settings" section determines the VAT handler to use.
The VAT charging logic implemented by your handler will be applied to all products that have the dynamic VAT type assigned. Keep in mind that dynamic VAT type does not work with "Price inc. VAT" configuration.
Please refer to the "Creating new VAT handlers" section for more information.
Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2013 eZ Systems AS (except where otherwise noted). All rights reserved.