A ₹60 crore business is being run out of one shared file
Everything on this page is counted from the Order-to-Despatch workbook and from your live customer, item and stock records. Nothing is illustrative.
It asks fifty people to be perfect, every day, forever
Nobody at Sunrise is doing anything wrong. This is what happens to every shared spreadsheet in every company once the volume gets real — and it is worth separating the two halves of the problem, because only one of them is about people.
The half that is about people Measured
| Where discipline gives way | In the file | Why it happens |
|---|---|---|
| The masters go stale | 50 vs 4 | Fifty salespeople appear in orders; four exist in the master. Everyone types a name rather than picking one, because nobody owns the list. |
| Entries are made afterwards | 588 lines | Attributed to a placeholder owner meaning “added later”. The sheet is filled in when there is time, not when the thing happens. |
| The credit gate is skipped | 154 / 2,281 | Just 6.8% of order lines carry a credit approval. The rule exists and everyone knows it. It reaches the data one line in fifteen. |
| Nothing forces consistency | 4 formats | Dates in four formats in one column, one transporter spelled three ways, a salesperson named “0”. A blank cell accepts anything, so eventually it holds everything. |
This is not a training problem. Training has been tried everywhere and it decays. A spreadsheet can only ask for discipline; software can require it — the order number cannot be typed, the credit check cannot be skipped, the entry cannot be backdated, and the name has to come from the list.
The half that is about the tool Measured
Even with flawless data entry, all four of these would still be true tomorrow. The workbook did its job — it carried Sunrise from a small order book to ₹20 crore of trade in four months. It has now become the largest single operational risk in the business, and the people using it are the ones absorbing that risk every day.
Four exposures, all of them counted rather than argued
These are not projections. Each one was read from your own records this week.
The ₹59.65 lakh nobody has written down
Three thousand five hundred packs sit on QC Hold, Expired or Blocked. In the workbook they are counted as stock. In reality they are a promise waiting to be broken, or a write-off nobody has recognised yet.
Nothing in the sheet distinguishes stock you have from stock you can sell — so the distinction only surfaces when a customer is already waiting.
The order book only ever grows
42,241 packs stand open against 47,126 ever raised. Across the whole year, roughly 4,885 packs — one pack in ten — have ever been closed out.
There is no mechanism to close a dead line, so production plans against a demand figure that everyone privately discounts and nobody can correct.
Credit control that exists on paper
Limits are set. Ageing is tracked. And 6.8% of order lines carry an approval, because the check happens after the goods have gone, at reconciliation, when the only remaining option is to ask for the money back.
₹1.40 crore has already aged past sixty days while that was the process.
Where the working day is going now
The hours below are estimates. The volumes driving them are not — 2,281 order lines in four months, 231 distributors, five stock locations, and 108 summary rows that have to be rebuilt by hand because the file will not calculate them.
| Work that disappears | Why it exists today | Hours / month |
|---|---|---|
| Rebuilding management figures | Every one of the 108 dashboard rows reads #NAME?, so the numbers are assembled by hand each month | 16 |
| Order-versus-invoice reconciliation | A permanent tab exists purely to diff order value against invoiced value, distributor by distributor | 24 |
| Answering “do we have it?” | Stock sits in one number across five locations, with no view of what is on hold or expiring | 22 |
| Chasing order status | No stage, no approver, no timestamp — so the answer is a phone call | 22 |
| Re-keying and correcting entries | 570 order lines a month, typed names, four date formats, duplicate IDs | 28 |
| Assembling the pending book | The Pending Order Sheet is dead on most rows | 8 |
| Roughly two-thirds of one full-time role | 120 | |
None of this is work anyone was hired to do. It is the overhead the file imposes on people whose actual job is selling, dispatching and keeping the plant running — and it is the part of the day that gets no credit when it goes right and all of the blame when it goes wrong.
What replaces it
- Management figures render themselves, from the same records the floor is using
- Order value and invoiced value cannot diverge, because one produces the other
- Stock answers itself — by batch, by location, with expiry visible
- Every order carries its stage, its approver and the time it moved
The point is not fewer people
At ₹60 crore and growing, the question is not how to employ fewer staff. It is whether the next ₹20 crore of trade needs another two people to administer it, or none.
Every hour above is an hour that scales with volume today, and stops scaling with volume the moment the system does it instead.
One system, with the rules underneath the screens
This is the part worth understanding properly, because it is what makes the difference between software that helps and software that gets worked around by March.
Three engines running on that one ledger
Order to despatch
The spine. An order is punched, credit-checked, approved, matched against real stock, turned into a packing list and an invoice, despatched, and then closed — with the balance decided rather than abandoned.
Finished-goods stock
The truth about what you have. Batch level, five locations, and three separate figures — on hand, allocated, available — where a spreadsheet has only ever had one.
Stock transfer
Kundli to the four depots, through the same ledger and with its own approval. No finance gate, because there is no credit risk in moving your own goods between your own warehouses.
Tally is not being replaced. It remains your system of record and continues to issue the official order and invoice numbers. The app generates its own numbers for internal control, and captures the Tally number as a field on the packing list and on the invoice.
Both are checked for format the moment they are typed — which is how the seven invoices currently carrying a malformed number stop happening. Connecting the two systems automatically is a later phase, and deliberately so: it would mean changing how your accounts team works before you have seen whether the rest earns its place.
Seven stages, and the two places the system refuses to move on
Nothing below is new to Sunrise — it is the process you already run. What changes is that two of these stages stop depending on somebody remembering.
The order moves quietly to the approvals queue. Nobody is interrupted and nothing is added to anyone's day.
A credit hold applies itself. Every control that would advance the order is unavailable while it stands. Admin or Accounts release it once the deposit lands — and their name and the time go on the record.
A new sales order is raised for the same customer with its own number, linked back to the original and visible from both ends.
The balance is cancelled against a reason code, and those 40 packs leave the order book for good.
Twenty actions, six roles, and no exceptions
Every row below is enforced twice — once in what the screen offers, and again in the database underneath it. The two must agree, so a person cannot reach past the screen to do something the screen does not offer them.
| Action | Admin | Accounts | Dispatch | Sales CRO | NSM | Stores |
|---|---|---|---|---|---|---|
| Selling | ||||||
| Punch a sales order | ✓ | — | — | ✓ | — | — |
| Edit line-item prices | ✓ | — | — | ✓ | ✓ | — |
| Close short and decide the balance | ✓ | — | — | ✓ | — | — |
| Cancel a balance quantity | ✓ | — | — | ✓ | — | — |
| Money | ||||||
| Release a credit hold | ✓ | ✓ | — | — | — | — |
| Approve an order | ✓ | ✓ | — | — | ✓ | — |
| Set customer credit limits | ✓ | ✓ | — | — | — | — |
| Enter the Tally invoice number | ✓ | ✓ | ✓ | — | — | — |
| Despatch | ||||||
| Generate the packing list | ✓ | — | ✓ | — | — | — |
| Enter the Tally order number | ✓ | — | ✓ | — | — | — |
| Generate the invoice | ✓ | — | ✓ | — | — | — |
| Record despatch, transporter, LR | ✓ | — | ✓ | — | — | — |
| Stock | ||||||
| Book production into finished goods | ✓ | — | — | — | — | ✓ |
| Put a batch on QC hold, or release it | ✓ | — | — | — | — | ✓ |
| Write off damage, adjust stock | ✓ | — | — | — | — | ✓ |
| Raise a stock transfer | ✓ | — | — | — | — | ✓ |
| Approve a stock transfer | ✓ | — | — | — | ✓ | — |
| Everything else | ||||||
| Manage item and customer masters | ✓ | — | — | — | — | — |
| View dashboards | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
The three that are easy to get wrong
Pricing is commercial, not clerical
Prices are settled while goods are being despatched — so it looks like a dispatch job. It is not. The authority sits with Admin, Sales CRO and NSM, and Dispatch has no price field at all.
Because that would otherwise leave Dispatch stuck with no way to raise the issue, they get a control of their own: flag the order price pending review and park it, visible to whoever can act.
Approval is one signature
NSM or Accounts — either alone is enough. Requiring both would make the gate real on paper and routinely bypassed in practice, which is precisely the position the workbook is in now.
Stores owns the inbound side
Production booked in, QC hold and release, damage written off, transfers raised. Without this role stock only ever decreases — and a stock system that cannot receive is a stock system nobody trusts by the second week.
Stores cannot see order screens at all, and no order role can move stock.
Move every assumption to its most sceptical setting
Each lever below starts from a figure counted in your own data. What is estimated is only how much of it the system recovers — so drag every slider to its lowest position and see what survives.
Every measured figure is dated August 2026 and can be re-derived from the workbook and the live database on request. The model deliberately excludes anything that cannot be traced to a counted number — no allowance for faster order turnaround, fewer disputed invoices, or revenue lost to stockouts, all of which are real and none of which are claimed here.
What it returns, against what it costs
Two costs, both adjustable: the one‑time build, and the platform care that keeps it hosted, supported and improving. The model pays the care out of the value first and recovers the build from what is left. The value it is measured against is the same one carried from the previous section, on whatever settings you left there.
| Where the value comes from | Basis | Per year |
|---|---|---|
| Stock written off, prevented | ₹59.65 L at risk | — |
| Interest on overdue receivables | ₹1.40 Cr past 60 days | — |
| Bad debt avoided | ₹51.98 L past 90 days | — |
| Inventory carrying cost | ₹11.64 Cr on hand | — |
| Staff hours returned | — | — |
| Recurring annual value | — | |
Plus — of working capital released once — cash that comes back into the business rather than an accounting saving. It is excluded from the payback calculation opposite, which is the conservative treatment.