valeriansaliou/node-sales-tax

Calculating VAT considering where the service is provided, not just where the customer is from

bensventures opened this issue · 2 comments

First of all great lib, been using for a while and saved us a ton of time.

I am dealing with an edge-case where I think the calculation might be wrong. We're a marketplace for coworkings, so we calculate and charge VAT on behalf of our sellers. Until now I was calculating the VAT based on the customer's VAT number and country and the seller's country.

The calculation is correct when dealing with european customers but I'm not sure when dealing with outside-EU ones.

If a customer from the US pays for a meeting room in Spain, the service is sold to an outside-EU customer but it is provided in the EU, hence VAT should apply. Right now I don't see any way to deal with this case?

Do you think it should be handled by the lib or should I make my own logic for it? Or I am overthinking this?

Hi there!

node-sales-tax was built for a SaaS business, so that's right, I don't have that "where is the service provided?" argument to calculate the VAT.

On your side, if the service is provided in Spain but for an US customer and you know it's a location-based service and not virtual service, you should acquire VAT for Spain right away, and not for the US. Do not provide any tax number when acquiring the VAT. The library will return full Spanish VAT that's due by your US customer.

That's how the library is intended to be used actually. Get the VAT for the location in which the service or product is consumed. If it's virtual, in your case you would get US VAT; if it's physical, you get ES VAT. Simple 😃

Great, thanks for shedding some light on this.