Skip to content

Loyalty

Loyalty is a points programme built on OpenCart's own reward points. Customers earn a percentage of what they spend, spend points at checkout at a rate you set, and lose dormant points only after an email has warned them.

It does not replace OpenCart's reward ledger; it writes into it. Every point Loyalty awards or takes is a row in OpenCart's own reward table, so a customer's balance is the same figure on OpenCart's customer screen, at checkout and on their account page, and a correction you make by hand counts at once. What Loyalty adds is the rules OpenCart lacks: when an order earns and when it gives the points back, what a point is worth, and when an unused balance runs out. It also keeps a record beside each movement saying what the points were for.

The Loyalty screen's right-hand column: earning switched on, what it costs, and what the store owes

Earning is switched on with an armed button rather than a tick box, and the screen says from which moment the store has been committing to pay. Beside it, what the programme costs as a share of every order, and what the store owes in points: outstanding, due to expire, what moved in the last 30 days, and anything needing attention.

Who it is for

  • Store owners who want repeat customers rewarded in points, without an outside loyalty service or a second account for the customer.
  • Stores already using OpenCart's own reward points, whose customers' existing balances should carry on unchanged.
  • Anyone who needs to know what the store owes in points, and who needs a refund to take the points back rather than leave them with the customer.

What it does today

  • Earns on orders as a percentage of the goods, before or including tax, once, the first time an order reaches a status you tick. Shipping never earns, and a coupon or points spent reduce what an order earns.
  • Starts from a moment you choose. Only orders placed after you press Start awarding points earn, so switching it on never pays for the past.
  • Takes points back in full, once, when an order reaches a status you tick for refunds and cancellations.
  • Rates per customer group, and a product's own Reward Points figure in place of the percentage, if you want one.
  • Spends points at checkout through a slider on the cart, stepping one unit of currency at a time, with a minimum balance and a cap on the share of an order points may pay. The discount comes off the goods, never the shipping, and reduces tax the way a coupon does.
  • Holds each order to the price it quoted. An order keeps the exchange rate it was created at, including in the admin order editor.
  • Pays a welcome bonus for a new account, whether it was made at registration, at checkout or by you in the admin, and a birthday bonus once a year from a Date custom field of your own.
  • Expires dormant points, if you switch it on: only points Loyalty awarded, only after a window of 12 to 120 months without any points movement, and never without a warning email sent at least 14 days before.
  • Replaces the customer's Reward Points page with one that leads with the balance and what it is worth, says which points expire and when, and names the order behind a balance below zero.
  • Shows the cart what it will earn, before checkout.
  • Says what the store owes, in points, on its own screen, and names in money what a new exchange rate does to the points outstanding before you save it. See what the store owes.
  • Lets other extensions award points through one call that pays each award exactly once. Review Requests uses it to pay for approved reviews.
  • Runs per store on a multi-store install, with one balance per customer across every store.

What it does not do

This list is here so that you do not buy Loyalty for something it will not do.

  • It does not run beside OpenCart's own Reward Points order total. While core's total is on, customers earn but cannot spend through Loyalty. A fresh OpenCart ships with it on; you switch it off.
  • It does not award points for past orders, and never recalculates an award when a setting or an order changes.
  • It does not take back part of an award. A reversal is all of an order's points or none of them, and it takes them back even when they were spent, so a balance can go below zero.
  • It does not stop a balance going negative. Two orders placed at once can spend the same points; the second is deducted in full rather than refused.
  • It does not expire points you added by hand, or points that were there before it, and it does not expire anything on a store whose mail is not sending.
  • Its scheduled parts need a crontab line on OpenCart 4.1.0.4. Expiry, the warning email and the birthday bonus run from OpenCart's scheduler, which is broken on that release, so there they run only from a command of Loyalty's own.
  • It has no tiers, no referral scheme and no points for reviews or social actions of its own. Another extension can award points for those through the award seam.
  • It does not value the points in money for your accounts. It counts points; what they cost your business is your accountant's question.

For the exact boundaries of each promise, read limits and guarantees. It is the page worth reading before you buy.

Where to go next

Whichever extension you bought, the shared pages apply to it too.