6 min read • Updated 3 months ago
Tax-Inclusive Pricing with Coupons & Discounts
Coupons and discounts get a little trickier, and how you want coupons to work in the context of tax-inclusive pricing isn't as obvious or globally agreed-upon as you might hope. (Please read the docs on that page first, if you haven't, as it has important context for this section of our documentation.) In particular, percentage-based discounts are generally “easy”, but set-amount discounts may require a few minutes to understand.
This is easiest to communicate by way of example. Assume an $100 (tax-exclusive) product ($110 tax-inclusive price), a 10% tax (inclusive), and a $15 coupon. Take a look at this table, and note the tips and warning:
Scenario | #1 | #2 | #3 | #4 | #5 |
---|---|---|---|---|---|
Template Set | Tax-Exclusive | Tax-Exclusive | Tax-Inclusive | Tax-Inclusive | Tax-Inclusive |
Item Price (displayed) | 100.00€ | 100.00€ | 110.00€ | 110.00€ | 110.00€ |
Item Price (actual) | 100.00€ | 100.00€ | 100.00€ | 100.00€ | 100.00€ |
Coupon's is_taxable | false | true | false | false | true |
Coupon's inclusive_tax_rate | 0 | 0 | 0 | 0.10 | 0 |
Coupon Discount (actual) | 15.00€ | 15.00€ | 15.00€ | 15.00€ | 15.00€ |
Coupon Discount (displayed) | 15.00€ | 15.00€ | 15.00€ | 13.64€ | 15.00€ |
Item Price, post coupon (not displayed) | 85.00€ | 85.00€ | 95.00€ | 95.00€ | 95.00€ |
Item Price, post coupon (actual) | 85.00€ | 85.00€ | 85.00€ | 86.36€ | 85.00€ |
Tax | 8.50€ | 10.00€ | 8.50€ | 8.64€ | 10.00€ |
Order Total | 93.50€ | 95.00€ | 93.50€ | 95.00€ | 95.00€ |
The three settings to note are:
The template set's tax inclusive setting.
The coupon's “taxable” setting. In some industries or situations, a discount might be “after tax”. For instance, say you want to offer customers 100% off, but you still need to collect tax for the full sale amount. Set the coupon to taxable and the tax will be applied before the coupon's discount is applied.
The coupon's “inclusive tax rate” value. This gets a little more complicated, but if you compare scenario #3 and #4 above, you can see the impact. Setting a coupon's
inclusive_tax_rate
will decrease the applied (but not displayed) discount by that inclusive tax percentage. So a 15€ coupon becomes15 / 1.1 = 13.64
. The end result is a 15€ “tax-inclusive” discount, as you can see in the Order Total row.<wrap tip>This is only important for “discount by an amount” coupons, not for “discount by a percentage” coupons, as %-based coupons will result in the correct order total regardless tax-inclusive or tax-exclusive settings.
Scenario #3 shows what would happen without an inclusive tax rate. (It behaves identically to scenario #1, which is tax-exclusive.)
The inclusive tax rate should be the default tax rate for the customers who'll use the coupon. This ensures your coupon is always for the expected amount, even if a customer's tax rate is different. This also prevents tax-exempt customers from receiving a higher-than-desired discount.
The inclusive tax rate functionality behaves identicaly regardless the tax-inclusive or taxable settings, but it's generally only useful in the tax-inclusive scenarios.
We'd love to hear from you. Please send us a quick note if you have a requirement with taxes and coupons that's not covered here, along with your country and industry.
This topic can be complicated. One of our team (in Paris) went through their receipts and pulled 3 of their orders from non-Foxy merchants, and we found each of their transactions mapped to scenarios 3, 4, and 5. If you're unsure which of the above approaches make sense to you, please contact your tax professional for what will surely be an exhilarating conversation. :)