Making a Sale

Ringing up a sale from the first item to the receipt — quantities, line edits, notes, and what happens when you finish.

8 min read · Updated 10 Sep 2026

On this page

A sale is: put items in the cart, take the money, hand over the receipt. This page walks the whole thing and covers the fiddly bits in the middle.

If you have not used the screen before, read The POS screen first.

The short version

  1. Add items — tap, scan, or search.
  2. Adjust quantities and lines as needed.
  3. Attach a customer, if you want the sale on their record.
  4. Tap Checkout.
  5. Take payment.
  6. Print the receipt, then tap New Transaction.

Adding items

Tap a tile, scan a barcode, or search and tap. Each tap adds one.

Some items ask a question first:

Item What you get
A product with variants Select Variant — pick the size, colour or flavour
A product with modifiers Choose your options — required groups are marked Required
A membership plan A check that the customer does not already hold one
A service Straight into the cart

Modifier groups can insist on a choice. If they do, you cannot confirm without one: "Please select an option", or "Please select at least 2 options". The modifier sheet shows the running Extras total and confirms with Add to Cart.

A membership plan cannot be sold without a customer attached. Kassly blocks it, and this is on purpose — without a customer there is nobody to issue the membership to, so you would take the money and the customer would leave with nothing. Attach the customer first. See Memberships.

Quantities

The − and + buttons on each cart line are the everyday way. The limit on one line is 999.

If you sell by weight or by the handful, turn on Quantity prompt on scan in Settings. Every scan or tap then opens a keypad showing the item name, "₱35.00 each · 42 in stock", and the running line total. Type the count and tap Add to cart — or just scan the next item, which rings the current one as 1 and opens a fresh prompt.

+ checks stock first. If there is not enough you get "Only 4 in stock" and the quantity does not move. An item at zero cannot be added at all.

Stock figures can be behind. Offline, the app uses the last catalogue it synced, and says so — "Stock may be 40m out of date". A sale is never blocked by a stale number; the count is corrected on the next sync.

Editing a line

Tap the line. One dialog holds everything:

Price. One tap for Retail or Wholesale, or type a custom unit price into the ₱ field. The line then carries a CUSTOM badge. A custom price is only offered on products set up to allow it — see Product pricing.

Modifiers. The current selections, and Edit modifiers to change them.

Note for kitchen. Up to 500 characters — "e.g. No ice, extra hot, allergy: peanuts". The note prints on the receipt under its line, prefixed with *, and shows on the Kitchen Display.

Partner. The staff member credited with the line, and a commission override if you need one. See Commissions.

Remove from cart. Or swipe the line left and tap the red bin.

Editing a line that has already gone to the kitchen is limited, and the dialog says so — "Already sent to kitchen — limited edits." Saving a note on a sent line needs a connection; offline you get "Note saved locally, but the kitchen display won't update until you're back online."

Removing a sent line asks first — "Remove Item" / "Remove Iced Latte?"

There is no order-wide notes box. Notes go on individual lines. The sale's own notes field is filled in by Kassly — with the senior citizen or PWD ID you entered, and with any promo code applied.

Custom and open-price items

You cannot type in a brand-new item and name it on the app. What you can do is override the price of something already in your catalogue — either from the line editor, or from Custom Price on the variant picker.

The practical answer for one-off sales is a catalogue product called something like "Other" or "Miscellaneous", set to allow a custom price. See Adding products.

Attaching a customer

Tap + Customer, search, and select. The button changes to Customer ✓, and a strip appears showing who is attached.

Attaching a customer is what makes the sale part of their history, feeds loyalty points, allows charging to their account, and applies wholesale pricing where the customer is on that tier. It also auto-applies the senior citizen or PWD discount when their record says they qualify.

Needs the Customer Memory & Promos add-on (₱300 per branch each month), or any bundle that includes it. Without it there is no + Customer button and sales are anonymous — which is fine for a store that does not track customers.

Order type, service charge and rush

The order-type chips under the cart totals record how the order is being fulfilled — Walk-in, Dine-in, Takeout, Delivery, or Appointment, depending on your business type.

If your store charges a service charge, its toggle sits at the top of the totals block — SC 10%, or Service Charge for a flat amount. It arms itself when the first item goes into an empty cart, and you can flip it off for one sale without changing the setting. Set the rate in Settings → Service Charge.

Rush is in the checkout screen. Turning it on flags the order for the kitchen; it does not change the price.

Dine-in: sending to the kitchen

With a table attached, Send Order posts the order to the kitchen and marks the table occupied. If items have already been sent, the button becomes Update Order and only the new items go through.

The order stays open on the table until it is paid. To add to it, come back from the Tables screen and the tab loads into the cart.

Sending needs a connection — "Cannot send dine-in orders while offline. Kitchen Display requires an active connection." Selling offline still works; it is the kitchen screen that needs the network. See Kitchen display.

Taking payment

Checkout opens the payment screen. Everything about tenders, split payments and change is in Payments; everything about discounts is in Discounts.

You cannot complete a sale for less than its total. If the tenders do not cover it you get "Payment does not cover the total" — "Collected ₱569.80 of ₱753.20 — ₱183.40 short. Add the remaining payment before completing the sale." Nothing is saved and the cart is untouched, so you can just add the rest.

This is a deliberate refusal, not a bug. A sale that reaches the server underpaid can never be completed there: it has no receipt number, no stock movement, and appears in no report. Better to be stopped at the counter.

What finishing a sale does

The moment a sale completes:

  • It gets its receipt number from the terminal's series — see Receipts.
  • Stock is deducted for every tracked product, including stock behind modifiers and behind recipes. See Stock levels.
  • Commissions are recorded for any line with a staff member on it.
  • Loyalty points are awarded to the attached customer.
  • Any promo code used counts one redemption against its limit.
  • The sale joins your reports, your shift totals, and your books.

Then the receipt screen opens with Print Customer Copy, Print Store Copy, and New Transaction.

Selling offline

Sales rung offline are saved on the device and sent up when the connection comes back, keeping the day they were actually made rather than the day they synced. The sync indicator in the top bar shows how many are waiting.

Two things need a connection at the moment of sale: charging to a customer's account, and applying a promo code. Both say so.

Offline sales go up in batches of up to 100. See What works offline.

Orders taken away from the till

If you run a second device as an order pad, someone can build an order there and a cashier settles it later. The order-taker types the Queue number from the customer's paper ticket so the cashier can find it.

The order arrives on the cashier's Pending Orders screen with no receipt number — it is not a sale yet. The cashier searches for it, opens it, and takes payment; the receipt number is issued then.

Two things to know. If two cashiers open the same order, only the first one to finish can take payment — the second is told the order is no longer pending. And the sale stays credited to the person who took the order, not the person who settled it, so it appears in the order-taker's figures rather than the cashier's.