Customer Profiles
Keeping a record of the people who buy from you — names, phones, purchase history — and when you need one at all.
6 min read · Updated 10 Sep 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 hidden and the POS refuses to create new customer records.
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 | Points 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
Sales → 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.
Adding a customer at the counter
Tap the customer button on the POS to open the Customer sheet. Type at least two characters to search by name or phone, or tap New Customer to create one. The counter form is shorter: name, phone, email, Customer Type and an optional photo taken with the camera.
A cashier can search for and create customers. Editing a profile, deleting one, and everything on the Customers page itself is owner and manager only.
The counter form shows a VIP chip that Kassly cannot store. The customer types Kassly actually keeps are the four below — there is no VIP. Pick VIP and the record is refused as an invalid type. If you were offline when you picked it, the record sits on the device and is refused again on every sync attempt. Use Regular and put "VIP" in the notes instead.
Customer types
| Type | What it does |
|---|---|
| Regular | The default. No special behaviour |
| Wholesale | A label for your own filtering and reporting |
| 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. Wholesale pricing is likewise chosen per line, not implied by the type; see Product pricing.
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 |
|---|---|
| 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.
Payment terms typed here are not saved. The box accepts a number and the page says "Customer updated", but the value is discarded — the customer's terms stay as they were. Aging on the Receivables page therefore counts from the date of the charge, not from a due date. 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.
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."
Do not create a second record for someone who is already in the system. If an offline record's phone or email matches a customer that already exists on the server, the sync is refused every time and the record never leaves the device. Worse, any sale attached to it is held back too, so it sits on Pending Sync indefinitely. Search first — the POS searches the on-device copy of your customer list even with no signal — and attach the existing customer rather than making a new one.
If a customer profile did get stuck this way, the sale can be repointed at the correct customer from the app's transaction history, but only once the sale itself has moved to Sync Failed. A held sale offers no such button.
What Kassly does not do here
- No customer import. There is no spreadsheet upload for customers. They are typed in, or created at the counter as people arrive.
- No merge. Two records for the same person stay two records.
- 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.