Offline first

Most apps cache what you read. This one saves what you sell.

It sounds like a small distinction until the tower drops at 7pm on a Saturday. Here is the actual mechanism, and — the part nobody publishes — what happens when the count disagrees.

The one that matters

A sale is a write, not a request

An app that needs the network to record a sale has made the network part of your counter. Ours writes to the phone and posts afterwards, so the slowest thing in the shop is never the thing between the customer and the door.

Everything on this page is how the app behaves today, not a roadmap item.

The sequence

What happens when you tap done

  1. The sale is written to the phone

    Tapping done writes the bill to storage on the handset. That is the whole transaction — there is no request waiting on a reply, so there is nothing for a dead tower to refuse.

  2. The stock count moves immediately

    Two bottles sold means two off the shelf on this phone, right away. The next customer sees the right number whether or not anything has reached us.

  3. It joins a queue you can see

    A grey line under the status bar with a count: three bills saved, will send when online. Grey, not red — no signal at a market is normal, not an error, and an app that panics about it is describing the wrong problem.

  4. It sends itself when there is signal

    The queue drains in the background as soon as there is a network. Nothing is lost if the phone stays offline for days, and you can push it yourself if you would rather not wait.

An offline sale is never rejected when it reaches us. Not clamped, not reversed, not “resolved” — never rejected. The money already moved.

When it goes wrong

The awkward questions

These are on the page rather than behind a support ticket, including the two where the honest answer is a trade-off rather than a win.

What if I sold something I had already run out of?

This is the interesting case, and it is the one every app in this category handles badly. You were offline, the count on your phone said four, and something else had already taken the last two.

The sale stands. It always stands — money changed hands at a counter and no software gets to overrule that afterwards. The count stops at zero rather than going negative, the disagreement is recorded, and you get a prompt naming the item and asking you to recount it.

So the app never silently fixes anything?

Correct, and that is the design. The alternative — deciding which of the two numbers was right and moving on — means your books change and nothing tells you they did.

You find that out months later, if at all. A flag you can see today is worth more than a resolution you never learn about.

How long can I stay offline?

Indefinitely, as far as billing is concerned. The queue is on your phone and it has no expiry — a shop with no data pack for a week keeps selling and the whole week arrives when the pack is recharged.

The practical limit is your handset's storage, which for text-sized bills is a very long way away.

What if my phone breaks while bills are queued?

Anything already sent is safe and comes back when you sign in on a new handset. Anything still in the queue was only on that phone, so it is gone with it.

That is the honest trade of writing locally first, and it is worth knowing rather than discovering. If you have been offline for days and the phone is old, letting the queue drain is worth doing on purpose.

Does the printer work without a network?

Yes. A Bluetooth thermal printer pairs to the phone directly, so printing has nothing to do with the internet. Standard 2-inch and 3-inch ESC/POS printers, no drivers, no computer.

What about sending the bill on WhatsApp?

That one needs a network, because WhatsApp does. The bill itself is already saved, so you can send it later from the bill's own screen once there is signal.

The exceptions

What still needs a signal

Four things, and none of them is billing. Listed because a page claiming everything works offline is a page that gets caught the first week.

Signing in
The code arrives by SMS, so first sign-in needs a signal. After that the session lasts and the app opens offline.
Changing a price
The permission that gates a price edit is checked on the server, deliberately — a permission a phone could grant itself is not a permission.
Sending anything to anyone
WhatsApp bills and udhaar reminders travel over WhatsApp. Saved offline, sent when there is signal.
Your public shop page
It is a web page, so it is served from our side. The shelf it shows is whatever last reached us.

Try it with the phone in flight mode

It is the first thing we suggest to a pilot shop. Turn the network off and make three bills — then turn it back on and watch the queue drain.