After struggling through a chaotic year, and keeping only small track of the comedy of horrors that is Brexit we find ourselves at the end of 2020 and its back.

As a small EU (Dutch) B2C website with some sales to the UK our Brexit preparation so far has been:

  • At the end of 2020 set all taxes for the UK to 0% (outside EU), start writing CN23's as for any other outside EU country (including Norway/Switserland)

However, more information has been propping up about the small parcel tax that comes into force on January 1.

Detailed in #1 we need to the following:

  1. Set all taxes to 0% for outside EU
  2. Register for a British Tax VAT account
  3. For orders under GBP 135 #2, collect a 20% VAT at point of sale (eg. our website)
  4. Report the VAT to British tax office

Step #1 is trivial. However, Step 3 seems more than just a little complicated.

Are there any Magento 2 modules that can assist in this ?


#1 https://zonos.com/blog/2020/11/05/uk-vat-changes-after-brexit-what-does-it-mean-for-my-business/

#2 Ignoring the whole GBP 135 at what/whose exchange rate question for now

#3 Additional for those not up to speed on the Brexit/Small parcel tax: https://youtu.be/saKw6j836hw?t=883

  • Are you selling B2B or B2C - "B2B sellers can get an exemption if the customer is VAT registered and supplies their VAT registration number to the seller."
    – paj
    Commented Dec 3, 2020 at 9:49
  • B2B is not a problem, the question is for B2C. I will modify it. Commented Dec 3, 2020 at 10:14
  • I've read in the Belgian government rules around Brexit that the old VAT rules still needs to apply to goods send to Northern Ireland (which is part of the UK). That would mean the VAT rules for the UK should be set to 0% and an exception should be made to the Northern Ireland part. Can somebody confirm this?Because that would make things a bit more complicated since the UK doesn't have regions by default in Magento (yet). Commented Dec 14, 2020 at 14:59
  • Northern Ireland has its own postal code, every town in NI starts with BT : en.wikipedia.org/wiki/BT_postcode_area Which makes it possible to determine a workaround, but this does not solve the full problem. Commented Dec 16, 2020 at 16:55
  • I would set a standard 20% tax rule for UK, and then develop a module with a total collector that acts depending on the grand total. A commercial product instead? Avalara.
    – ermannob
    Commented Dec 22, 2020 at 9:59

2 Answers 2


There is EU VAT Enhanced for Magento 2 which can handle this.

It will check if the order subtotal is below 135 GBP (with currency conversion in the background) and then calculate VAT accordingly.

It will not help you with Step 2 and Step 4 of your list. Step 1 is not neccessary with it, as you still need a 20% rate for the UK for the case "order below 135 GBP".

  • Thanks, this looks exactly what we need. I am going to evaluate this. The last update added Brexit, its cutting edge apparently. Commented Dec 23, 2020 at 14:50
  • @MartijnDijksterhuis I tested the demo for that extension and it didn't work, even after enabling in the threshold setting in the config. Not sure if there's another issue with the configuration but I decided to write my own extension instead. I'll link the extension in a new answer.
    – micwallace
    Commented Jan 22, 2021 at 3:55
  • It does actually work, but you need a tax rule for the UK (20%) for all products for it to work. The module simply removes the tax if it goes over the GBP 135 limit. The documentation wasn't all that clear. Commented Jan 29, 2021 at 11:13

I wrote my own extension to handle this scenario. It's flexible enough that it can be used for other countries with similar tax schemes. I'm yet to deploy it to a production site, so please use at your own risk. Also, I have only tested using tax-exclusive catalog prices. There may be some updates required to support tax-inclusive pricing.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.