Skip to main content
Commerce

The hidden cost of a POS system that goes offline

Retail software is judged on its worst day, not its average one. What offline-first actually requires beyond a cached product list.

2 min read CodeCafe Admin

A retail client once described their previous point-of-sale system to us in a single sentence: "It works beautifully until the internet goes down, and then we write receipts on paper."

For eleven branches across a region with intermittent connectivity, that was not a minor inconvenience. It was several hours a month of untracked sales, unreconcilable stock, and staff losing trust in the system they were asked to use.

Offline-first is a data model decision

Most teams treat offline support as a caching problem — keep a copy of the product list, show it when the network drops. That gets you a browsable catalogue and nothing else. The moment a sale happens offline, you are no longer caching; you are accepting writes on a device that cannot see the rest of the system.

That changes the design. Every transaction needs a client-generated identifier so a retry cannot double-post it. Stock movements have to be modelled as deltas rather than absolute values, or two terminals selling the last unit will overwrite each other's arithmetic. And you need an explicit answer for the case where they do.

Deciding what happens when two branches disagree

Our rule is that conflicts are a business question before they are a technical one. We sat with the operations team and worked through the actual cases:

  • Two terminals sell the same last unit → both sales stand, stock goes negative, and the discrepancy surfaces on the shift report for a human to resolve.
  • A price changes centrally while a terminal is offline → the offline price is honoured for that sale, and the report flags it.
  • A refund is processed offline against a sale that was later voided → the refund queues for approval rather than completing automatically.

None of those are the "correct" answer in an abstract sense. They are the answers this business wanted, and writing them down made the software predictable.

What it bought them

Reconciliation went from roughly four days a month to about an hour. That was the headline number, but the change the branch managers mentioned was smaller and more telling: they stopped keeping a paper backup.

A system is trusted when people stop hedging against it.

Chat with us