driesvints / vat-calculator

Handle all the hard stuff related to EU MOSS tax/vat regulations, the way it should be.
MIT License
1.2k stars 88 forks source link

Question regarding MOSS thresholds #112

Closed caruanas closed 3 years ago

caruanas commented 3 years ago

I make reference to https://ec.europa.eu/taxation_customs/business/vat/modernising-vat-cross-border-ecommerce_en#heading_2, specifically the first threshold which states that:

[business having an annual turnover of] up to EUR 10 000 TBE supplies remain subject to the VAT rules of the Member State of the supplier.

Is this accounted for anywhere in the calculator? As I found no way to specify what my turnover is, or if this threshold should apply. Alternatively, is there a way to identify whether a country is part of the MOSS system or not? Eg. UK, while still having 20% VAT, is no longer part of MOSS and therefore I cannot apply this threshold to UK customers.

Thanks!

driesvints commented 3 years ago

No that's a bit beyond the scope of this library unfortunately. Tax for UK is still 20% btw afaik. See https://taxfoundation.org/value-added-tax-2021-vat-rates-in-europe/

caruanas commented 3 years ago

Yes, UK is still 20%, but they are now considered outside of EU, therefore MOSS would not apply (similarly to Norway, Turkey and Switzerland AFAIK).

On a related note, should then the GB rates in the taxRules array be moved down to the "// Non-EU with their own VAT requirements" section, along with Switzerland, Norway and Turkey?

Edit: Perhaps then I can change my question to a suggestion to include this in a future release. Theoretically, it's "just" (I know, I know :P ) a flag or number which needs to be added to the config, and some conditional statements in the getTaxRateForLocation() function), as it is part and parcel of the MOSS rules, and part of the "hard stuff related to EU MOSS tax/vat regulations" ;)

Thanks.

driesvints commented 3 years ago

On a related note, should then the GB rates in the taxRules array be moved down to the "// Non-EU with their own VAT requirements" section, along with Switzerland, Norway and Turkey?

No, as long as they're in the list above I'll keep them added to the main list of countries. Also: Norway, Switzerland and Turkey will probably be removed in the next major release.

Perhaps then I can change my question to a suggestion to include this in a future release.

I realize that this is indeed part of legislation, however, it would be extremely difficult to do this in the package. How would we know how much VAT has already been collected by a company?

caruanas commented 3 years ago

Perhaps have a flag, which the company could set itself when it want to apply this "thresholding" rule, same way it sets its base country? If the flag is set, all country rates are ignored in favour of their base country's VAT rate (as place of supply would be considered their own country). Otherwise, normal functionality applies.

This is how I did this internally myself by extending the VatCalculator class.

As for removing Norway etc... I would agree with that consistency in the scope of the package, i.e. either VAT MOSS only countries (i.e. removing Norway, Switzerland, Turkey and even UK/Isle of Man (they're no longer VAT MOSS), or else all VAT countries, which would include UK/Isle of Man, but as "Non-EU with their own VAT requirements" as well as that reflects today's reality. But I believe UK has to suffer the same fate of Norway etc.., whatever you decide to do with these.

Thanks for the quick responses by the way! And great job on this project.

driesvints commented 3 years ago

@caruanas like I said: I'm probably not going to spend time on this myself atm. Sorry, I'm pretty strapped as is..

Atm I'm not considering removing the UK.