Managing EU sales post-Brexit

Since there’s been a fair bit of interest, I thought I’d write down some notes about how I’ve handled the issue of selling things to the EU after Brexit, and in particular after the customs changes that came in to play on 1st July 2021.

This turned out quite a bit longer than I expected, but stick with it – I hope you’ll find it informative.

Get this article as a PDF

What I sell

I run a membership club, and some of our income is from merchandise sales. These are small items, typically badge, keyrings or tie clips, which sell for between £5.50 and £17.50. We’re so small that we aren’t registered for VAT.

So, when someone orders something, we just pop it in the post. If it’s an item for overseas, posting to the EU was exactly the same as posting to the UK until the end of 2020, with no additional paperwork.

Posting to the rest of the world isn’t too onerous – we only have a handful of products, and we looked up the customs codes for those. Our Ecwid online store exports sales as a file we can upload to Royal Mail’s Click & Drop service, where we’ve created product records for each SKU.

That means, that for packages that need it, when we print the postage label, Click & Drop also creates a CN22 customs form, which has all the necessary details. We were used to doing that for orders outside the EU, so it wasn’t too hard to add to the EU orders at the start of 2021. It just increases costs by about 4 pence per package, because of the extra label that’s needed.

The problem

The big problem is the change in rules after the Brexit transition period. Between 1st Jan and 30th June, there has been an exemption for ‘low value’ consignments, which means orders worth under €22. Though they need the customs form, they are exempt from VAT, so have been able to be posted without any issues, and delivered as normal.

Items from €22 to €150 are liable for VAT when received in the EU. If you’ve ever ordered something where VAT or duty is paid, you’re probably familar with the sort of process: instead of a parcel, you get a card or letter from the Post Office, informing you they have your stuff, and you have to pay tax or VAT, and a handling fee for ‘customs clearance.’

Last time this happened to me, the fee for the clearance by Royal Mail was £8. I looked up the fee in Germany and it’s €6.

This doesn’t sound much, but for low value packages, it can be quite a big percentage – plus, it’s the sheer damn inconvenience of not getting your order, and maybe having to go somewhere to pay and collect it.

So, from 1st Jan 2021, we’ve advised people ordering from the EU that it’s best if they keep orders below €22, and reminded them they are liable for any charges if they go above that.

To take the example of our most expensive item, a £17.50 tie clip, when I last did the maths, that is equivalent to about €20.32; a customer could order one wth no problems.

Order two, however, and – to use Germany as an example, with 19% VAT – the cost is €40.64. When VAT is added that’s €48.36. Add the €6 clearance fee, and the total the customer will have to pay is €54.36, which is a 34% increase over what the same customer would have paid before we left the EU.

It gets worse in July

From 1st July 2021, things get even worse, because the low value exemption goes away (this isn’t just “the EU punishing us”, as the UK has done the same for imports too – it’s more or less copied the latest EU rule changes, as they were planned a long time ago, of which more later, and implemented them on 1st Jan).

So, now VAT Is due on every order to the EU, and it has to be charged at the rate of the customer who placed the order. Take our tie clip again, and just order one.

The German customer will now have to pay a total of €30.18 including VAT and clearance, which is an increase of 48.5%. It’s not hard to see, then, why many small businesses in the UK are despairing of being able sell to EU customers any more.

The smaller your items, and your business, the more likely you are to find that handling charge becoming a big chunk of the cost EU customers will pay – plus they’ll have all the hassle of dealing with the local post office to get their package. Some couriers will charge a lot more than €6 too.

How to fix this

There is a way to fix this. If you charge the customer VAT yourself, and then remit that to the appropriate authorities, and post your items marked with the appropriate magic numbers on the customs form, it should all sail through perfectly, and be delivered just like before.

So, yes, the customer has to suck up the VAT, which they didn’t before because we’re so small, but at least they don’t have to pay the extra charge for the handling.

