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

Remember your regulars · 0:39 · Watch on YouTube
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
Email 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.