Built for A plant nursery in Sangli, Maharashtra (anonymous)
Monthly accounts used to take two to three dedicated days. They now close in under thirty minutes.
3 days → 30 minto close the month
70%less stock written off
25products with real profit figures
Bookkeeping time, per week
Paper and WhatsApp10hours
With the system1.25hours
8× less time than before
The problem, in their words
We run on paper and WhatsApp, and I cannot tell you what we actually made last month.
Three things were going wrong underneath that. Cash sales at the counter were never recorded as payments, so the business consistently looked less profitable than it was. Stock was counted per tray in a notebook, so nobody could say what was actually sellable on a given day. And nothing connected seeds bought to plants sold, so the profit on each variety was a guess.
Off-the-shelf Indian accounting software does not solve this. Those systems count products on a shelf. A tray of seedlings is alive: it shrinks, it gets split, it moves between shade and open beds, and it has a shelf life measured in weeks.
How it works
A complete system for running the nursery, built around two ideas: stock that is alive, and books that balance themselves as a side effect of ordinary work.
Stack Node.js, PostgreSQL, React, Redis, Docker, Google Cloud, Razorpay.
The books cannot drift
Every sale, payment and expense writes its accounting entry at the same instant, enforced by the database itself rather than by code someone might forget to call. It is not possible to record money that never reaches the ledger. That one rule is what fixed the original complaint.
Stock is tracked as living batches
Each tray carries a QR code and its own history: where it is, how many survived, when it was split. Scan it to move it. This is the part no off-the-shelf system does, and it is the reason the numbers can be trusted.
Seeds are linked to sales
Because every tray traces back to the seed it came from, the nursery can finally see what each variety actually earns. Before this, that number did not exist for any product. It is now the number that decides what gets planted next season.
It went live early and stayed live
The system started being used before it was finished, and 73 rounds of changes shipped without ever taking it offline. There was never a day the nursery could not sell.
What shipped
Inventory: products, batches and QR-tagged trays, with scan-to-move and full traceability.
Orders: a full order builder, plus a one-screen Quick Counter Sale for walk-in customers.
Payments: cash, UPI, card, bank and credit, including part payments and split payments.
Accounting: expenses, cash book, bank ledgers, profit and loss, invoices and bills.
Payroll: salaried and daily-wage staff, attendance-driven wages, advances recovered automatically.
Deliveries: drivers, vehicles, routes and live tracking.
Reports: sales, stock, and Variety 360, which follows a variety from seed bought to revenue earned.
The outcome
Monthly accounts used to take two to three dedicated days. They now close in under thirty minutes.
The everyday bookkeeping moved with it. The manager and accounts staff spent around ten hours a week on manual books and now spend ten to fifteen minutes a day, because the ledgers reconcile themselves as a by-product of ordinary work instead of as a monthly exercise.
Two results the owner cares about more than the hours. Unsellable stock written off is down 70%, because the team now knows what is sellable and when, rather than finding out after it has aged out. And profit per variety exists at all, across 25 products carrying four to five varieties each.
Building something like this?
We take on a small number of clients at a time and work directly with them. Tell us what is slow, manual or messy, and we will tell you honestly whether we can help.