Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EU compliant single purpose vouchers #9

Open
koljam opened this issue Mar 6, 2023 · 6 comments
Open

EU compliant single purpose vouchers #9

koljam opened this issue Mar 6, 2023 · 6 comments

Comments

@koljam
Copy link
Contributor

koljam commented Mar 6, 2023

Single purpose vouchers for gift cards in the EU are subject to VAT at the time of purchase if the tax rate of the final purchase is known, while multi-purpose vouchers are only subject to VAT when used to purchase taxable goods or services.

I wrote a "small essay" on this topic in this issue over here. Quoting from there:

Multi-purpose vouchers should work with the current implementation. They are similar to how gift cards used to be handled: a form of (down-)payment. Single-Purpose vouchers on the other hand come with more problems:

There is a really lengthy discussion over at Shopify regarding this issue. They don't seem to handle single-Purpose vouchers yet.

When using gift cards as a payment method, the total tax amount doesn't get reduced. And since we already paid tax when the customer bought the gift card, we end up paying tax twice.

I think the best option would be to handle gift cards by adding them as a special line item, which has a tax rate (the same tax rate, that has been used for buying the gift card). By setting the tax rate for the gift card you decide between single-purpose vouchers and multi-purpose vouchers. Multi-purpose would probably be the way to go for people outside the EU.

Another benefit of using lines: This should work with any payment plugin, invoices, bookkeeping etc. without the need of additional customisation since they all use lines.

@michaelbromley
Copy link
Member

Hi Kolja,
Thanks for the research you have done on this topic! Unbelievable that a platform the size of Shopify still doesn't get this right.

So that I understand this right: your suggestion is to implement gift card payment as a negative OrderLine, rather than a payment method as it currently is?

If so we could perhaps use the existing Surcharge mechanism.

@koljam
Copy link
Contributor Author

koljam commented Mar 7, 2023

Yea it boggles my mind...

Yes, using surcharges should work. The most important thing is, that the gift card needs to reduce the taxable amount - like a discount.

The easiest way would probably be to add a surcharge with the same tax rate which was used when buying the gift card. I will write out a quick calculation, also for myself because I still find it difficult to wrap my head around this stuff:

Single Purpose Voucher

Transaction 1
Product: Gift Card
Value: 100€
Taxrate: 19%
VAT: 19€

Transaction 2
Product: Bike
Value: 150€
Taxrate: 19%
VAT: 28.5€

Surcharge: Giftcard
Value: -100€
Taxrate: 19%
VAT: -19€

Total: 50€
Including: 9.50€ VAT
Total amount of tax paid by seller: 9.50€ + 19€ = 150€ * 19% = 28.50€

Multi Purpose Voucher

Transaction 1
Product: Gift Card
Value: 100€
Taxrate: 0%
VAT: 0€

Transaction 2
Product: Bike
Value: 150€
Taxrate: 19%
VAT: 28.5€

Surcharge: Giftcard
Value: -100€
Taxrate: 0%
VAT: 0€

Total: 50€
Including: 28.50€ VAT
Total amount of tax paid by seller: 28.50€ = 150€ * 19%


Does this calculation check out with the current price calculation strategy and with the tax line strategy? If yes, using negative surcharges should work for both kinds of vouchers.

@michaelbromley
Copy link
Member

I think your tax calculations might be off. Some examples of correct calculation:

VAT rate price ex VAT price inc VAT note
20% 100 120 price inc VAT = 100 * 1.2
20% 83.33 100 price ex VAT = 100 / 1.2
19% 84.03 100 price ex VAT = 100 / 1.19

So in your example transaction 1, if the gift card value is EUR 100 @ 19% VAT, then the ex-VAT price is 84.03 and the VAT part is EUR 15.97.

@koljam
Copy link
Contributor Author

koljam commented Mar 7, 2023

Oh no, yes, I did it the wrong way around 🤦‍♂️

Gift Cards VAT rate price ex VAT price inc VAT VAT
Gift Card (Single Purpose) 20% 100 120 20
Gift Card (Multi Purpose) 0% 120 120 0
Transaction 1 VAT rate price ex VAT price inc VAT VAT
Bike 20% 300 360 60
Surcharge Gift Card (SP) 20% -100 -120 -20
Total -- -- 240 40

or

Transaction 2 VAT rate price ex VAT price inc VAT VAT
Bike 20% 300 360 60
Surcharge Gift Card (MP) 0% -120 -120 0
Total -- -- 240 60

Using the (hopefully) right numbers I come to the same conclusion.

@michaelbromley
Copy link
Member

I'll need to spend some time to explore how it could work to implement the gift card payment as a negative surcharge - there will possibly be some unforeseen edge-cases this creates which need to be investigated.

In the mean time, did you ever consider the "just sell a book" hack to make it so that you can legally offer multi-use vouchers?

@koljam
Copy link
Contributor Author

koljam commented Mar 29, 2023

Hey Michael, yes I will probably do that. Also I will probably wait with my launch until 2.0.0 is out so I get a fresh new start.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants