I have a shop in the Netherlands, where we always display prices inclusive of taxes. My whole store concept is that people buy their products in refundable containers: they buy a jar of nuts, they pay an additional fee of 1€ (non-taxed, because it's not a sale, it's a debt), and they get it back when they return the jar.
The way I've handled it so far:
- every jar comes with its own deposit value that is added to the subtotal in the form of an additional fee.
- every customer has a coupon assigned to them; when they return a container, I update the value of the coupon.
- when they use their coupon, it reduces the coupon's value by the price incl.; if the order > coupon value, the coupon value is brought to 0, and the rest needs to be paid. If the order < coupon value, then the coupon's amount is updated and they can use it on a later order.
It works nicely so far but there are two problems (one being HUGE):
- the coupon doesn't apply to the current order deposit: if a customer has a coupon of 10€ and they have to pay 6€ in products + 4€ in deposit, the coupon will only cover the 6€ of products.
- the second problem is that the way coupons work is that they reduce the price of each product. It's basically treated as a discount. But that means the tax is also brought down, meaning that me, as a shop, end up declaring no tax on the products I sell when a coupon is used... while I STILL did make untaxed money when charging the deposit! At this point, this is basically tax evasion.
How can I solve this problem? I'm pretty happy with my custom interface for the coupons (also because I display all assigned coupons in the user account), so I'd like to keep it if possible. I've also read that despite a lot of people considering it as a bug, the WooCommerce team decided that negative fees should always have taxes applied, which means I can't use this ("it's not a bug, it's a feature" style).