Custom VAT features

The Custom VAT Features extension enables a range of additional features around VAT on your account.

Each feature, along with any installation instructions, is listed below.

We are happy to assist you in installing the necessary code to activate the extension on your website, please contact us and we'll provide you with a quote.


Custom VAT rates for products

If you are selling products where the standard VAT rate is not charged, for example smoking cessation products or heat-insulation products, you can enter the VAT rate for the product when creating/editing it.

Once the extension is activated, when adding/editing a product in the 'product pricing' section you'll see a 'custom VAT rate' field (as shown in the example below).

In this field you should enter the VAT rate for the product. So if the VAT rate is 5% then you should enter 5.

If the product doesn't have a custom VAT rate then you should leave this field blank.

If the product is zero rated for VAT then you should tick the 'yes' tick box (shown on the example above).

You do not need to make any adjustment to your theme's files to accommodate this feature, entering the custom VAT rate for the product is all you need to do.


VAT relief

You may be selling products where, under certain circumstances, the customer (or end-user) is not required to pay VAT on the price of the product, (for example, a special telephone for people with dementia).

Activating this extension allows you to indicate which of your products are eligible for customers to claim VAT relief on.

When adding/editing a product, in the 'product pricing' section you'll see a tick box 'is this product eligible for VAT relief' - you should tick this box if you'd like your customer to be able to claim VAT relief on the product.

Installation

On your theme, you'll need to enable a user to be able to 'claim' VAT relief (which will then remove VAT from the price for eligible products).

VAT can be removed from the applicable products in an order through a post request to /checkout/basket/vat-relief where the enable parameter on the request is set to 1.

Similarly, VAT relief can be removed from an order by setting the enable parameter is set to 0.

The default behaviour is for the user to be redirected to the home page after the post request is submitted. You can use the redirect parameter on the post request to set a new destination URL, e.g. o /checkout/basket.

There is also an optional ajax parameter (1 or 0) which will return a JSON response (object) instead of redirecting. The response has a single property of success which will return true.

You may like to display a visual indicator or text if an individual product is eligible for VAT relief. An additional variable is available on the product object which will return true if a product has been marked as eligible for VAT relief, this is product.eligible_for_vat_relief.

We Can Help!

You may require that your visitors complete an online form to declare their, or the product end-user's, eligibility to claim VAT relief before it can be applied to the order. Alternatively, you may want a different implementation of this extension. If you need any assistance please contact us and we'll discuss your requirements and provide you with a quote for the work you require.


Removing VAT from an order where a valid VAT number is supplied

If a customer is a business that resides within the European Union, you may not want that customer to pay VAT on their order if they supply a valid VAT number.

Our platform is connected to a third party API that can check the validity of a VAT number entered by a user and if valid, you can place code on your website to remove VAT from the order under this circumstance. Please note that unlike the VAT relief feature above, this implementation will remove VAT from all products in the order (including the delivery charge).

In the example above, the visitor has selected their delivery country as France and so an 'enter your VAT number' form is displayed. Clicking the 'validate' button checks the inputted number against the API and removes VAT from the order.

Installation

First, you'll need to add a vat number field, similar to the example above, to the checkout/basket page of your website. You'll likely only want this field to appear if a customer selects an appropriate delivery zone (for example any country within the EU excluding your own). This can be achieved by identifying the ID of the country selected by the user as their delivery zone.

Here's a list of countries within the EU and their ID:

Austria 14
Belgium 21
Bulgaria 33
Croatia 53
Cyprus 55
Czech Republic 56
Denmark 57
Estonia 67
Finland 72
France 73
Germany 81
Greece 84
Hungary 97
Ireland 103
Italy 105
Latvia 117
Lithuania 123
Luxembourg 124
Malta 132
Netherlands 150
Poland 170
Portugal 171
Romania 175
Slovakia 189
Slovenia 190
Spain 195
Sweden 203
United Kingdom 222

The VAT number entered can be validated against the API through a post request to /checkout/basket/set-vat-number. The post request expects a vat_number field.

The endpoint will return a JSON response with a single property of valid which will return as either true or false , e.g.

{
    "valid": true
}

VAT will be automatically removed from the order if the VAT number was validated and the VAT number country prefix, e.g. 'GB' for United Kingdom, matches against the list of qualifying countries that you've entered on the extension settings within your account (described below).

You'll probably want to record the VAT number supplied by the customer onto the details about the order. The VAT number entered is available on the checkout/address page in a twig variable checkout.vat_number so this can be referenced and placed in the order comments, e.g.

<input type="hidden" name="comments" value="VAT Number: {{ checkout.vat_number }}">

You may already have a comments field on your checkout page. If you do you'll need to adjust the existing comments field and the one above so that you can have both fields operating at the same time. You can find out more about this here.

Configuring the extension

On the extension page in your account you'll need to configure two settings to make the above work correctly.

First, you'll need to tick the tick box 'remove VAT from orders'. This enables the 'VAT removal' system.

Secondly, you'll need to enter the VAT number country prefixes, separating them with a comma, for the countries that you want VAT to be removed from the order for.

For example, if you're in the UK then you might want to use the country codes for all countries within the EU VAT zone, except for the UK. So you'd enter:

AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR ,DE, EL, HU, IE, IT, LV, LT, LU, MT, NL, PL, PT, RO, SK, SI, ES, SE

Save your changes when you're done.