Obviously, paying VAT at different rates to different countries could be pretty daunting, especially if you had to register there, but the EU has a solution, which is called IOSS, or Import One Stop Shop.

With IOSS, the VAT can be paid in a single European country for imports into the EU, and the IOSS VAT return presumably divvies it up around the countries, to save you the bother.

If you’re selling on a platform like eBay or Amazon, there is also a ‘deemed supplier’ scheme, which means that they can handle all the tedious VAT for you, which is great if you sell that way, but for some of us – like me – selling via those platforms is just not going to work.

A shocking lack of information

One of the worst things about all this has been a shocking lack of information. I have seen people on Twitter reporting that they attended presentations early this year where people from the Department of Trade assured them there wouldn’t be any changes to low value items after July.

That was a flat out lie – and worst of all, the Government knows that, so the people passing on that information should have done. The changes are part of an EU VAT reform that was originally planned in 2016, with legislation passed in 2018. The UK followed suit with its own similar changes.

At the time, the changes were due to come into force on 1st January 2021. In May of 2020, the EU announced that the implementation date would be postponed by six months due to the pandemic, to 1st July 2021. The UK went ahead as scheduled.

So, since we were still in the EU at the time, we implemented in UK law the same set of changes, and we made our version of the changes on the original date, and the EU announced their delay in May 2020, it’s utterly inconceivable how UK government representatives were not able to give correct information as recently as the start of this year.

Also regrettable is that many other people who could have helped small businesses did nothing until way too late. I’ve seen emails about “Are you ready for the VAT changes” from e-commerce platforms, payment and accounting companies, and Royal Mail that have all appeared with little more than a month – and in some cases much less – to go.

That’s not realistic for making these changes. I’m a news and politics junkie, and I looked up how this might affect things a while back; I started the process to make sure we could sell in the EU last autumn.

But I won’t condemn other small businesses for being too busy struggling through the pandemic, and taking the word of people at the Department of Trade who assured them there wouldn’t be any problems.

The powers that be have badly let down small and micro-businesses, and failed to communicate effectively. There will be business failures as a result.

My solution

So, I’ve mentioned how things can be fixed – IOSS – but that’s just a word. What does it mean in practise. What exactly has to be done to make sure I can sell things to the EU again, without hassle?

First, note that this is not the only solution; there are others, and I may yet try some of them out – I won’t know how cost effective my choice has been for a few months, and it may turn out that one of the other alternatives would have been better.

Second, it’s likely that there are going to be some up-front costs that you’ll have to bear. How much will depend – I’m fortunate in that I’m a geek, and I can code, so a bit of coding is something I can do to get along. If you have to pay someone, then that’s going to impact on how cost effective things are.

Here’s the quick summary of my fix: I have set up a company registered in the EU, which is registered for VAT and for IOSS. This company will operate a web store, but I will fulfil the orders myself, posting them from London to EU customers, with the IOSS details of the EU company, which will allow them to be delivered without problems to customers. The EU company will file monthly VAT/IOSS returns to account for the VAT charged to people in different countries by the shop.

The cost to get all this up and running has probably been around €400, and the monthly ongoing cost will be of the order of €35-50, depending on the level of sales.

To add a point of clarification, in response to feedback: an IOSS number is not just for companies outside the EU. It is for moving goods from outside the EU to inside it, so an EU company that is selling goods that are outside the EU to customers inside it needs one.

Getting into the details

So, that’s the outline. What about how it all works in practise? What tools and so forth do I use? How complicated is this all really?

Let’s start at the beginning. Setting up an EU company. There are various ways you can do this, but in many cases you need to be resident in a country. Or you may have to spending time posting documents to and fro, or using a fax machine like a 1990s estate agent.

However, there’s a simpler solution. Estonia has had a scheme for some years now called E Residency. This gives you an electronic residency in the country which means, for legal purposes, you are entitled to set up a company and do business as if you were actually there.

