All docs
4 min read

Coupons

Coupons attach to a team, not to an invoice. Once applied, they keep applying — for one cycle, several cycles, or forever — depending on how the coupon was issued.

Applying a coupon

Two paths:

  1. At signup. The hosted checkout page includes a Have a coupon? field. Enter the code, and the price preview updates immediately. Continue through checkout normally.
  2. On an existing subscription. Open Billing and click Apply coupon. Enter the code. The discount is applied to your next invoice — we don't retroactively re-bill.

If the code is invalid, expired, or already redeemed, you'll see a clear error. We don't silently swallow bad codes.

Single-use vs. forever-discount

Coupons come in three shapes:

Shape What it does Example
Single-use Discount applies once, on the next invoice only "$10 off your next month"
Multi-cycle Discount applies for N cycles "20% off for 3 months"
Forever Discount applies as long as the subscription is active "Lifetime 50% off Pro"

The coupon's metadata controls the shape. The dashboard's billing page shows you which shape you've got and when (if ever) it expires.

Where you can enter a code

  • Billing → Apply coupon — for any active subscription
  • Hosted checkout page — at signup or upgrade
  • Promotional links — codes embedded in a launch URL like formspring.io/signup?coupon=LAUNCH50 auto-apply during signup

There's no admin-only "secret" path; anyone with billing access in the team can apply a code.

What happens at renewal

Renewal behaviour depends on the coupon shape:

  • Single-use. Discount applied to one invoice. Next renewal charges the full price. No further discount.
  • Multi-cycle. Each renewal during the discount window applies the percentage or fixed amount. After the window ends, full price.
  • Forever. Every renewal applies the discount, indefinitely, unless the team upgrades or downgrades to a different plan tier — at that point the coupon may or may not carry over depending on its scope (some "forever" coupons are plan-scoped, others apply to any tier). The dashboard shows which.

What happens at upgrade or downgrade

If a coupon is plan-scoped (e.g. "20% off Pro forever") and you upgrade to a tier the coupon doesn't cover, the coupon detaches. We don't replace it with a smaller discount automatically.

If the coupon is plan-agnostic (most percentage-off-anything codes), it carries through plan changes.

In both cases the new plan's first invoice is prorated (see upgrading), and the discount — if it carries — applies to the prorated amount.

What happens on cancellation and resume

If you cancel and let the subscription expire, the coupon stays attached to the team. When you resume, the coupon applies again under its original terms.

Single-use coupons that were already redeemed before cancellation don't re-trigger on resume — they were used once.

Stacking

Coupons don't stack. If you apply a new coupon while one is already active, the new one replaces the old one. We show a confirmation step before swapping.

If you want both discounts, contact info@pixelandprocess.de. Sometimes we can issue a single combined coupon as a one-off; usually we can't.

Tax interaction

Tax is calculated on the post-discount amount, not the list price. Your invoice line items show:

Pro plan                         $19.00
LAUNCH50 coupon (-50%)           -$9.50
Subtotal                          $9.50
VAT (19%)                         $1.81
Total                            $11.31

For reverse-charged EU B2B invoices, the discount applies before the reverse-charge note. No surprises.

Common errors

  • coupon_invalid — typo, or the code's redemption period closed.
  • coupon_redeemed — single-use code already used by your team.
  • coupon_minimum_unmet — code requires a minimum order value (rare; only on launch promos).
  • coupon_currency_mismatch — code is denominated in EUR but your subscription bills in USD (or vice versa). Email us; we'll re-issue.

What's next