What Works Offline

Every feature, in three columns — works normally, shows you stale cached data, or is blocked until you reconnect — plus the handful of places where an offline action is silently lost.

9 min read · Updated 10 Sep 2026

On this page

This is the reference page. It covers the Kassly app on a phone or tablet; the web dashboard needs a connection for everything.

How to read this page

Every row carries one of three verdicts.

Verdict Means
Works Fully usable. What you do is saved on the device and sent up when the connection returns
Cached The screen opens but shows data from the last sync. It may be out of date, and some actions on it are disabled
Blocked Kassly refuses and tells you why. Nothing is lost, but nothing happens either

Where Kassly shows a specific message, it is quoted so you can match what is on your screen.

Selling

Feature Verdict Detail
Search, scan and add to cart Works From the local catalogue and barcodes
Ringing up and completing a sale Works Banner reads "You're offline — transactions will sync when reconnected"
Receipt number Works From the till's pre-allocated block. Falls back to an OFL- number if the device was never paired
Overselling Blocked Checked against the local stock copy, same as online
Manual discounts Works Calculated on the device
Senior citizen and PWD discounts Works Recomputed by the server when the sale lands
Promo codes Blocked "Promo codes need a connection to verify — connect and try again."
Hold a cart Works "Cart held (offline) — syncs to other terminals when back online."
Recall a cart held on this device Works
Recall a cart held on another till Blocked It was never on this device. You get a generic "No internet connection."
Void a sale Blocked "Cannot void while offline." Manager approval by PIN still works, against the cached roster
Returns and refunds Blocked Not available in the app at all, online or offline. Void is the only reversal. See Returns and refunds
Printing a receipt for an offline sale Works Printed from local data, with your logo from cache
Reprinting a receipt for an already-synced sale Blocked Needs the server. Fails as "print failed, tap to retry" with no mention of being offline
Emailing or texting a receipt Blocked Does not exist in the app in any state. Print or show on screen
Customer display on a second screen Works Entirely local

See Making a sale and Hold and recall.

Payments

Tender Verdict
Cash Works
Card Works
GCash Works
Maya Works
Bank transfer Works
Cheque Works
Split across several tenders Works — unless one leg is Credit, which blocks the whole sale
Credit / charge to account Blocked — "Credit payments require an internet connection."

Credit is the only refused tender, and the reason is that the balance and the credit limit live on the server. Selling on account offline would mean guessing at both. The receivables screen is likewise blocked: "Reconnect to load balances and collect payments." See Payments.

Shifts and the cash drawer

Feature Verdict Detail
Open a shift Works "Shift Opened Offline" — "No connection right now — your shift is active on this device and will sync automatically when you are back online."
Cash In and Cash Out Works Confirmed as "Recorded Offline"
Close a shift Works "Closed offline — totals below are this device's records. The official Z-reading is generated when the close syncs."
X-reading during the shift Cached Computed on the device and labelled Offline estimate
Z-reading Blocked The numbered, sealed reading is generated server-side when the close syncs. No thermal print offline
Opening a shift with no branch on the device Blocked "Branch information is missing — reconnect to the internet so the app can restore your account, then try again."

The offline X-reading is a real calculation, not a placeholder. It folds in queued cash movements and account payments taken on this device. Two things it cannot do: it always shows returns as zero, and it omits the BIR fields that only a real Z-reading carries.

See Closing a shift and X and Z readings.

Customers, memberships and loyalty

Feature Verdict Detail
Search the customer list Cached As of the last sync
Add a new customer Works "You're offline. This customer will sync to the server when connectivity returns."
Edit a customer that has already synced Blocked
A customer's purchase history Blocked "Transaction history is unavailable offline."
Scan a member in Works Checked locally first
Record a member visit Works "Welcome, {name} (offline — will sync)"
Issue a membership at checkout Works
A visit the plan's rules refuse Blocked Expired or out-of-allowance visits surface as a policy error and are not queued

See Customer profiles.

Kitchen, tables and dine-in