It’s actually a pretty neat idea for a small country like that, because the rules have been set up so that you do have to have a legal representative in Estonia, and a whole ecosystem of service companies has grown up to provide services like mail forwarding, official representation, accountancy, and even stuff like order fulfilment, for e-residents.

To become an e-resident, head to It costs €100 plus an additional €20 to pick up your id outside Estonia. So, if like me you want to pick up your kit at the Estonian embassy in London, you’re looking at €120.

It’s an online process, which involves uploading your passport or other ID details; I applied on the 2nd of October, and was granted e-residency on 21st, with my card available for pickup from 3rd November.

With the card, you get a couple of PIN codes and a USB card reader. This plugs into your PC or Mac, and allows you to use the card, with the codes, to digitally sign documents in a legally binding way. So there’s no sending forms by courier, or fax. Once you have the card and the reader, you’re ready to go.

Setting up a company

The next step after becoming an e-resident was to set up a company. This is where you enlist the help of one of the many companies in the marketplace that’s provided on the E-Residency website. You can search by facilities offered, or the type of industry.

Some firms will do dropshipping for you, or work with Amazon fulfilment, for example, others have different specialities. Since this is all something of an experiment for me, and I wanted to keep things low-cost, I looked at price primarily, but you may have other criteria.

I settled upon B2Baltics, who have an ‘Assistance Package’ that covers three months of help and virtual office, plus registration of your company. So, you pay the company registration state fee of €190, plus the assistance package of €75 and you’ll get your company set up within a day or so.

I chose the imaginative name of Nigel Whitfield OÜ (OÜ is an osaühing, or private limited company).

B2Baltics then helped me with the VAT registration in Estonia, and I was able to handle the IOSS registration myself on the government portal, which you sign into using your ID card and reader. It was literally a matter of seconds from clicking the button to apply to seeing the IOSS number appear on screen; a far cry from the UK’s digital services.

Worth noting at this point, I have the company set up, and there’s an ongoing €54 inc VAT each three months for the B2Baltics virtual office, which provides the legal representation in Estonia. Once I start trading, there will be an additional bookkeeping fee, of at least €20 per month inc VAT.

Payments and banking

Because we’ve had to pay people in foreign currencies, or receive foreign currency donations in the past, I already had a TransferWise (now Wise) account. This is free, and cheaper than doing foreign payments with most UK bank accounts, plus you get a debit card linked to your Wise account.

So, I used that to pay the various fees in Euros to set up my e-residency and form the company. If you don’t have a Wise account, you could just use your UK card here. However, you should then do what I did next, which is open a new Wise account specifically for your Estonian company.

It’s free, and you can just visit their site, or use my referral link.

This will give you a Euro-based bank account, with Belgian IBAN. You should pop some initial cash in there, and then set it up as the default payment for your recurring fees to B2Baltics or whichever other service provider you chose.

If you’ll be selling online, you’ll need a way to accept money. For that I use Stripe, because we already use them for sales and donations in our existing online store, so it’s easy to add an additional company to the same Stripe account. Set that company up to pay any money received into your new Wise account.

Online shopping

Next step, create an online store just for EU customers. There are actually quite a few choices here, and the ones I’ve made have been guided by two things – keeping costs down, and a pathological aversion to accountancy.

Our current online store uses Ecwid, and they can apply the correct VAT rate to each country to comply with the new rules, and I know how it all works, and how easy it is to get the orders into Click & Drop for sending.

But. A new Ecwid store with the options I want will cost at least £180 a year, and – perhaps more importantly – it’s not one of the stores directly supported by SimplBooks.

SimplBooks is the online accounting system that the accountants at B2Baltics use. Now, I could just enter every Ecwid sale into the system manually, but I’ve already mentioned my aversion to accountancy.

Fortunately, among the shop systems supported by SimplBooks is PrestaShop, which you can run completely free. So I’ve set up a PrestaShop store on an existing web server – effectively costing me nothing extra, beyond my time, and linked it to SimplBooks, so I’ll be able to import orders directly, for the Estonian accountant to do their monthly magic.

