MagentoGuernsey and Jersey in the Channel Islands have independent tax rules from the UK and require some special processing in a Magento eCommerce website – here is how to go about it.

First of all lets look at the sales tax rules in these three jurisdictions. UK sales tax or VAT (value added tax) is currently charged at 20% and needs to be applied to all orders payed for/delivered to the UK. Jersey has a similar system called GST (goods and services tax) that is currently 5%. Guernsey on the other hand doesn’t have any sales tax at all.

The place you need to be looking to configure all of this is in the main menu under Sales->VAT. Once you have set-up the customer and VAT classes, or used the defaults you need to add your tax rates and regions in the Manage Tax Zones & Rates. Here you specify a country, optionally post/zip codes and rates. So for our situation you would expect the configuration below.

Tax Identifier Country County/State Postcode/Zip Rate
UK VAT United Kingdom * * 20.00
JE GST Jersey * * 5.00

Guernsey doesn’t need to be there at all because there is no sales tax.

The above set-up works except for one very major problem. Many people in both Guernsey and Jersey will enter Guernsey/Jersey as a Country, or different line of the address and select United Kingdom from the country list. This is because Guernsey and Jersey residents are used to websites excluding them as separate countries (which they are!) and lumping them in the the UK. Also, some credit card providers need to see UK in the address in order to validate the payment – even though it is technically incorrect. Either way we need to work a little bit harder to make this work.

We can’t assume people will enter Guernsey/Jersey in the country box as some people are likely to enter Channel Islands there and Guernsey or Jersey in the field above. The best field to rely on is the postcode.

Fortunately both Guernsey and Jersey have their own postcode prefix which we can use to exclude them from paying UK VAT even when the UK is selected. Guernsey is prefixed GY and Jersey JE. Unfortunately however Magento does not allow us to exclude just these postcodes, so we must include all of the other postcode prefixes (or just all letter combinations which is easier).

IMPORTANT UPDATE: It turns out Glasgow uses G as a prefix to it’s postcodes immediately followed by a number, so the below rules will ommitt VAT thinking the postcode is in Guernsey. As well as the exceptions for each letter (other than y) you will need to add an exception for each number e.g. G0, G1, G2. Thanks to Tom Robertshaw for spotting this.

Please feel free to use this on your own site – I live in Guernsey so it will save me some money ;-)