Feature Verdict Detail
Kitchen Display Blocked Full-screen: "You're Offline" — "Kitchen Display requires an internet connection to stay in sync."
Sending a dine-in order to the kitchen Blocked "Cannot send dine-in orders while offline."
Order Mode (building a dine-in order) Cached "Offline — you can build the order, but sending needs a connection."
Editing a note on an item already sent Cached The note is kept locally, with a warning that the kitchen will not see it
The floor plan Cached Table statuses may be stale, and a table's current order will not open
Marking a table clean or occupied Cached See the warning below
Settling a dine-in tab Blocked
Queue / waitlist Blocked "You're offline. Queue updates require an internet connection."

See Kitchen display and Table management.

Appointments, rentals and job orders

Feature Verdict Detail
Today's agenda Cached
Create an appointment Works
Check a client in Works
Change an appointment's status Works
Cancel an appointment Works
Opening a tab from a booking Blocked "Connection required" — "Opening a tab needs internet. Connect and try again."
The rentals board Cached
Starting a rental meter Blocked "Starting a meter needs internet — the server stamps the start time. Connect and try again."
Stopping a rental meter Blocked Same reason
Taking in a job order Works "Job order saved offline. It will sync when the connection is back." Intake only — progressing a job needs a connection

A meter has to be stamped by the server because the elapsed time is what the customer is billed for, and a device clock can be wrong or changed. See Rentals.

Inventory

Feature Verdict Detail
Looking at stock levels Cached As of the last sync
Recipe availability Cached
Receiving stock Blocked "Receiving requires a connection."
Stock counts Blocked "Counts require a connection."
Stock adjustments and stock-in Blocked See the warning below — this one fails badly
Creating or editing a product Blocked See the warning below

See Receiving stock and Stock counts.

Staff and the time clock

Feature Verdict Detail
Time clock in station mode (shared device, staff enter a PIN) Works PIN checked against the cached roster, punch queued
Station mode on a device that has never synced Blocked "Staff list not synced yet. Connect to the internet once, then try again."
One-tap self punch (the older button on your own account) Blocked And the punch is lost — see the warning below
Timesheets and approvals Cached You can read them; the buttons are disabled

Reports

Feature Verdict Detail
Oversight dashboard Cached Headed "Showing cached snapshot as of …", with a (cached) label on the figures
Quick reports Cached The cards go blank rather than saying anything. See the warning below
Everything on the web dashboard Blocked The web app has no offline mode

Online orders

Feature Verdict
The online-order inbox Blocked — "Could not load online orders"
Accepting or rejecting an online order Blocked, and the action is lost — see below

Orders keep arriving on your storefront while you are offline; they are simply not visible until you reconnect. Nothing is lost on the customer's side. See Online orders.

Where an offline action is silently lost

Most blocked features tell you clearly. A short list does not, and in these cases the thing you did does not happen and is not queued. If your connection is unreliable, treat these as connection-only work.

These actions are lost if you make them offline. Kassly shows a generic error, or in some cases nothing at all, and there is no queue behind them:

  • Stock adjustments and stock-in. No warning about being offline, no queue — just a raw error. Your stock is not changed.
  • Creating or editing a product in the catalogue.
  • Accepting or rejecting an online order.
  • A one-tap self punch on the older time-clock button. Station mode queues correctly; this button does not, despite looking identical in use.
  • Marking a table's status — clean, occupied, free. The change sticks on the device and looks right, but it is never sent to the server, so other tills and the web floor plan never learn about it.
  • Opening the POS from a table link (a QR code or a deep link with a table on it) does nothing at all, with no message.
  • Quick reports on the oversight screen fail without saying so. The cards simply stay empty, which looks like "no sales" rather than "no connection".

The Queue for approval button that appears on some manager-approval prompts does nothing. Ignore it; get a manager to enter their PIN instead, which does work offline against the cached roster.

The pattern behind the list

Once you have read the table, the rule is easy to hold in your head.

Taking money works. Everything that has to agree with another device does not.

A sale is a self-contained fact — Kassly can record it and reconcile later. A kitchen ticket, a table status, a rental meter, a credit balance, a stock count and a queue position are all shared state: two devices editing them independently would produce two different truths, and Kassly refuses rather than guess which one wins.

The one thing to plan around is that stock and prices are frozen. If you are going to be offline for a stretch, sync first.

Next