Skip to main content

Loyalty Programs

docs image

Loyalty Programs

Accumulating and using loyalty points

Loyalty programs allow you to store points on users, which can accumulate based on certain conditions. These points can then be used as either a payment type, or to trigger certain promotions. This document describes setting up a loyalty program, along with its options.

Loyalty programs are managed in Admin Suite, under Promotions -> Loyalty Programs.


In order to be able to access this chapter, you need the LoyaltyPrograms permission. Check the loyalty related functionalities for more details.

The initial overview

The chapter's initial UI displays an overview of all existing loyalty programs (if any). It offers options to create new ones using the '+' icon, or edit existing ones by clicking one. Make use of the filter to fine-tune your overview.

Create loyalty program

To begin a creation flow, click the '+' icon in the initial overview page.

The Create modal will consist of the following fields:

  • Name: Enter a name of your choice.
  • Description: Provide a description of your choice.
  • Usage Type: Choose from three options:

View Usage Options
  • Allow Awarding: Specifies whether the program permits awarding points.
  • Usable as Payment Method: Specifies whether points can be used as a payment method. For example, 1000 points can be used as a discount of €1.00.
  • Usable for Withdrawal: Specifies whether withdrawing points is permitted. For example, 1000 points can be withdrawn to obtain a free product.
  • Handler: We currently have two loyalty program handlers:

Expand to see options


This handler gives you the most flexibility, but is also the hardest to set up, as it requires you to have a third-party to store loyalty points, and a custom integration. Read more here.


This handler stores your points in EVA. We support withdrawals, payments (using points), and points awarding in EVALOYALTY, we also support this on production environment. We don't want to be a bank, so we can't store actual monetary value. This is why EVALOYALTY does not support payments on production environments.

  • Start Date: Choose your preferred start date.
  • End Date: Choose your preferred end date.
  • Status: Select from three options:

Expand to see options
  • Inactive: This status deactivates the loyalty program but allows point withdrawals if points are still available and the program is active between the chosen start and end dates.
  • Suspend: This status suspends the loyalty program and prevents any point withdrawals to any remaining outstanding points.
  • Active: This status keeps the loyalty program fully operational within the specified start and end dates.
  • Checkboxes: Select from the following options:

Expand to see options
  • Requires customer: Determines whether enrolling into a loyalty program requires a customer to be attached or not. Not, as in an order only with no check on whether a customer is attached or not.
  • Apply manually only: The loyalty program must be manually added by a user to an order/customer via frontend apps.
  • Requires subscribed customer: Customers must manually opt into the loyalty program. This first equires setting up a subscription linked to the loyalty program.
  • Auto subscribe: Automatically enrolls customers into the loyalty program without manual opt-in. This first requires setting up a subscription linked to the loyalty program.
  • Requires subscription validation: Specifies if validation of the user requirements pertaining to the linked subscription is required.

Edit loyalty program

To start the edit flow, click an existing loyalty program from the initial chapter overview. The UI will consist of two tabs:

General information

Here you can modify all the fields specified at the time of Creating loyalty program under the General information card.

In addition, you will be presented with an additional card namely, price lists. The dropdown will include all currently available price lists to choose from which the loyalty program would link to when loyalty points are being determined. This will then be the applicable price list on an order when if the loyalty programs is applied.

Further, the Organization Unit Set card allows you to specify which organization units the loyalty program applies to. This card will only be visible if the loyalty program is attached to a subscription.

Point saving rules

The second tab, apart from self-explanatory fields the ones requiring a bit more explanation are as follows:

Expiration span

The expiration span dictates how long loyalty points will be usable before expiring. There are 5 options;

DefaultNo expiration date.
CustomExpire along a custom interval. Selecting week and entering 10 will result in expiration after 10 weeks.
Expire end of yearPoints will expire at the end of the year.
Expire end of monthPoints will expire at the end of the month.
Expire set datePoints will expire on the given month and day in the year when the points were issued. If the given date falls BEFORE the issued date, they will expire the following year.

Expire set date comes with an additional field; Leniency days. This dictates the minimum amount of days required between when the points are issued to when they expire.


Expiration span only kicks in after the pending period has concluded.

Pending points

Some retailers want to have a certain pending period before points are issued.

DefaultNo pending period.
CustomCustom pending period. Selecting week and entering 10 will result a pending period of 10 weeks.
Pending Return PeriodPoints will remain pending until after the return period expires. Same value as setting Returnable:InvoicedDays which is one of the settings available that influence returns for more.

Points to award

Check Awarding loyalty points docs for more on creating or editing rules.

Based on role permissions, each user may have different rights on what can be done within the loyalty module and frontend behaviour. Permissions are managed from the Roles and rights chapter namely, from the functionalities card of a users role.

The following table provides a list of those permissions and the impact each one has on the users rights:

Show loyalty related functionalites
Functionality nameScope when functionality is not ticked
LoyaltyProgramsThe scope on what a user can do using the loyalty programs chapter.
BlockUserSubscriptionThe ability to block a subscriber from accumulating or using loyalty points from a specified loyalty program.
BlockUserSubscriptionThe ability to unblock/reverse a blocked subscriber from accumulating or using loyalty points from a specified loyalty program.
DepositLoyaltyPointsThe ability to deposit loyalty points to any users balance.
ApplyLoyaltyDiscountThe ability to apply a discount that is grounded upon loyalty benefits.