Skip to content

Give a launch discount

Say "give the first 100 customers 20% off for three months" and get a Coupon, a promotion code at checkout and a discount line on each Invoice.

A Coupon takes a percent or an amount off for a set time, and its code works at checkout. The Price on the pricing page stays the same, so the discount ends cleanly.

Needs Charge monthly

What you get

  • 1Coupon for 20% off three monthly chargesCoupon
  • 1promotion code LAUNCH20 at checkout, good for 100 customersCoupon
  • 1discount line on each Invoice it touchesInvoice
  • 1count of redemptions on the CouponCoupon

Your agent does

Coupon.create
You, to your agent

Give the first 100 customers 20% off for three months.

Make a LAUNCH20 code.

Create a promo code for launch week.

# Coupon.create
curl -X POST https://api.sb/leaseline.app/coupons \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"duration":"repeating","percentOff":20,"months":3,"code":"LAUNCH20","maxRedemptions":100,"redeemBy":"2026-12-31T23:59:59Z"}'
import { $ } from 'startup-builder'

await $.Coupon.create({ duration: 'repeating', percentOff: 20, months: 3, code: 'LAUNCH20', maxRedemptions: 100, redeemBy: '2026-12-31T23:59:59Z' })
npx startup-builder do Coupon.create --json '{"duration":"repeating","percentOff":20,"months":3,"code":"LAUNCH20","maxRedemptions":100,"redeemBy":"2026-12-31T23:59:59Z"}'
{
  "name": "do",
  "arguments": {
    "code": "return await $.Coupon.create({ duration: 'repeating', percentOff: 20, months: 3, code: 'LAUNCH20', maxRedemptions: 100, redeemBy: '2026-12-31T23:59:59Z' })"
  }
}

Change it

  • Make it 50% off the first month instead.
  • Stop the code today.
  • How many people used LAUNCH20?

Under the hood

Systems
Billing
Nouns
Coupon, Invoice
Events
Coupon.created
Stripe objects
Coupon, Promotion Code