PultrackBlog
EN
What Happens When Two Cashiers Sell the Same Last Item Offline?

What Happens When Two Cashiers Sell the Same Last Item Offline?

TL;DRA single widely-shared write-up on offline-first POS design has been making the rounds, describing local-first storage, queued sync, and conflict handling as the default architecture rather than an emergency fallback. That's one useful account, not proof of an industry-wide wave — so we treat it as a starting point, not a survey. We use it to walk through a real question small shop owners ask us: what actually happens when two devices sell the same stock, or record different prices, while offline?

We build Pultrack, a point-of-sale and inventory app for small retailers who deal with unreliable internet and, often, two currencies in the same till. So when a post about offline-first POS architecture circulates and gets read as "the industry has changed," we want to slow down and check what's actually being claimed, versus what's being extrapolated.

The honest starting point: the piece we're citing here is a single community-style write-up on offline-first POS systems [1]. It's a reasonable, plausible account of how local-first storage, queued sync, and conflict handling can work in a POS. It is not a market survey, not a peer-reviewed benchmark, and not evidence that every vendor has rebuilt their architecture this way. We're citing it as one informed perspective worth engaging with, not as proof of a sweeping trend. Where we go further into specifics — like what actually happens when two registers try to sell the same item at once — that's our own operational reasoning from watching small shops run day to day, not something we're attributing to any source.

What does "offline-first" actually claim to solve?

The core idea in the source is straightforward: instead of treating "no internet" as an error state, the system treats the local device as the primary place where a sale happens, and treats syncing to a central server as something that happens later, whenever a connection is available [1]. Checkout, receipt printing, and stock deduction all happen against local data first. The claim is that this removes the single biggest failure mode small shops report — a register that simply stops working because a network call didn't return.

That's a sensible design goal, and it matches what shop owners tell us they want: a till that keeps ringing up sales during a mobile outage, a power flicker, or a slow rural connection, without staff needing to understand why.

So what actually happens when two people sell the last item?

This is the scenario shop owners with more than one register or device ask about most, and it's worth being precise about what "offline-first" does and doesn't promise here.

  • Two devices, one stockroom. If a shop has two tills or a till plus a tablet for a second counter, and both are offline at the same time, both devices only know what they last synced. If there's one unit of a product left, and both devices sell it within the same offline window, both sales will look valid locally — because neither device has any way of knowing what the other just did.
  • The reconciliation problem is real, not hypothetical. When connectivity returns, the system has to decide what to do with two valid-looking sales against one unit of stock. There's no universally "correct" answer here — a system can flag the second sale for manual review, let it go through and push inventory negative, or apply a rule like first-timestamp-wins. Each choice has trade-offs, and which one a given product uses is an implementation decision, not something we can generalize from one source.
  • Price and currency add another layer. In shops that price in more than one currency, a sale recorded offline may have used an exchange rate that was current when the device last synced, while a second device — synced at a different time — may have a slightly different rate cached. Reconciling two sales isn't just "who gets the stock," it's also "which rate was actually valid when the sale happened."

None of this means offline-first is broken as an approach — it means the sync and conflict layer is doing real work, and shop owners are right to ask vendors specifically how disputes get resolved, rather than assuming "it syncs" is a complete answer.

Is this actually new, or just newly marketed?

We'd be cautious about calling this a fresh shift. Small shops in areas with patchy connectivity have needed some version of "keep the till working, sort it out later" for as long as POS software has existed there. What may be changing is how explicitly vendors describe this as core architecture rather than a workaround — the source frames local-first storage and queued sync as "the default model, not an emergency mode" [1]. Whether that reflects a genuine shift in how systems are built, or a shift in how they're described to buyers, isn't something a single write-up can settle.

What should a shop owner actually ask before trusting "offline mode"?

  • What happens if the same item is sold on two devices before either syncs — is there a conflict rule, and can I see it in plain language?
  • Does offline mode cover card or mobile-money payment authorization, or only order capture and stock logging? These are frequently different things, and payment settlement usually still depends on the processor and a later connection.
  • If my shop prices in two currencies, which exchange rate gets recorded at the moment of an offline sale, and is that locked in, or can it be silently updated later during sync?
  • When a conflict is detected, does staff get a clear flag to review, or does the system just pick a winner silently?
  • Can I see a log of what changed during a sync, so a shift handover or count doesn't get overwritten without a trace?

Where does this leave small shop owners?

We think the useful takeaway isn't "offline-first is now standard" — it's that the interesting engineering, and the interesting risk, has moved from "does it work without internet" to "what happens when two offline realities have to be merged into one." That's the part worth asking about directly, because it's the part that actually determines whether a stock count or a day's till total can be trusted after a rough connectivity day. We design Pultrack around exactly this kind of multi-device, dual-currency reconciliation, because we've watched enough real end-of-day counts go wrong to know that "it syncs eventually" isn't a full answer — but that's our design choice, not a claim that any particular competitor gets it wrong.

FAQ

Does offline-first POS mean my shop never needs internet?

No. Offline-first means core functions like checkout, receipt printing, and stock logging can keep running without a live connection, but most systems still need periodic connectivity to sync data between devices, back up records, and in many cases to actually authorize card or mobile-money payments.

What happens if two tills sell the last unit of a product while both are offline?

Both sales will typically look valid on their own device, since neither has real-time visibility into the other's activity. When the devices reconnect, the system has to apply some conflict rule — flag for review, let both through and go negative, or prioritize by timestamp. Ask any vendor specifically how this is handled before assuming it's automatic and correct.

Is 'offline-first' architecture actually new?

The underlying need — keep selling during outages — isn't new for shops in low-connectivity areas. What's shifting, based on a single write-up we reviewed, is that some vendors now describe local-first storage and queued sync as core architecture rather than a backup feature. That's a framing observation, not confirmation of a broad industry-wide redesign.

Does offline mode cover card payments too?

Usually not fully. Order capture and stock records can typically be handled locally, but card or network-dependent payment authorization generally still depends on the payment processor and a live connection, with settlement happening once the device is back online.

How does dual-currency pricing complicate offline sync?

If a shop prices in two currencies, an offline sale gets recorded against whatever exchange rate the device last had cached. If two devices synced at different times, they may hold different rates, so reconciling sales after an outage isn't just about matching stock counts — it's also about deciding which rate was valid for each transaction.

Sources

Try Pultrack✈ Telegram