Tax Identifier Country County/State Postcode/Zip Rate Default
Jersey GST JE * * 5
Guernsey GB * gy* 0
Jersey-GST GB * je* 5
UK VAT a GB * a* 20
UK VAT b GB * b* 20
UK VAT c GB * c* 20
UK VAT d GB * d* 20
UK VAT e GB * e* 20
UK VAT f GB * f* 20
UK VAT h GB * h* 20
UK VAT I GB * I* 20
UK VAT k GB * k* 20
UK VAT l GB * l* 20
UK VAT m GB * m* 20
UK VAT n GB * n* 20
UK VAT o GB * o* 20
UK VAT p GB * p* 20
UK VAT q GB * q* 20
UK VAT r GB * r* 20
UK VAT s GB * s* 20
UK VAT t GB * t* 20
UK VAT u GB * u* 20
UK VAT v GB * v* 20
UK VAT w GB * w* 20
UK VAT x GB * x* 20
UK VAT y GB * y* 20
UK VAT z GB * z* 20
UK VAT ga GB * ga* 20
UK VAT gb GB * gb* 20
UK VAT gc GB * gc* 20
UK VAT gd GB * gd* 20
UK VAT ge GB * ge* 20
UK VAT gf GB * gf* 20
UK VAT gh GB * gh* 20
UK VAT gi GB * gi* 20
UK VAT gj GB * gj* 20
UK VAT gk GB * gk* 20
UK VAT gl GB * gl* 20
UK VAT gm GB * gm* 20
UK VAT gn GB * gn* 20
UK VAT go GB * go* 20
UK VAT gp GB * gp* 20
UK VAT gq GB * gq* 20
UK VAT gr GB * gr* 20
UK VAT gs GB * gs* 20
UK VAT gt GB * gt* 20
UK VAT gu GB * gu* 20
UK VAT gv GB * gv* 20
UK VAT gw GB * gw* 20
UK VAT gx GB * gx* 20
UK VAT gz GB * gz* 20
UK VAT ja GB * ja* 20
UK VAT jb GB * jb* 20
UK VAT jc GB * jc* 20
UK VAT jd GB * jd* 20
UK VAT jf GB * jf* 20
UK VAT jh GB * jh* 20
UK VAT ji GB * ji* 20
UK VAT jj GB * jj* 20
UK VAT jk GB * jk* 20
UK VAT jl GB * jl* 20
UK VAT jm GB * jm* 20
UK VAT jn GB * jn* 20
UK VAT jo GB * jo* 20
UK VAT jp GB * jp* 20
UK VAT jq GB * jq* 20
UK VAT jr GB * jr* 20
UK VAT js GB * js* 20
UK VAT jt GB * jt* 20
UK VAT ju GB * ju* 20
UK VAT jv GB * jv* 20
UK VAT jw GB * jw* 20
UK VAT jx GB * jx* 20
UK VAT jy GB * jy* 20
UK VAT jz GB * jz* 20
  • Christopher Shennan


    Thank you very much. This has helped us with tax rates which has been confusing us with Guernsey and Jersey for a while now.

    It looks like the last 2 entries have typos which you may want to correct so we’re definitely getting it right :)

    Thanks you.


    • Jim Rowe

      Thanks Chris, well spotted with the typos!

      • Caroline Ford

        Thanks for this, it has helped with all our sales to Channel islands but have we missed something? We have just spotted (after 6 months) that this gives tax free sales to Glasgow. We’ve added G0, G1……G8, G9 as a fix – others may want do the same?

        • Jim Rowe

          Thanks Caroline, I didn’t realise Glasgow was just G. I will add a note to the article prevent anyone else from getting the problem.

          • Caroline Ford

            Thanks Jim. Yes, it is unusual to get just one letter at the beginning, no such issue with J!

  • Tom Robertshaw

    Hi Jim. I’ve used this post quite a few times now but have never thanked you for it. So, thanks! One interesting issue that I had to solve recently was that a customer accidentally typed 0X rather than OX for Oxfordshire. While Postcode validation is the ideal solution here I also added rules beginning with numbers just to make sure that VAT is always applied.

    • Jim Rowe

      You’re very welcome! Just glad people are startying to acknowledge that us Channel Islanders exist :-)

      • Tom Robertshaw

        Got an extra improvement for you. Glasgow postcodes only have one letter, e.g. G1. So one of my clients accidentally didn’t charge VAT to them. I’ve just added some more rules in to catch G(number)*

        • Jim Rowe

          Good spot Tom, I’ll make a mention in the post. thanks!

  • Steve Maggs

    Thanks! Just found this. Really helpful for UK Magento users.

    Word of caution to anyone trying to import these rather than enter manually, it’s a pain!

    I found it only worked when I exported one previously set up rule then paste the data from this post into a CSV. I then opened in TextEdit and enclosed all data manually in double quotes (“GB” etc). It wouldn’t accept the import even when the CSV was saved from OpenOffice which is usally reliable.

    Hope this helps someone.

    • Jim Rowe

      Thanks Steve – yeah I think the best way to go is to export your existing rules to get the proper format for the spreadsheet and then edit and save. Getting the double quotes etc. exactly right is a pain – especially in excel from what I remember.

  • Jonathan

    Thank you very much for this. We have both Jersey and Guernsey set up as different countries but often customers enter UK instead and then want us to refund the VAT. One comment, the Channel Islands are not part of the EU. As such all deliveries should be VAT exempt regardless of the VAT rate payable locally. This is the same as selling anything to Norway or Switzerland.

  • ajbird

    Many thanks!! What a pain.

    • Jim Rowe

      No kidding! But at least it can be done in magento without having to write any actual code to deal with it.

  • Sathish Ramesh

    Thanks James.