VAT

VATValue Added Tax – is a form of consumption tax popular in Europe, Japan, and many other countries. VAT taxes the difference between the seller-purchased price and the resale price, i.e. the value added.

Dynamicweb contains the the following features for handling different VAT scenarios:

  • System VAT
  • Country VAT
  • VAT Groups

During checkout, VAT is calculated based on the billing country with the most specific VAT rate being used, i.e. VAT Groups > Country VAT > System VAT. In some cases it is desirable or required by law to calculate VAT based on the delivery country – you can enable this and other advanced settings under our advanced Prices settings.

In addition to the normal VAT hierarchy described above you can also set up Reverse charge for VAT, which

The System VAT rate is set under Settings > Ecommerce > Advanced configuration > Prices (Figure 2.1).

Figure 2.1 The system VAT rate

It is used for two things:

  • As a fallback value – It is applied to all products unless a more specific VAT rate is defined, e.g. a Country VAT rate
  • To recalculate VAT – If prices in the database include VAT, we use the system VAT rate to subtract VAT from products before recalculating VAT rates for other countries

To mark prices in the database as incl VAT, go to Settings > Ecommerce > Advanced configurations > Prices and check Prices in the database include VAT.

On each country you can set a Country VAT rate Figure 3.1).

Figure 3.1 Country VAT

VAT Groups exist to handle differentiated VAT rates, for cases where some product and services are exempt from or have a reduced VAT rate.

To create a VAT Group:

  • Go to Settings > Ecommerce > Internationalization > VAT Groups
  • Click New in the toolbar to open the VAT Group window (Figure 4.1)
Figure 4.1 Creating a VAT group

Configure the VAT Group:

  • Add a name and a native name (system name)
  • For each country set the country-specific VAT rate
  • If applicable, check Reverse charge for VAT – see the next section

Once created, a VAT group must be applied – this is done at the product group level. If a product belongs to different VAT groups in different countries, you can use the VAT Groups matrix to handle that.

As per EU-legislation, B2B shops are allowed to sell goods and services across EU-borders without charging VAT if the buyer has a valid VAT number. Please note, that it is the responsibility of the seller to ensure that the customer has a valid VAT number, for example by using the VIES service.

To activate Reverse Charge for VAT – which basically means turning off VAT for select customers – you must:

  1. Open the website Ecommerce-settings and set Reverse Charge for VAT to Yes
  2. If Reverse Charge for VAT should apply to all products sold in a country open the Country and check Reverse charge for VAT
  3. If Reverse Charge for VAT should apply only to a subset of products you can create VAT Groups and assign products to them with the Reverse Charge for VAT checkbox checked for countries in the EU which is not your own
  4. On each user with a valid VAT number check the Reverse Charge for VAT checkbox (you should verify that the number is valid)

Then, when a customer with the Reverse charge for VAT checkbox checked goes through checkout, products in a VAT group with Reverse charge active for the customer country will not incur VAT, provided that Reverse charge for VAT is set to true in the website Ecommerce settings of the website or language layer where the purchase is made.

Registered customers without Reverse Charge for VAT set will be charged the VAT rate specified on the VAT Group. Anonymous customers will not be charged VAT (please verify that they have a valid VAT number).

database

These are the database tables associated with VAT and Tazes in Dynamicweb:

EcomVatGroups

Contains vat group (VatGroupId) setup from Settings -> Ecommerce -> Internationalization -> Vat groups and translations of them (VatGroupLanguageId).

Field name Data type Length
VatGroupId nvarchar 50
VatGroupName nvarchar 255
VatGroupLanguageId nvarchar 50
VatGroupVatName nvarchar 255
VatGroupConfigurableVatProviderSettings nvarchar Max
VatGroupAutoId int 4

EcomVatCountryRelation

Defines which vat group translations (VatCountryRelaGroupId, VatCountryRelLangId) are active for a country (VatCountryRelCountryId).

Field name Data type Length
VatCountryRelGroupId nvarchar 50
VatCountryRelCountryId nvarchar 3
VatCountryRelLangId nvarchar 50
VatCountryRelVat float 8
VatCountryRelAutoId int 4
VatCountryRelReverseChargeForVat bit 1