VAT Tax on sales to different countries

I had VAT set up as 20% and thought I had it all sorted. But on futher analysis, no I have not

So we sell from the UK, and for now I am going to ignore thresholds for VAT registration in other countries, we are no where near that and I can allow the accountant to sort that out at some point. This is more about quotation / sales invoices

I have one Sales Taxes and Charges Template at 20% on Net total. I had set it as default but not sure now

When I raise a quotation (or sales order) we can have four scenarios

  1. Sale is to another UK company or individual and we have to charge VAT
  2. Sale is to another EU Company who provides a VAT number, therefore does not get charged VAT
  3. Sale is to another EU company r individual without VAT number therefore we charge UK VAT at 20%
  4. Sale to any other country where no VAT should be charged

Is it possible for ERPNExt to automate this without programming as we are on ERPNEXT cloud or do we need whoever raises the quote / sales invoice to make the decision on which taxes to apply

Thanks in advance

@Ron_Taylor you can setup tax rules for this


I saw that, but can;t quite work out how to implement

So I could create a tax template called “No tax” and make that the default
Then make a Tax template called “Uk VAT 20%” and then create a tax rule for every country in the EU and link the “UK VAT 20%” rule to that country

So then when I raise a quote or sales order, because “no tax is default” no tax will be added UNLESS the customer has a UK o EU billing address when the Tax ule “UK VAT 20%” will override the no tax rule

I can go that far. But sometimes we do not charge EU customers VAT if they can give us their VAT number

Two scenarios

“Customer 1 from Germany” is an individual customer so we have to charge them VAT and the rules as set up above will work

“Customer 2 from Germany” is a large company and gives us his VAT number. he should not be charged VAT. We add that VAT number in against the customer details. This is the tricky bit, how can we make sure that company does NOT pay VAT now?

Your issue is that the tax templates are set against the Purchase and Sale Documents and there is no means to set a default tax template for a Customer. This means you cannot automate it without heavily modifying the system, which you cannot do as you are on the hosted platform. All you can do is set the default tax template that is most commonly used in your business, probably UK VAT @ 20% which in your initial post is points 1 & 3 as there is functionally no difference between them. The rest you will have to chose the correct template.

You should consider raising a feature request.


A shame, many companies will be in this situation I guess. So we have to have our sales staff knowing all the global tax rules and how to apply them to each company

I raise a quotation for Company A and before doing so I need to research that company, where they are based, should they pay tax or not, then raise the quotation. I can do that. Many staff would not be able to.

I will add a feature request


The problem is the basic design doesn’t suit VAT. Tax templates put primacy on products and business documents whereas VAT is based around product and customer / supplier location. The tax templates for what they can do are very powerful however for VAT they break down very quickly. They just don’t allow you to model your real world business processes which is the root of the problem.

The reality is that even if they allow you set the the tax template in the Customer record that will resolve the issues for most people but not all. Anyone working on VAT MOSS is in for a nightmare.

Input Tax for VAT on Purchases is whole other kettle of fish with it’s own complexities and setting default Supplier Tax Templates helps but doesn’t resolve everything either.

The bottom line is that tax is hugely different around the world and finding a system that suits everyone is complicated.

Setting the Tax ID in the Customer Record can help resolve issues over ambiguity as it would not involve your staff having to do any research on the customer as the presence of the id would alert them to the fact that this is a reverse charge customer and therefore no VAT should be shown on the quotation. They would still have to chose the correct tax template but once they know it’s a reverse charge customer that shouldn’t be an issue with an appropriately named tax template. Its not a great a solution however it seems workable to me however you ultimately are the only person that knows whether it really is.

I think what is required is for everyone in the EU to share their VAT processes and reporting solutions so that collectively we may be able to try and see what is working and what isn’t and what clever ways others have tried to overcome any limitations in the software. VAT comes up all the time here however what I never actually see is any real solutions for anything.

Certainly in our early days with this project, we will not be using ERPNExt for accounting. Just all the paperwork that will be fed into an external accounting system (just how the boss wants it) So we will have a double check I suppose

Maybe i misunderstood some parts of this discussion.
Setting up taxes for different European countries could , in my opinion, been done by setting up under item all EU VAT rates. 5,6,7 and 18,19,20, 21 covers probably many countries. Now one can define tax templates for various countries. This should work.
However buying from another EU country with reverse charge is is issue i have not been able to solve. I have decribed the issue several times over the last few month. I I enter the purchase invoice from an intra-community acquisition not taxed by supplier, i would like that the tax is calculated, but not added to total of the invoice. I need this to pay that VAT in my own country. I accomplish this by using a positive en negative vat, totalling to zero. However, my accounts in now wrong.
I would be quite willing to sponsor the improvements of taxes

1 Like

This discussion was about automated calculation of VAT. You can do as you suggest however that’s not automated. Someone has to look at every invoice and decide if the default is correct or not and change if appropriate.

So I have made a decision. In case it helps others. We will create quotes without tax for everyone. Then the selling team do not need to think about tax. In the terms and conditions for the quote it will say something like “All prices exclude VAT which will be added where relevant to the invoice”

Then the accounts team who create the invoice will be better placed to add the appropriate tax template

1 Like

Have you got a solution on this one? I’m based out of Italy and for any B2B exports to EU or US we do not apply taxes due to reverse charge. I’m unable to set this up in ERPNext. I’m not a tax expert and perhaps do not understand how it should be setup and the online manual is not very helpful. Now say you need to send free samples to US or to EU, so here it is a part that costs money to us, but we cannot charge for it. How would one setup an invoice, because if I create an invoice, ERPNext keeps telling me “Row 1: Please set at Tax Exemption Reason in Sales Taxes and Charges” Where does one input that reason?

My error manifests in from of a dialog box: