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

Physical goods versus digital services #141

Closed JorisDebonnet closed 2 years ago

JorisDebonnet commented 2 years ago

Rules are different for VAT calculated for physical goods or digital services. Usually, VAT on digital services uses the VAT rate from the supplier's country, while VAT on physical goods uses the VAT rate of the customer.

Does this package support this distinction? I do not see it mentioned in the Readme. If not, could a config option for this be added?

(I guess you could say that "always charging your own country's VAT is too simple, you don't need this package then", but I think it's still useful to be able to use this as a wrapper for the VIES service, and to be able to have the calculate method work as expected (i.e. just use the BusinessCountry's rate or 0))

driesvints commented 2 years ago

Hey @JorisDebonnet. Right now it only supports digital services. We don't have plans to add support for physical goods. If you need those, it's best to fork the package. I've adjusted the readme to make this more clear.

JorisDebonnet commented 2 years ago

Hold on - my question was probably worded too simply. And I even wrote it a bit wrong; I am still learning the very complex topic of cross-border taxation in Europe. Turns out it's not as simple as physical goods versus digital services.

This looks like an exhaustive explanation: https://ec.europa.eu/taxation_customs/where-tax_en

The main point I wanted to make, is that right now this package always uses the tax rate of the customer. But in some cases, the tax rate of the supplier should be used.

Maybe that doesn't warrant a change in the package, but I guess the readme edit may need to be changed a bit. It's not necessarily "only digital services", but it's "only sales that should be taxed in the country of the customer".

A relevant example: on that webpage, under "Supply of services", I read: "The supply of services between businesses (B2B services) is in principle taxed at the customer's place of establishment, while services supplied to private individuals (B2C services) are taxed at the supplier's place of establishment."

Of course I don't expect this package to figure out itself whether tax should be calculated at the customer's or supplier's location - that's the developer's responsibility - I only think we may be able to make it easier on them by pointing out that they do need to figure this out. Maybe it can just be added as a warning/note before the part where you suggest people should consult their accountant if they are in doubt, something like "This package will assume that your sales must be taxed in the country of the customer. Read more here" or something like that.

driesvints commented 2 years ago

Ah I see what you mean. Well, that's what the company flag is for:

Screenshot 2022-05-30 at 08 56 22