Coupon types
Cadence
Cadence controls how many billing cycles the discount repeats within an association’s active window.Validity controls
These fields live on the coupon itself and gate whether a new association can be created.
The
total_redemptions counter increments when the association is created, not when an invoice is generated.
Coupon scope
Subscription level: discount applies to the invoice subtotal (or the running subtotal after earlier coupons have applied). Line-item level: discount applies to a specific price within the invoice before any subscription-level coupons run.How multiple coupons apply
When an invoice has both line-item and subscription-level coupons:- Line-item coupons apply first, reducing each targeted line item’s amount individually.
- Subscription-level coupons apply next, in association order, each seeing the subtotal left after the previous coupon.
- Wallet credits are deducted after all coupon discounts.
- Tax is calculated on
MAX(subtotal - all_discounts, 0). Tax is never charged on discounted-away amounts.
Two 20% subscription-level coupons do not produce a 40% total discount. The second coupon applies to the amount remaining after the first. See Billing Calculation Order for the full worked example.
Coupon statuses
Only
active coupons pass association validation.
Quick start
- Create a coupon with a type, value, and optional validity window.
- Apply it to a subscription at creation time or via subscription phases for scheduled windows.

