Coupons

Coupons are discount codes that students enter at checkout to reduce the price of a course purchase or membership subscription. You control the discount type, value, usage limits, minimum purchase, and active date window.
Overview
Go to LMS Commerce > Coupons. The page has two parts: a create/edit form at the top and the coupons list below.
Creating a coupon


Fill in the fields and click Create Coupon.
Form fields
| Field | Description |
|---|---|
| Code | The code students type at checkout. Example: SUMMER25. Must be unique. |
| Discount Type | Percentage (%) deducts a percentage of the item price. Fixed Amount deducts a flat currency amount. |
| Value | The discount amount: a percentage (e.g. 25) or a fixed amount (e.g. 10.00). Required. |
| Applies To | Courses (course purchases only), Membership Plans (subscription purchases only), or Both. |
| Restrict to specific courses | Optional. When Applies To includes Courses, a searchable field lets you limit the coupon to particular courses instead of your whole catalog. |
| Status | Active means the coupon can be used now. Inactive disables the code without deleting it. |
| Usage Limit | Maximum total redemptions. Leave blank for unlimited. |
| Per-User Limit | Maximum redemptions per individual user. Leave blank for unlimited. |
| Min Purchase | The minimum order amount (before discount) required to use the code. Leave blank for no minimum. |
| Start Date | The date the coupon becomes usable. Defaults to today. |
| Expiry Date | The date the coupon stops working. Leave blank for no expiry. |
Restricting a coupon to specific courses
Below the main fields, the Restrict to specific courses field lets you scope a coupon to only certain courses instead of your whole catalog. Type a course name into the search box; matching courses appear in a dropdown as you type. Selecting one adds it as a chip above the search box. Add as many courses as you need, and click the "x" on a chip to remove it.
Leave this field empty to apply the coupon to every course (subject to the Applies To setting). Once you add at least one course, the coupon only works at checkout for those courses.
Editing a coupon
Click the Edit row action on any coupon in the list. The create form above the table updates to show the coupon's current values, including any course restriction, and switches to edit mode. Change the fields you want and click Update Coupon. Click Cancel to discard edits and return the form to create mode.
The coupons list

Columns: Code (links to detail page), Type, Value, Applies To, Usage (used / limit), Status, Created, Actions.
Status tabs filter by All, Active, or Inactive.

Status values in the table:
- Active - the coupon is usable (within its date window and usage limits).
- Inactive - manually disabled.
- Expired - the expiry date has passed; the coupon can no longer be used even if its status is Active.
Row actions:
- Edit - populates the form at the top of the page.
- Delete - permanently removes the coupon.
Coupon detail
Click a coupon code in the list to open its detail page.

Coupon metadata card

Shows all the coupon settings at a glance: code, discount, applies-to scope, status, usage count vs limit, per-user limit, minimum purchase, and the active date window (start to expiry).
Redemptions

Every time a student uses the coupon, a row appears here with the customer name (linked to their student profile) and the transaction ID (linked to the transaction detail). The section heading shows the total redemption count.
If the coupon has not been used yet, the table shows "This coupon has not been redeemed yet."

What students see: live reprice on the course page
On a single course page, students enter a coupon code in the "Have a coupon?" field on the enrollment card. When the code validates, the card updates in place without a page reload: it shows the discount (either the percentage or the fixed amount, plus the word "off") and the new total price, calculated from the course's price right there in the browser. If the code is invalid, expired, or restricted to other courses, the card shows the matching plain-English message instead of repricing (for a course-restricted coupon used on the wrong course, this is "This coupon does not apply to the selected item.").
Tips
- Coupon codes are case-insensitive at checkout.
SUMMER25andsummer25are treated the same. - A coupon with an expired date shows as Expired in the status column even when its status field is Active. The code cannot be used once the expiry date has passed.
- Setting both a Usage Limit and a Per-User Limit means both caps apply. A coupon with limit 100 / per user 1 allows 100 unique customers, each using it once.
- Deleting a coupon does not remove existing transaction records. Those transactions retain the coupon reference in their detail view.
- The minimum purchase is evaluated against the pre-discount price, not the final price.