Note that I say PrestaShop is free – it is, but if you want things like different themes, you’ll generally have to pay for them, and so costs can mount up if you’re not careful. I’m just using the basic store, which is still capable of handling different VAT rates for each EU country.

Amongst the basic features of PrestaShop is support for Stripe payments, so that means people can pay online, and the money will end up in the Wise account I set up for the Estonian company.

In terms of pricing, incidentally, since our UK company is not VAT registered, to avoid people in the EU feeling like they’re suddenly paying a lot more, I’ve set prices for the EU store based on an average of 20% VAT and us absorbing around half of that, so things will be around 10% more expensive for EU customers, and we’ll take a similar hit to our margins, but that’s still a marked improvement on before.


I’ve set up a query in PrestaShop which will export order information (you can buy a plug-in, but the saved query will do the trick, even though it looks terrifying) that I can import into Click and Drop.

Within Click & Drop, you can set up multiple trading names, so I have one created for Nigel Whitfield OÜ, with the correct Estonian VAT number and my IOSS number entered (the latter is under ‘Pre-registration tax schemes’).

So, when I have orders to process from the store, I run the PrestaShop query, which downloads a file to my computer. In Click & Drop, I choose Import, then select the Estonian company as the trading name, and then drag and drop the file from PrestaShop into the system. Once I’ve set the postage options, I’ll pay using the debit card for the Wise account, and then print out the labels (I use the special Click & Drop labels from Priory Direct) with their CN22 forms to pop in the post.

Handling stock

How you handle stock will depend on your business; rather than split my existing stock into two piles – one for EU and one for everywhere else – I’ve decided on a solution that will hopefully minimise paperwork.

I’ve set a notional wholesale price at which the existing company in the UK will sell items to the Estonian company, including the packaging materials used. Then, once a month, the UK company will bill the Estonia company, in Euros, for the items that were sold and despatched, eg 4 x tie clips, 2 x embroidered badges, 5 x packaging.

A little extra code

So far, all that is pretty straightforward, I hope. There are also some extra things I’ve done, which I was able to do because I’m a coder.

Firstly, I have created my own simple Prestashop plugin. This displays a notice when an item is added to the cart if it takes the total ex VAT price above €150, which is the limit above which other customs rules apply. This is because frankly I don’t want to have to deal with that stuff, and I don’t think we’ve ever had a sale that size anyway. If someone tries to check out, they’ll be dumped back at the cart, until they remove something.

This plugin also sends me a notification when someone places an order, because I could link it to some other notification systems I had, fairly easily.

The second bit of code I have created is a very simple stock check system – since we now have two stores, on different platforms (Ecwid and Presta) selling the same stock, this talks to both of them, and finds out their stock levels, and can synchronise them. It’s not perfect, especially when levels get really low, but it will do for the volume of sales I anticipate.

I’m happy to share these bits of code with people; just get in touch.


So, there you have the details of how I think I’ve solved the problem of EU sales. Time will tell how effective it is, and if the costs wipe out any profit. If like me you’re a small business, but you don’t want to go with someone like Amazon or eBay for your selling, it may also be worth looking at a service called Taxamo Assure, which the Post Office are promoting.

With that, you pay them a fee of £2 per order, and they’ll handle VAT via IOSS for you; essentially you use their IOSS number when you send out orders, and you call their computers to work out the VAT when people check out.

However, at time of writing, they didn’t have any plug-ins for stores, so it’s a case of writing your own code to do the job. A friend has done that for his business, and we’ll see how it goes. It might turn out to be more cost effective than this solution – but for very small value items, that £2 an order may be an issue.

