Customers overview
How customer records, loyalty points and credit balance fit together — and the one step that makes all of it work.
What it is
Three things make up the customer side of the system, and they happen in order: a record, the points it earns, and the credit those points turn into.
How it works
flowchart LR
A[Customer record<br/>created] --> B[Order attached<br/>to the customer]
B --> C[Loyalty points<br/>earned]
C --> D[Points converted<br/>to credit]
D --> E[Credit spent<br/>on a future order]
| Topic | Covers |
|---|---|
| Customer records | The list, labels, the customer profile, who can add customers |
| Loyalty points | Earning points, converting them |
| Credit balance | The wallet, till redemption, and every movement in and out |
The step everything depends on
If a customer is not attached to the order, none of this happens. No points get earned, no credit can be spent, and the sale never shows up in that customer's history. This can't be fixed afterward.
Loyalty schemes usually fail right here — not because of a setting, but because nobody asked for a phone number at the till.
Points and credit are not the same thing
This is a distinction worth explaining clearly to staff:
| Loyalty points | Credit balance | |
|---|---|---|
| How it arrives | Earned by spending | Converted from points, refunded, or adjusted |
| Can be spent directly | No | Yes |
| Needs converting first | — | Already money |
| Rounding | Always rounded down | Exact to the paisa |
A customer who says "I have 500 points" does not have ₹500. Points only become money once they're converted, and that happens in whole blocks, above a minimum amount.
Customers belong to the brand
A customer is shared across every outlet in the brand. If the same person orders at two branches, they have one record, one points balance, and one wallet — not two of each.
This was checked directly against how the system actually works. A customer record belongs to a brand, but not to any single branch. There used to be a branch link on the record, but it was deliberately removed, so the same customer, points, and wallet follow that person to every branch of the brand.
This is why customer screens look the same whether you're at brand level or outlet level. There's only one customer list, and everyone is looking at the same one.
This single, brand-wide list is also behind a confirmed problem: the permission that lets outlet staff see the customer list is not limited to their own outlet. A Waiter or a Delivery Rider sees every customer in the whole brand, not just the ones from their own outlet. See Customer records → Known weaknesses for the full detail.
How it is secured
Each of the three areas — records, loyalty, and credit — has its own permission controls, covered in full on its own page. Here's a summary:
- Viewing the customer list, adding a customer, and looking up a customer's history are each their own separate permission. Any of them can be assigned to any role from Roles & Permissions.
- Editing and deleting a customer are separate permissions again, apart from viewing and adding. This means a role can be given read-only access.
- Creating the list of labels and loyalty/credit settings are reserved for the brand super-admin. Using an existing label, or redeeming credit at the till, is available to outlet staff.
- Every customer, everywhere in the system, belongs to the brand, not to an outlet. See Customer records → Branch boundaries for the detail.
- The one confirmed weak spot is that read access to the customer list isn't narrowed down by outlet. See the warning above.