KAROBAR · PROBLEM SOLVED · OCTOBER 2026
A queue at the counter does not wait for the internet to return. In a shop, “you are offline” is not an acceptable message. This is the problem that took the most thought in Karobar, and it applies to any small business with unreliable connections, in any country.
Billing and shop software requested by a restaurant owner in Melbourne, tested first with Pakistani shops, and now growing into an international SaaS product for Australia and Europe.
Karobar keeps a copy of the shop on the device, so bills, stock and payments keep working when the internet drops, and sync when it returns. The trick is making a repeated sync harmless, so nothing is lost or counted twice.
Our first version, in mid-October, had an outbox for offline sales and saved drafts. It handled short cuts, but it did not go far enough. While offline, staff also need to find products, see a customer’s balance and take a payment. So later in the month, the device got its own copy of the shop, and almost every action now works on that copy first.
Sync is two separate problems, and each has one simple rule:
A record saved at the exact moment of a sync can fall between two fetches and be missed forever. So every fetch overlaps the last one by two minutes. That only works because applying the same record twice changes nothing. Once that is true, “fetch a little too much” is a cheap way to buy safety.
A busy shop produces many bills, and phones are small. The owner chooses to keep 6 or 12 months on the device, and older bills, payments and daily totals are dropped locally while staying safe on the server. Bills also come down in smaller pages than other records, because they carry their lines, payments and returns, and a slow connection should never cause a timeout.
Make repeating an operation harmless first. After that, most sync problems can be solved by simply trying again.