
Raut runs the whole trade operation — customers, stock, invoices and collections — and puts an offline-first Android app in the hands of the reps who work where the network does not.
Tari Africa Platforms Limited · Nairobi

Every write lands in the device's own store and an outbox in the same action. The UI never waits on the network.
Check-ins are tested against the customer's geofence by the server, and the result is written by the check-in path — never by the client.
Every row carries its company, and that scope comes from the signed-in session rather than anything the client sends.
The field app
Every image below is a screenshot of the app running against a live platform — not a mockup.

The day, in order
Stops arrive in the order the optimiser set — nearest-neighbour with a 2-opt pass, distances estimated at 1.35× crow-flight so the ETA is honest. The app never re-sorts them; a route that reshuffles under a rep as they drive is worse than a suboptimal one they can trust.

At the counter
Check-in captures GPS and verifies it against the customer's geofence, showing the distance plainly. The balance and credit limit are on screen before the rep writes an order, and overdue invoices are right there — so the collection conversation happens while they are standing in the shop.

The whole book, offline
The customer book lives on the device. Search by name, code, phone or town in a basement with no bars. New shops can be added in the field and come back with a real customer code once they sync.

Their numbers, not yours
Visits done, GPS-verified check-ins, orders written and cash collected. The sync panel says plainly whether the office has everything yet — which is the question reps actually care about at the end of a shift.

Nothing hidden
The sync queue shows exactly what is still waiting to reach the office. Expense claims — fuel, airtime, travel — are captured in the field and flow to Finance. Location tracking is opt-in and labelled when it is off.
Licensed per company
The core — companies, branches, users, roles and audit — is always included. Each module is licensed separately and enforced at runtime, so a distributor can buy selling without buying the ledger.