Offline Mode

SalesHQ POS includes a built-in offline mode that keeps your point of sale running even when the internet goes down. Sales are saved directly on your device and automatically uploaded to the server the moment your connection returns — with no data loss and no duplicate entries.

No extra setup required. Offline mode activates automatically whenever your connection drops. You don't need to enable anything or press any buttons.

How It Works

The first time you open the POS screen while connected to the internet, SalesHQ POS quietly saves your product catalogue, customer list, and pricing to your browser in the background. This happens without slowing down the POS — it waits until the browser is idle so it never interrupts your work.

When your internet drops:

  1. Detection (within 3 seconds) — The system detects the lost connection and displays an offline banner at the top of the screen
  2. Automatic switch — The POS switches to offline mode, loading your products and customers from the local cache
  3. Normal selling — You continue processing sales exactly as you would online — search, add to cart, apply discounts, collect payment
  4. Local save — Each completed sale is saved on your device and gets a temporary reference number (e.g. OFF-20260223-0001)
  5. Receipt printing — A receipt prints immediately, clearly marked as an Offline Sale – Pending Sync
  6. Auto-sync on reconnect — The moment internet returns, all pending sales are uploaded automatically and assigned permanent sale numbers

What Works in Offline Mode

  • Processing new sales with cash or mobile money payment
  • Searching and browsing your full product catalogue
  • Applying discounts at item or order level
  • Customer-specific pricing (price lists cached from last sync)
  • Bulk pricing tiers (quantity-based discounts)
  • Printing receipts immediately after each sale
  • Viewing real-time stock counts (as of the last sync)
  • Processing multiple consecutive sales without reconnecting

What Requires Internet

Some features need a live connection and are not available when offline:

  • Credit sales — Credit account balances must be verified on the server
  • Real-time stock from other terminals — If another cashier sold something while you were offline, the stock counts you see are from your last sync
  • New customer creation — Creating customer profiles requires connectivity
  • Adding new products — New products added after your last sync won't appear until you reconnect
  • Reports — All reports require the full server database
  • Price changes — Price updates made while you are offline will not apply until the next sync

Tracking Pending Sales

While offline, a yellow banner at the top of the screen shows how many sales are waiting to sync:

  • The banner reads OFFLINE MODE and shows a pending sale count (e.g. 3 pending)
  • Each sale is assigned a temporary reference like OFF-20260223-0001 — this is a local number only
  • When internet returns, the banner turns green (BACK ONLINE — Syncing…) while the upload happens
  • After syncing, each sale is given a permanent sale number from the server

How Syncing Works

Syncing happens automatically — you don't need to do anything. Here's what occurs when your connection returns:

  1. The system detects the restored connection (usually within 30 seconds)
  2. All pending offline sales are uploaded to the server in one batch
  3. The server validates each sale (checks stock, product availability)
  4. Each validated sale is recorded with a permanent sale number and stock is deducted
  5. Your local product catalogue and customer list are refreshed with the latest data from the server
  6. You receive a confirmation toast message (e.g. "3 sales synced successfully")

You can also trigger a manual sync at any time by clicking the Go Online button in the top-right corner of the offline page. This syncs all pending sales and then takes you back to the full online POS.

Handling Failed Sales

Occasionally a sale may fail to sync. This usually happens when:

  • A product was deleted or deactivated on the server while you were offline
  • Another terminal sold the last unit of a stock-tracked item before your sync reached the server

When a sale fails to sync, a red N Failed button appears in the top-right corner. Clicking it opens the Failed Sales drawer, which shows each failed sale along with the specific error. From there you can:

  • Click Retry on an individual sale to attempt it again
  • Click Retry All Failed to retry everything at once
  • Contact your manager or support if the error cannot be resolved
Important: Failed sales are never lost. They remain stored on your device until they are successfully synced or manually reviewed. The system will never create a duplicate sale — it uses a unique ID for every offline transaction.

First-Time Setup

The first time a cashier uses the POS, the system needs to download the product data while online. This only happens once:

  1. Log in to SalesHQ POS
  2. Open the POS screen
  3. Wait about 20–30 seconds — the system downloads and saves your data in the background
  4. You're ready. Offline mode will work automatically from this point on

Every time you open the POS while online, the cached data is refreshed in the background so it stays current.

Best Practices

  • Open the POS when you arrive — Starting your shift by opening the POS while connected ensures your product data is fully up to date before any outage
  • Check the sync banner after reconnecting — Confirm the pending count reaches zero before closing the browser or logging out
  • Don't clear your browser data during a shift — Offline data is stored in the browser. Clearing cache or site data will erase any unsynced sales
  • Use the same device and browser — Offline sales are device-specific. A sale made offline on one device cannot be seen on another device until it syncs
  • Communicate price changes — If you update prices while a terminal is offline, notify the cashier so they are aware the new prices will only apply after reconnection
  • Keep the browser tab open — Closing the POS tab while offline does not delete pending sales — they are still stored in the browser. But keeping the tab open means sync happens the instant connectivity returns

Troubleshooting

Products are not appearing on the offline page

Your product data has not been downloaded yet, or it was downloaded on a different device or browser. Open the POS screen while connected to the internet, wait 20–30 seconds, then try going offline again. If products still don't appear, contact your system administrator.

Sales are not syncing after reconnecting

Check the yellow banner — if it still shows pending sales after a minute, try clicking Go Online button in the top-right corner of the offline page. If the sync still fails, you may need to refresh the POS page (your pending sales are not lost — they remain on your device).

A sale shows as "Failed" in the Failed Sales drawer

Read the error message shown under the sale. Common reasons:

  • "Product no longer exists" — the item was deleted. Contact your manager
  • "Only X available" — another terminal sold the stock first. Try reducing the quantity and retrying

If you cannot resolve the error, contact support with the sale reference number (e.g. OFF-20260223-0001).

I see "This site can't be reached" on the offline page

The offline page was not saved to your device before the internet dropped. This can happen on the very first use or if your browser data was recently cleared. To prevent this, always open the POS page while connected at the start of each shift.

The sale number on the receipt looks different

Offline receipts show a temporary reference number starting with OFF- (e.g. OFF-20260223-0001). After syncing, the sale is assigned a permanent number (e.g. SL-240001). Both numbers refer to the same transaction. The permanent number appears in your Sales list once synced.

I cleared my browser data and lost pending offline sales

Clearing browser data (cookies, cache, site data) removes IndexedDB, which is where offline sales are stored. Always sync all pending sales before clearing browser data. If sales were lost this way, they cannot be recovered from the device — you will need to re-enter them manually or contact support.

Chat with us