Loyalty Program & Reward Points

Reward your customers for every purchase. Configure earning rates, redemption values, and expiry rules to build lasting loyalty.

Enable Reward Points

The Reward Points loyalty program is disabled by default. You must enable it in Business Settings before any points are earned or redeemed.

Steps to Enable

  1. 1Go to Settings > Business Settings.
  2. 2Click the Reward Points tab or scroll to the Reward Points section.
  3. 3Toggle Enable Reward Points to on.
  4. 4Configure earning rate, redemption rate, limits, and expiry settings (see sections below).
  5. 5Click Save to activate the program across your business.

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.

Configuration Settings

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).

Earning Points

Points are awarded automatically when a named customer is selected on a sale and the loyalty program is active.

Calculation Formula

Points Earned = Floor(Sale Total ÷ Earning Rate)

Example: Earning Rate = 50. A customer spends 375. They earn 7 points (floor of 375 ÷ 50 = 7.5 → 7). Partial points are not awarded.

What Qualifies for Points

  • Any completed sale where a customer contact is selected at POS.
  • Points are added to the customer's cumulative total after the transaction is saved.
  • Walk-in (anonymous) customers do not accumulate points -- always select the customer to credit them.
  • Returns and refunds reverse the points earned on the original sale.

Redeeming Points

Customers can apply their accumulated points as a discount during POS checkout, subject to the limits configured in Business Settings.

Redemption Value Calculation

Discount Amount = Points Redeemed × Redemption Rate

Example: Redemption Rate = 0.5. Customer redeems 20 points. Discount = 20 × 0.5 = 10.00 off the order.

Redemption Rules

  • If Min Order Total is set, the order must meet that threshold before points can be redeemed.
  • If Max Points per Order is set, the cashier cannot apply more than that number in one transaction.
  • A customer cannot redeem more points than their current available balance.
  • Partial redemption is always allowed -- customers can choose how many points to apply.

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.

Points Expiry

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.

POS Checkout

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.

Checkout Flow

  1. 1Select the customer from the contact search at the top of the POS screen.
  2. 2Add products to the cart and press Pay to open the payment modal.
  3. 3The payment modal shows the customer's available reward points balance.
  4. 4Enter the number of points to redeem in the Redeem Points field. The equivalent discount is calculated and deducted from the payable total automatically.
  5. 5Collect the remaining balance using any payment method and finalize the sale.
  6. 6Points earned on this purchase are added to the customer's balance once the sale is saved.

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.

Customer Profile & Ledger

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.

Points Summary Fields

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.

How to View a Customer's Points

  1. 1Go to Contacts > Customers and find the customer record.
  2. 2Click View to open the customer's profile page.
  3. 3The Reward Points summary section shows earned, used, expired, and available balances.
  4. 4The Ledger tab provides a transaction-level breakdown of every points earn and redemption event.

Benefit: Sharing the points balance at checkout encourages repeat visits and creates a transparent, trust-building loyalty experience for your customers.