Reward your customers for every purchase. Configure earning rates, redemption values, and expiry rules to build lasting loyalty.
The Reward Points loyalty program is disabled by default. You must enable it in Business Settings before any points are earned or redeemed.
Note: Once enabled, the POS checkout screen will display a selected customer's current points balance and offer the option to redeem points toward the order total.
All reward point settings are found at Settings > Business Settings > Reward Points. The table below describes every available field.
| Setting | Field Name | Description |
|---|---|---|
| Earning Rate | rp_earning_rate | Amount a customer must spend to earn 1 point. E.g., enter 100 to award 1 point for every 100 currency units spent. |
| Redemption Rate | rp_redemption_rate | Monetary value of 1 point when redeemed. E.g., enter 1 to make each point worth 1 currency unit off the order. |
| Min Order Total to Redeem | min_order_total_for_redeem | Minimum order total required before a customer can redeem points. Leave blank or 0 to allow redemption on any order. |
| Max Points per Order | max_rp_per_order | Maximum number of points a customer can redeem in a single order. Prevents redeeming an entire balance at once. Leave blank for no cap. |
| Expiry Type | rp_expiry_type | How points expire: after a fixed period, after inactivity, or never. See the Expiry section for details. |
| Expiry Period | rp_expiry_period | Number of days after which points expire (used together with the expiry type above). |
Points are awarded automatically when a named customer is selected on a sale and the loyalty program is active.
Example: Earning Rate = 50. A customer spends 375. They earn 7 points (floor of 375 ÷ 50 = 7.5 → 7). Partial points are not awarded.
Customers can apply their accumulated points as a discount during POS checkout, subject to the limits configured in Business Settings.
Example: Redemption Rate = 0.5. Customer redeems 20 points. Discount = 20 × 0.5 = 10.00 off the order.
Important: Redeemed points are deducted from the customer's balance the moment the sale is finalized. If the sale is voided, the points are fully restored.
Configure points to expire after a set period to encourage customers to return and redeem sooner, or leave expiry disabled for a simple accumulate-forever program.
| Expiry Type | Behaviour |
|---|---|
| No Expiry | Points never expire. Customers accumulate indefinitely with no pressure to redeem. |
| After Period | Points expire a fixed number of days after they were earned, regardless of customer activity. Configure the number of days in Expiry Period. |
| After Inactivity | Points expire if the customer makes no purchase within the expiry period. The clock resets each time the customer transacts. |
Tip: A 90-day inactivity expiry is a proven strategy to re-engage lapsed customers before their points disappear.
When the loyalty program is enabled, the POS payment modal displays the selected customer's reward point balance and lets the cashier apply a redemption in the same step as taking payment.
Note: If no customer is selected, the reward points panel will not appear in the payment modal. Always select the customer before proceeding to payment to ensure points are awarded correctly.
A full history of a customer's reward points is available on their contact profile, letting you and your staff quickly look up balances and transaction-level detail.
| Field | Description |
|---|---|
| Total Points Earned | Lifetime cumulative points awarded across all purchases (total_rp). |
| Points Used | Total points redeemed across past transactions (total_rp_used). |
| Points Expired | Points that have lapsed due to the configured expiry policy (total_rp_expired). |
| Available Balance | Points currently available to redeem = Total Earned − Used − Expired. |
Benefit: Sharing the points balance at checkout encourages repeat visits and creates a transparent, trust-building loyalty experience for your customers.