Details
-
Type: New Feature
-
Status: Open
-
Priority: Critical
-
Resolution: Unresolved
-
Affects Version/s: 3.0.0
-
Fix Version/s: Short Term
-
Component/s: None
-
Labels:None
Description
A coupon line item from Services::buildServiceCouponLineItems() does not take into consideration whether or not tax should be applied to the discount. This results in line items having being taxed and the discount not removing any of the tax amount from the original line item. For example
Service - $100
Discount - 50%
Tax - 10%
Total should be $55, but is currently $60 because $100 + $100*0.1 - ($100*0.5) = $60
Instead it should be $100 + $100*.01 - ($100*0.5 + ($100*0.5*0.1)) = $55
The question is, how should taxes be handled in coupon line items? Should the line item be marked as taxable? If so, what about when there are multiple services, some taxable some not? Should we instead create a separate line item for each service? Should we calculate the tax and embed it into the line item (don't like that idea)?
UPDATE
Moved to feature request as some jurisdictions require tax on the full price before discounts.
This task must therefore also include a setting to discount tax with coupons (disabled by default to preserve current behavior of not discounting tax).
Tyson Phillips, any idea on how best to resolve this issue?
Could we simply add a line item for each service that the coupon applies to?
Obviously if the coupon is for a fixed amount, we'd need only a single line item for that fixed amount, but that becomes problematic when some of the services include tax and others do not.
Should we just maintain a separate calculation of the taxes applied to discounted services, then add that rate to the coupon total instead?