How Header-Level Discounts Work with Stripe Tax

Overview

This guide explains how header-level discounts are managed when using Stripe Tax through the PayPack integration. When a discount is applied at the transaction header level (affecting the entire order), the system ensures that taxes are calculated only on the net discounted amount for each item, rather than the original list price. This logic applies to both legacy tax systems and SuiteTax.

How the Discount Calculation Works

The system follows a specific process to ensure tax accuracy before communicating with Stripe:


 

  • Proportional Allocation: The system calculates the discount percentage by dividing the total discount amount by the transaction subtotal.
  • Net Amount Deduction: Before the data payload is sent to Stripe, the calculated percentage is deducted from each individual line item.
  • Stripe Reporting: Stripe receives the discounted net amount for each line to determine the final accurate tax.

Header Discount Example

If a $10.00 header discount is applied to a transaction with multiple items, the system adjusts the amounts sent to Stripe as follows:


 

ItemOriginal AmountDiscounted Amount (Sent to Stripe)
Item 01$109.00$105.57
Item 02$109.00$105.57
Item 03$100.00$96.86

Note: While the discounted net amounts are sent to the Stripe API for calculation, the individual line-level amounts on the record itself may still reflect original values, with the adjustment reflected in the total tax response.

Multi-Line Shipping Considerations

When dealing with transactions that involve multiple shipping locations, the following rules apply:


 

  • Subtotal Basis: For transactions with multi-line shipping, the header discount is applied based on the overall subtotal.
  • Uniform Application: The discount is applied proportionally across all locations; currently, there is no differentiator to apply a header discount to one specific shipping location while excluding others.
  • Consistent Logic: The same percentage deduction is performed for each line item regardless of its destination before the payload is sent to Stripe.
Was this article helpful?
0 out of 0 found this helpful

More resources