The problem
A water plant is owed two things: money and bottles. One notebook cannot hold both, so month end becomes an argument about empties nobody can settle. Groups with more than one plant get three of everything.
What we shipped
- Two running balances per customer, cash and bottles, each carried forward from the opening figure the plant already had
- An offline-first driver app: deliveries recorded with no signal queue on the phone and sync themselves later
- Proof of delivery as a finger signature on the driver's screen, attached to the delivery
- Multi-tenant structure with four roles (super admin, manager, driver, customer) and one tenant per plant
- Digital payments (Easypaisa, JazzCash, bank transfer) submitted with a reference ID and held pending until a manager verifies them, so the ledger only moves on confirmed money
- A per-customer debt limit, Rs 5,000 for a household and Rs 25,000 for a corporate account by default, that stops the next order rather than the next argument
- Cost of goods, expenses, assets and written-off bottles in one financial view, with a six-month profit trend across every plant
- English, Urdu and Roman Urdu throughout, switched per person
- Rolling backups to the plant's own Google Drive: one monthly, one weekly, three daily
Result
Live on Google Play and in production across multiple plants. Bringing a plant on means loading its existing customer book with current cash and bottle balances as opening figures, so the ledger is right from the first delivery.