Customer Profiles
Keeping a record of the people who buy from you — names, phones, purchase history — and when you need one at all.
8 min read · Updated 24 Oct 2026
On this page
Most sales do not need a customer. You only attach one when you want something that follows the person rather than the receipt: loyalty points, a membership, a tab to collect later, or a statement at the end of the month.
Needs the Customer Memory & Promos add-on (₱300 per branch each month), or any bundle that includes it. Without it the Customers page is locked and the POS has no customer button. (A store with the Cash Drawer & Expenses add-on can still pick and add customers at checkout, to sell on credit.)
Walk-in or named
A sale with nobody attached is a Walk-in. That is not an error state and it is not a lesser sale — it is how most retail and food sales are recorded. You will see the word Walk-in on the transactions list, in the queue, on bookings, and on job orders wherever a customer was not attached.
Attach a customer when you need one of these:
| You want | Why a customer is needed |
|---|---|
| Loyalty points or a stamp card | Points and stamps live on the customer record |
| A membership | The membership is issued to a customer |
| To sell on credit | The balance owed is the customer's, not the receipt's |
| A monthly statement | The statement is a list of that customer's charges |
| A senior citizen or PWD discount with an ID on file | The ID number is stored on the profile |
Everything else — receipts, reports, X and Z readings, stock — works exactly the same either way.
Adding a customer from the dashboard
Customers → All Customers, then Add Customer. The New Customer dialog asks for:
| Field | Required | Notes |
|---|---|---|
| Name | Yes | The only required field |
| Phone | No | Must be unique within your store |
| No | Must be unique within your store | |
| Customer Type | No | Defaults to Regular |
| SC ID Number | No | Shown for Senior Citizen |
| PWD ID Number | No | Shown for PWD |
| Notes | No | Up to 2,000 characters |
Phone and email are checked for duplicates against your own store only. Two different Kassly stores can each have a customer on the same number.
Importing customers from a spreadsheet
To bring in a whole list at once, click Import on the Customers page. Download the template (it already lists your customers), add a row per customer or edit the existing rows, and upload it back. Nothing is saved unless every row is valid; you get a list of the rows to fix.
A row updates the customer with the same phone, then the same email, then the same name, and a blank cell never erases anything. The sheet also carries what the form does not: business name, TIN, billing address, credit limit and payment terms. Column by column, see Import formats.
Adding a customer at the counter
On the phone, tap View Cart, then + Customer to open the Customer sheet. Type at least two characters to search by name or phone. With no match, tap Create "…" or New Customer: if you searched by a phone number, it is already in the Phone box. The counter form is shorter: name, phone, email, Customer Type (Regular, Senior, PWD or Wholesale) and an optional photo taken with the camera. Save & Select attaches the new customer to the sale.
Before saving, the phone checks your customer list for the same phone number or email. If someone already has it, the sheet says who, so you can pick them instead of making a second record.
Tap a customer to see their details: their Loyalty points, their Visits, their note and their last five purchases. Use Customer attaches them to the sale.
| At the counter | Who can |
|---|---|
| Search for, pick and add customers | Owners, managers and cashiers |
| Add or change a customer's note | Owners, managers and cashiers |
| See a customer's recent purchases | Owners and managers; cashiers see the ones made at their own branches |
| Edit the rest of a profile, delete one, or use the Customers page | Owners and managers only |
The note is for the team, for example "Oat milk, less sweet". Changing it needs a connection.
Customer types
| Type | What it does |
|---|---|
| Regular | The default. No special behaviour |
| Wholesale | A label for filtering and reporting, and the key for a default price list |
| Senior Citizen | Carries the statutory 20% discount |
| PWD | Carries the statutory 20% discount |
The type is a label on the person, not an automatic price change. Whether a particular sale gets the senior citizen or PWD discount is still chosen at checkout — see Discounts. The Wholesale price is likewise chosen per line, not implied by the type; see Product pricing. To give a customer (or every customer of a type) their own prices automatically, use a price list.
What a profile shows
Open a customer from the list to get their page. The three figures across the top are Loyalty Points, Total Orders and Credit Balance.
Below that:
| Panel | What it is |
|---|---|
| Stamp Cards | Their progress on each of your stamp cards |
| Memberships | Only shown if the customer has any. Plan, Status, Started, Ends, Sessions |
| Visit History | Only shown if the customer has memberships. Visited, Plan, Notes |
| Loyalty History | Date, Type, Points, Value, Notes |
| Recent Transactions | Receipt, Date, Branch, Cashier, Items, Status, Total |
Recent Transactions is the purchase history, and it is paginated — it is every sale attached to that customer, not just the last few. Tapping through to the receipt itself is done from Transactions.
Each profile also carries a QR card. That is the member card; it is covered in Memberships.
Editing a profile
Edit on the customer page opens the same fields as the create form, plus a Payment terms (days) box (0 to 365) and, with price lists, a Price list. Aging on the Receivables page counts from the date of each charge, not from the customer's payment terms. See Receivables.
Business billing details — registered name, Business Style, TIN, billing address — are not part of the customer form. Kassly asks for them on the invoice itself, in the Bill To block. See Sales orders and invoices. To store a customer's business name, TIN and billing address on their profile, use the customer import.
The customers list
The four figures at the top of Customers are Total Customers, Regular, Wholesale and With Loyalty Points. You can filter by type with All Types, search by name, phone or email, and sort by name, points or date created.
Deleting a customer
Kassly refuses to delete a customer in two cases, and says which:
- They still owe you money — "Cannot delete this customer because they have an outstanding credit balance. Collect the balance first."
- They have sales on file — "Cannot delete this customer because they have existing transactions. You can update their record instead."
The second one covers almost every real customer. Editing the record is the practical option; deleting is really only for a profile typed in by mistake.
Creating customers offline
The POS creates customers on the device when there is no connection, and the record syncs on its own when the signal comes back. The sheet tells you: "You're offline. This customer will sync to the server when connectivity returns." Until then the customer shows PENDING and has no rewards to spend.
Search first: the POS searches the on-device copy of your customer list even with no signal, and refuses to add a second record with a phone number or email it already has.
If the server still refuses an offline customer when it syncs, for example because someone else added the same phone number on another device:
- When the phone can tell which existing customer it is, it links the record to that customer, and the sales follow.
- Otherwise the customer shows NOT SAVED, and its sales move to Sync Failed with "Customer couldn't be saved: . Pick the customer again." Open the sale in the app's transaction history and pick the right customer. The sale then syncs normally.
What Kassly does not do here
- No merge. Two records for the same person stay two records.
- No VIP type. Use Regular and put "VIP" in the note.
- No address book fields beyond phone, email and notes — no birthday, no street address, no tags or segments on the profile itself.
- No marketing sends. Kassly does not email or text your customers.