---
title: 'Coupon Codes'
url: 'https://manuals.remository.com/userpoints/coupon-codes'
markdown: 'https://manuals.remository.com/userpoints/coupon-codes.md'
date: '2026-10-06'
description: 'Coupon codes let you award a fixed number of points to any user who enters a valid code. They are useful for promotions, welcome offers, offline events, or rewarding specific users without manually editing their balance. Managing Coupon Codes Go to Components → UserPoints → Coupon Codes. The list s…'
taxonomy:
  category:
    - docs
---

[](#) [ edit this page](https://github.com/getgrav/grav-skeleton-rtfm-site/blob/develop/pages/08.coupon-codes/docs.md) 

# Coupon Codes

Coupon codes let you award a fixed number of points to any user who enters a valid code. They are useful for promotions, welcome offers, offline events, or rewarding specific users without manually editing their balance.

## Managing Coupon Codes

Go to **Components → UserPoints → Coupon Codes**. The list shows all codes with their point value, expiry date, and publication state.

## Creating a Coupon Code

Click **New** and fill in the fields:

| Field | Description |
|---|---|
| Code | The string users must enter (e.g. `WELCOME2025`). An auto-generate button next to the field produces a random 8-character alphanumeric code. |
| Description | An internal note describing the purpose of the code. Not shown to users. |
| Category | An optional Joomla content category for grouping codes. |
| Points | The number of points awarded when the code is successfully redeemed. |
| Expiry Date | An optional date after which the code can no longer be redeemed. Leave blank for a code that never expires. |
| Public | Whether the code is currently active. Non-public codes are rejected when entered. |
| Printable | When enabled, a QR code is generated for the coupon and displayed on the edit page. This QR code can be printed and distributed; scanning it takes the user to the redemption page. |

Save the record. The code is now active if Public is set to Yes.

## How Users Redeem Codes

Users enter coupon codes on the frontend using the **Coupon Code** module (`mod_userpoints_couponcode`). Place this module on any page — typically the account or dashboard page.

When a user submits a valid, unexpired, public code:

1. The points are added to their balance immediately.
2. An activity record is created using the `sysplgup_coupon` rule.
3. A success message is shown.

If the code is invalid, expired, or unpublished, an error message is displayed and no points are awarded.

## Generating Multiple Codes

Each code must be created individually in the administrator. The auto-generate button speeds this up for single codes. For large promotions requiring many unique codes, consider generating them externally and importing via the Joomla database.

## Tracking Usage

To see which users have redeemed a code, filter the Activities list by the `sysplgup_coupon` rule and search by the code value in the **Data Reference** column.

## QR Codes

If a coupon has **Printable** set to Yes and a code has been entered, a QR code image is shown at the bottom of the edit form. The QR code encodes the redemption URL for that specific coupon. You can screenshot or print this for use at events, on flyers, or in physical mailouts.

 [ ](https://manuals.remository.com/userpoints/levels-ranks-medals) [](https://manuals.remository.com/userpoints/raffles)

---

## Navigation

- Previous: [Levels, Ranks & Medals](https://manuals.remository.com/userpoints/levels-ranks-medals.md)
- Next: [Raffles](https://manuals.remository.com/userpoints/raffles.md)
