Everyone

Promo Codes & Coupons

Create discount codes that clients can apply at checkout for percent or fixed discounts.

Last updated 1776211200
  • Recurring vs First-Payment
  • Applying a Code at Checkout
  • Status Badges
  • Stacking with Client Group Discounts
  • Related Articles
  • Overview

    Promo codes give clients a discount at checkout. They can be percentage-based or fixed-amount, apply once or recur on every renewal, and be restricted to specific products or applied across the whole order.


    Creating a Promo Code

    1. Go to Admin → Promo Codes → New Code.
    2. Fill in the fields (see table below).
    3. Save.

    Promo Code Fields

    Field Required Notes
    Code Yes Case-insensitive; shown to clients (e.g. SAVE20)
    Type Yes percent or fixed
    Value Yes 20 = 20% off; 500 = $5.00 off (stored as cents for fixed)
    Recurring Yes yes = applies on every invoice; no = first invoice only
    Applies To Yes All products, or select specific products
    Max Uses No Leave blank for unlimited
    Start Date No Code is invalid before this date
    End Date No Code is invalid after this date

    Discount Types

    Percent

    A percentage off the order total (or selected products' subtotal).

    • value = 20 → 20% off
    • Applied to base price + configurable options pricing

    Fixed

    A fixed amount deducted from the order total.

    • value = 500 → $5.00 off (the value is stored as cents)
    • If the discount exceeds the order total, the order total is set to $0.00 — it does not create a negative invoice

    [!TIP] For fixed discounts in multi-currency stores, create separate promo codes per currency (e.g. SAVE5USD, SAVE5EUR) since the fixed value is stored as a currency-neutral integer.


    Recurring vs First-Payment

    Setting When discount applies
    recurring = yes Every invoice for the life of the service
    recurring = no First invoice only

    Recurring discounts are tracked via a reference on the service record. The discount is re-applied automatically on each renewal invoice generation.


    Applying a Code at Checkout

    1. On the order form, the client enters the code in the Promo Code field.
    2. An AJAX request validates the code in real time.
    3. If valid, the discount is shown immediately in the order summary.
    4. If invalid (expired, exhausted, wrong product), an error message is shown inline.

    [!IMPORTANT] Usage count increments when the order is completed (invoice paid), not when the code is typed. Abandoned orders do not consume a use.


    Status Badges

    Badge Meaning
    Valid Code is active and has remaining uses
    Expired Past the end date
    Exhausted Max uses reached
    Not Started Before the start date

    Stacking with Client Group Discounts

    Promo codes stack on top of any client group discounts. If a client group gets 10% off and they use a 20% promo code, both discounts apply (applied sequentially, not combined into 30%).


    Related Articles