Internet in Nepal is better than it was, but it is not everywhere and it is not always. A mobile data pack runs out in the middle of the day. A router loses power. A shop in a concrete building has one bar near the counter. None of these should stop a sale or leave the day's record incomplete.
The practical answer is local-first software. The app saves each entry on the phone or computer in front of you, then syncs when a connection is available. If the connection never comes, the record is still there.
What local-first actually means
Many apps look offline-friendly because they open without a connection. That is not the same thing. Ask what happens when you press save:
- Cloud-first: the app sends the entry to a server. If the request fails, the entry may be lost or stuck.
- Local-first: the app writes to the device first. The server copy is a backup that catches up later.
For a shop, local-first is the difference between recording a sale during a power cut and writing it on a piece of paper to enter later. Paper works, but it creates a second list to reconcile.
Check the app without switching off your data
Before you rely on any billing app, test it in airplane mode:
- Put the phone in airplane mode.
- Add a sale, a credit entry and an expense.
- Close the app completely and open it again.
- Check that all three entries are still there.
- Turn data back on and see whether the entries sync without duplicates.
This test tells you more than a feature list. It also shows whether the app opens fast enough to use at a busy counter.
Decide what must work offline
Not every feature has to work without internet. For most small shops, the essential list is short:
- Recording a cash sale.
- Recording a customer credit sale and payment.
- Recording an expense.
- Checking a customer balance.
- Seeing the day's cash total.
Reports, cloud backup and account login can wait for a connection. The counter work cannot.
Handle sync carefully
Sync is where offline records can go wrong. Look for a clear status: saved on this phone, waiting to sync, or synced. If two devices record the same customer payment, the app should not silently add both. The entry should have an identifier and the server should reject a duplicate.
Keep one phone as the main billing device if you can. Two people recording the same customer at the same time is possible, but it needs a clear process. A single main device avoids most conflicts.
Offline is not a backup feature. It is the normal way the shop works. Sync is the extra step when a connection appears.
Protect the data on the phone
Local-first has one responsibility that cloud-first hides: the device now holds the main copy. A few habits protect it:
- Set a screen lock and a PIN on the billing app if it offers one.
- Export a backup file regularly and keep it somewhere else.
- Do not clear browser storage or app data without a backup.
- When changing phones, sync or export first, then move.
What to ask before choosing
When comparing offline billing apps for a shop in Nepal, ask four direct questions:
- Where is the entry saved at the moment I press save?
- Can I record a sale with no internet and no mobile data?
- How do I know whether the entry has synced?
- Can I export my records if I stop using the app?
If the answers are vague, keep testing. A billing system should be boring in the best way: it records the sale, keeps the balance and does not need a signal to do it.
NanoKhata is built local-first. Sales, credit and delivery entries save on the phone, and sync when the connection returns. It works in Nepali and English, and you can start free.