commerceguys / tax

A PHP 5.5+ tax library.
MIT License
276 stars 39 forks source link

EU VAT Package July 2021 #83

Closed dmnc closed 2 years ago

dmnc commented 3 years ago

EU VAT is changing on 1st July 2021 so that VAT of the destination country should be charged, not the origin country. This is irrespective of the existence or not of a nexus.

Are there plans for this package to be updated to support this new setup? In essence, I believe the change makes all goods treated the same electronic goods are now.

The bit that is complicated is that a seller from outside the EU will be able to register for a single EU VAT return and also sell DDP. This is like a single "EU" nexus that switches calculations into EU mode.

Irritatingly, The UK also has an identical rule, but separate. This means that when shipping into the UK we would need to retain the ability to have a GB nexus or not.

I'd be happy to help if that's useful, though would need some steer from the maintainers on if this will be seen as a breaking change and if there is an appetite to support switching by date in the context (in an ideal world this would happen I think?).

https://ec.europa.eu/taxation_customs/business/vat/modernising-vat-cross-border-ecommerce_en https://www.avalara.com/vatlive/en/vat-news/eu-2021-e-commerce-vat-package.html https://www.mitchellcharlesworth.co.uk/resources/articles/changes-to-eu-vat-from-july-2021/#:~:text=From%20July%202021%2C%20VAT%20must,'Import%20One%20Stop%20Shop'.&text=The%20IOSS%20will%20report%20distance,consignments%20imported%20into%20the%20EU.

bojanz commented 3 years ago

Thanks for taking the initiative on this.

This library never reached v1.0, so BC-breaking changes are fair game. I would suggest bumping the branch to 1.x finally though. Switching the logic by date sounds like a lot of effort for little gain, so I'd probably skip that.

I am the only maintainer and I haven't used this library in many years, so we have two options: 1) You fork the repo, I deprecate this one and point to you the README 2) I add you as the maintainer of this repo.

Let me know what you'd prefer.

dmnc commented 2 years ago

@bojanz I have now opened PR #84. Many apologies for the huge delay.

My preference would be 2 - add me as a maintainer. I'm happy to take over any and all responsibilities for this package. It's something we actively use and we are actively maintaining code dependent upon it.

bojanz commented 2 years ago

I've added you as a maintainer. Welcome aboard!

dmnc commented 2 years ago

@bojanz apologies. The invite expired. Please resend and I will keep a better eye on my inbox!