Turn on loyalty in Store Config → Customer Loyalty. Simple mode gives a percent discount after a set number of sales; advanced mode earns points on spending that customers redeem as a payment type at checkout.
A loyalty program gives customers a reason to keep coming back — and gives you a reason to attach a customer profile to every sale, since loyalty only accrues when the customer is on the sale. PHP Point Of Sale ships two loyalty modes, and both are configured in the same place.
Turn on the loyalty system
- Open Store Config in the left menu.
- Type customer loyalty in the search bar at the top to jump to the Customer Loyalty section.
- Tick Enable Customer Loyalty system. The remaining options appear.
- Pick Simple or Advanced from the Loyalty Program Option dropdown and fill in the settings below.
- Click Save in the bottom right.
Who is enrolled: once the system is enabled, every customer — existing and new — participates by default. To exclude someone, edit their profile and tick Disable Loyalty. If you'd rather run an opt-in program, tick Disable Loyalty By Default in Store Config: customers created from then on start with loyalty off until you enable it on their profile. Note that quick-added customers at the register follow the same default.
Simple loyalty: a discount after N visits
Simple mode rewards visits: after a set number of completed sales, the customer earns a percent discount on a purchase. Its settings:
- Number of sales for discount — how many separate completed sales it takes to qualify.
- Discount percent earned when reaching sales — the percent off the customer gets once they qualify.
- Maximum allowed sales per day for simple loyalty — caps how many sales per day count toward the total (blank = Unlimited). This stops one big shop split into five small transactions from racing a customer to their reward.
- Hide sales to discount on receipt — by default receipts show how many sales remain until the next discount (for example "3 to go"); tick this to keep it off receipts.
At the register: when the customer is attached, the customer panel shows Sales Until Discount — red while they're still earning, green when they've qualified. When it reaches 0, a Redeem link appears next to it; clicking it applies the earned percent discount to every item on the current sale, and an Unredeem link undoes it if it was clicked by mistake. If the discount would push an item below cost, the register warns — or blocks it entirely when your Store Config forbids selling below cost.
Advanced loyalty: earning points
Advanced mode rewards spending: customers earn points on what they buy and spend those points as money at checkout. Earning is controlled by:
- Spend amount to point ratio — two fields: Enter the amount to spend and Enter points to be earned. Example: amount 25, points 2 — a $75 purchase earns 6 points.
- Loyalty points earned not including tax — tick so only the pre-tax amount earns points.
- Disable Gift Cards Sold From Earning Loyalty — by default, buying a gift card counts toward points; tick this so it doesn't (otherwise buying a card and later spending it would earn twice).
- Loyalty Multiplier (per item, on the item form) — award extra points on specific items; an item with multiplier 2 earns double points. Set it when creating items.
Customers can also buy points outright: with advanced loyalty configured, the green Sale button at the register gains a Purchase Points mode. It adds a special Purchase Points line to the sale — a customer is required, and the points land on their profile when the sale completes.
Advanced loyalty: redeeming points
- Point Value — the money each point is worth when spent. With a value of 2, redeeming 10 points takes $20 off.
- Minimum number of points to redeem — customers must reach this balance before points can be spent, which stops micro-redemptions.
- Prompt to use points when available — the register asks the cashier "Customer has points available to use. Would you like to apply these to the sale?" whenever the attached customer has a redeemable balance, so rewards actually get used.
- Enable points for gift card payments — by default points cannot pay for gift cards; tick this to allow it.
- Hide Points On Receipt — keep point balances off printed receipts; see customizing receipts for the rest of the layout.
At checkout, points are just another tender: choose Points as the payment type and enter how many to apply — alongside cash or card if the points don't cover everything; see payment types, tips and split payments. The register refuses redemptions above the customer's balance or below the minimum. The customer panel shows the live Points balance and the Amount to spend for next point.
Editing the program and customer balances
You can change any loyalty setting at any time from the same Store Config → Customer Loyalty section; changes apply going forward. Earned points are kept — if you change Point Value, existing balances are simply worth the new value at the next redemption.
Each customer's profile shows their loyalty state: Sales Until Discount in simple mode, or Points and Amount to spend for next point in advanced mode. Adjusting those numbers by hand requires the Edit customer points/Number of sales until discount permission on the Customers module — see permissions and templates. The customer Excel export includes points, amount to next point and the disable-loyalty flag when advanced loyalty is on, so you can audit balances in bulk.
Interactions with other features
- Gift cards — two directions to control: whether selling a card earns points (Disable Gift Cards Sold From Earning Loyalty) and whether points can buy cards (Enable points for gift card payments). Details in gift cards.
- Price tiers — tiers change the price, loyalty rewards the spend; they stack naturally. A tier named after your loyalty program is a common way to give members permanent pricing on top of points — see price tiers and customer pricing.
- Receipts — sales-to-discount and point balances print by default and can each be hidden.
- Reports — customer reports show points earned and used per sale; see running reports.
Rolling it out
Start with a test: enable the program, ring a few sales with a test customer, and confirm points or visit counts move the way you expect — then delete the test sales. Once the numbers look right, train the counter staff on one habit — always attach the customer — and the program largely runs itself.
Common questions
Why didn't the customer earn points on their sale? Either no customer was attached to the sale, loyalty is disabled on their profile (Disable Loyalty), the sale was a gift card purchase with gift-card earning disabled, or the loyalty system itself is off. Points only accrue on completed sales with the customer attached.
How do customers use their points? At checkout, choose Points as the payment type. Each point is worth the configured Point Value, they must have at least the Minimum number of points to redeem, and they can't spend more points than they have.
Can I exclude just a few customers from the program? Yes — edit their profile and tick Disable Loyalty. For an opt-in program, use Disable Loyalty By Default so new customers start excluded.
What happens to earned points if I change the settings? Balances are kept. New rules — including a new point value — apply from the next sale or redemption onward.
Can customers buy points or earn extra on certain items? Both: the Purchase Points register mode sells points directly, and a per-item Loyalty Multiplier awards extra points on items you want to push.
Why isn't the register prompting cashiers about available points? Turn on Prompt to use points when available in Store Config → Customer Loyalty, and make sure the customer's balance meets the minimum redemption threshold.
Can a customer see their balance? Yes — points (or sales until discount) print on receipts unless you've hidden them with Hide Points On Receipt / Hide sales to discount on receipt.
Comments
0 comments
Please sign in to leave a comment.