If they get their finger out and produce plug-ins for major store systems, it’s certainly going to be worth a look – had it been adequately publicised a year ago, it’s a solution I might have chosen myself. It would take a lot of £2 fees to add up to the cost I’ve spent on the Estonia setup – but without a ready-made plug-in, you could easily spend the same or more on paying a programmer to link it into your online store.

Reporting back

It’s the first of July, and I turned on the EU store this morning. I’ll follow this post up later this year, to see how it’s all worked out. I hope, in the meantime, you find this provides some useful pointers, whatever your business.

One final note, since this has caught a few people’s interest: please remember this is my description of how things have been set up for my business. It’s not definitive, and it certainly isn’t professional advice. Anything you do with your businesss is strictly your responsibility.

8 Replies to “Managing EU sales post-Brexit”

  1. Great idea!
    How will you handle corporate taxes for the EE company? I assume it will be tax resident in the UK as it is managed from the UK, so you’ll have to file accounts for that company with HMRC also. Probably use the tax treaty (which would involve getting a certificate of tax residency from the UK) to avoid paying taxes in both EE and the UK.
    And as it’s a foreign company with stock in the UK that company might have to register for UK VAT with no registration threshold ?

    1. The company’s tax resident in Estonia; so there will be some Estonian tax to pay, and that will all be worked out by the accountants (though since this is very much a microbusiness, I don’t expect it’ll be too much anyway).

      As for the stock, it’s effectively owned by the UK company, which will be billing the Estonian one for the items despatched – so, in effect, the UK company is acting as a fulfilment agent for the Estonian one. I guess that, if one were so minded, these are the parts where clever people would set intra-company fees to be the most tax-advantageous they possibly can.

  2. Hello Nigel, thank you for sharing your experience thus far with registering in Estonia and all that entails. It was a solution I have also considered for my own business, but haven’t yet taken the leap.

    You also mentioned that your friend has written code to integrate Taxamo Assure with their website, which I am hoping to do with a Woocommerce installation. I wonder if they have reported back whether this solution is working thus far? I’ve contacted Taxamo to ask whether a plugin will be forthcoming but it doesn’t seem a priority, unfortunately!

    Thanks again and all best!

  3. What about the EORI number requested from RM? Have you applied for a new EORI number for the Estonian company?

    1. (Rewritten; made a mistake). I have an Estonian IOSS number, and have to file the returns for that once a month on the Estonian tax portal (which is way better and easier to use than any of HRMC’s awful web sites).

      That’s added to the customs information imported into Royal Mail Click & Drop when I post things out. There were a couple of glitches in the Netherlands early on – one customer had to pay VAT before delivery, in early July, and another last month got a notice that he had to pay, even though everything had already been delivered. But for most people it seems to be working fine.

      But I don’t have an EORI number; I thikn if you have an IOSS number (which links to your VAT number) it’s not required.

  4. That’s all very interesting. Thanks for taking the trouble to write it.
    I’m looking for a solution for my Ecwid store and possibly using Taxamo but really need the two to integrate. I’m an early user and big fan of Ecwid but they generally leave this kind of issue to outside developers, which is disappointing.

    1. In theory, I could probably write a basic integration for Ecwid to handle this; I’ve been doing a log of Print on Demand stuff, and have code that hooks my Ecwid store into various service.

      The tricky thing is working out the pricing – for instance, in our stores, we offer free shipping on most things, and price that into our margins.

      If you’re mixing both EU and non-EU sales in the same store, I think it could get quite complicated. But you could, I guess, do something like create a shipping zone that covers the EU and have a fixed rate for that, or a per-order fee, that would cover the costs of Taxamo.

      Then you set up a webhook from Ecwid that processes the Taxamo data when an order is done, and cover the cost from your margins.

      As I say, it’s possible; but not ideal. Like you, I’m surprised there’s not already some sort of plug-in to do this. But though it could be coded, I think on balance a separate EU store may be a better way to handle these sorts of sales, whether via Ecwid or another platform. At least that way you can price in € for that market, and adjust margins more easily if need be.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.