Operations

Offline POS: how to keep selling when the internet goes down

Load shedding, dead routers and fibre cuts cost shops real sales. A practical look at how an offline POS till caches stock, queues receipts with provisional numbers, and syncs without corrupting your books.

CountOS Offline POS completing a sale while the connection is down, with the offline pill showing and three sales queued in the outbox
The CountOS offline till mid-sale: catalog and prices are already on the device, so the counter never waits for a server.

Ask a shop owner in Pakistan what happens at 8pm when the fibre line drops and the answer is rarely “we stop billing”. The counter keeps going — on a notepad. The customer leaves with the goods, the price comes from memory, and the day’s takings get typed into the software tomorrow, if at all.

That gap is where inventory software quietly loses its value. An offline POS only helps if the sales it captured offline arrive in the same books as everything else. This guide covers what “offline” has to mean for that to hold, and the specific failure modes to test before you buy.

What an outage actually costs

It is tempting to treat outages as rare. In practice they are routine:

  • Load shedding that takes the router down with the lights.
  • A snapped fibre or DSL line that nobody fixes until Monday.
  • A mobile hotspot that works for one till and not the second one.
  • A hosting incident on the vendor’s side, with your counter waiting on someone else’s outage page.

The cost is not only the sales lost at the counter — it is the reconciliation afterwards. Handwritten slips have to be re-entered, prices are remembered wrong, credit customers get missed, and stock drifts from the register. A month of that and staff stop trusting the software.

What “offline” has to mean to be safe

A screen that keeps accepting keystrokes is not an offline POS. For the numbers to survive, the till must own five things locally:

  1. The catalog — products, SKU, barcode, retail and wholesale price, tax rate. Without it, cashiers guess.
  2. A stock estimate — not the authority, but enough to warn about an oversell.
  3. Customers and cash accounts — so credit sales are attributed to a real party and cash lands in a real account.
  4. A durable outbox — sales written to storage that survives a browser restart, a power cut, and a closed tab.
  5. Provisional numbering — a slip number the till can print immediately, later reconciled to the server’s invoice number.
CountOS offline till connect screen where a cashier signs in once, names the till and downloads the catalog
Connecting a till is a one-time online step: sign in, name the device, download the catalog, install it to the home screen.

How the CountOS offline till works

CountOS ships the till as an installable web app — a progressive web app — rather than a separate desktop program or app store download:

  1. Connect once, while online. A user holding the pos.offline permission signs in on the counter device, names the till (“Counter 1”), picks the branch, and downloads the catalog. The till receives a device token.
  2. Install it as an icon. From the browser, the counter device installs the till to its home screen. After that it opens with no connection at all.
  3. Sell with the network down. Barcode scan, search, cart, item or bill discount, retail or wholesale pricing, cash, partial or credit payment — and the receipt prints with a provisional slip number.
  4. Sync when it returns. The outbox pushes automatically, or staff press Sync now. The server assigns real invoice numbers and posts stock, COGS, cash and the customer balance.

Because a synced offline sale goes through the same posting engine as an online sale, it is not a “special” transaction. It appears in sales, profit, cash-collected and outstanding reports exactly like a sale taken online.

Offline selling versus what happens on sync

At the counter Offline on the till Once synced
Price lookup From the downloaded catalog and price list Re-validated against the live catalog
Receipt number Provisional slip number Real invoice number assigned by the server
Stock Local estimate; oversells are warned, not blocked Authoritative stock movement and COGS posted
Credit sale Stored against the named customer Receivable recalculated from the posted invoice
Cash Payment mode and amount stored with the slip Cash account updated; cashbook updated
Oversold line Sale completes — the customer has the goods Accepted and flagged for manager review

That last row is deliberate. Refusing an offline sale because a local estimate says zero stock punishes the customer for your data problem. CountOS accepts the sale and raises it for review instead, so a manager corrects the count or the price rather than a cashier arguing at the counter.

CountOS offline till outbox listing sales waiting to sync, sales already synced, and a sale rejected by the server with its reason
The outbox is visible to staff: what is waiting, what has synced, and what the server rejected with a reason.

Failure modes to test before you buy an offline POS

Most “offline POS” claims fall over on the same handful of details. Put these in your demo checklist:

1. Does it survive a restart?

Ring up an offline sale, close the browser completely, and reopen it. The queued sale must still be there. A till that keeps the outbox in memory loses the day when the power blinks.

2. Does it print?

An offline sale is worthless if the customer cannot get a receipt. Check that the printer, the layout, and the provisional slip number all work with the network cable unplugged.

3. Can a cashier sell on credit offline?

In most wholesale trades the credit sale is the normal sale. If offline mode only supports walk-in cash, it will not be used during the exact hours it matters.

4. What happens to a rejected sale?

Products get deactivated, prices change, a customer is deleted. A good till shows the reason a slip was rejected and offers retry or archive — not a silent disappearance.

5. Can you kill a lost till?

Ask to see the device list. You should be able to revoke a specific till so a stolen tablet stops pushing sales to your books immediately. In CountOS this lives on the POS Devices screen, and registering a till requires the pos.offline permission in the first place.

6. Does it work for more than one branch?

Each till should be pointed at a branch and pull that branch’s stock. A till that syncs to the wrong branch creates stock disputes you cannot unwind.

Offline stock counts close the loop

Outages are also a good time to count. Counting on a tablet with no signal means the count sheet is held on the device and posted as a variance adjustment when the till reconnects — rather than a paper list that gets typed in weeks later, or never.

CountOS offline stock count screen comparing system quantity against physically counted quantity on a tablet
Offline stock count: system quantity next to the counted quantity, queued for posting on the next sync.

When you do not need an offline till

Being honest about the limits saves everyone time. You can skip offline tills if:

  • Your counters never lose connectivity and you have redundant internet.
  • You run a single counter with a stable line and no credit sales.
  • You would rather keep a manual slip process for rare outages than manage device tokens.

For everyone else — multi-counter retail, wholesale with credit, and any shop that has watched a queue form while a router rebooted — an offline till is the difference between a bad hour and a bad month.

The short version

An offline POS is only as good as what it owns locally and how cleanly it hands those sales back. Look for a cached catalog, a durable outbox, printed provisional slips, credit support, a visible rejected list, and a way to revoke a device. Then test each one with the network actually turned off.

See how the CountOS offline till works, including the screens, or book a demo where we disconnect the till mid-sale and show you the sale arrive in the reports.

Related guides