Sales & PartnershipsFree
Sales ROI Calculator and Business Case
Built from the numbers the buyer gave you, with every benefit classed as cash or not and a named owner on each line.
Every ROI template on page one has the same columns. One-time cost, implementation cost, ongoing cost, annual benefit, ROI percentage, payback in months, and three scenarios called conservative, base and optimistic. The arithmetic is not the hard part and never was. The hard part is that the benefit column is where a vendor's assumptions go to look like the buyer's own numbers. A finance reviewer can tell almost immediately, because the very first thing they check on any line is where its number came from.
So every input in this model carries its source: the buyer said it on a call, it came out of a document they sent, you measured it, or it is an assumption with a name on it. Benefits are then classed. Cash benefits change a line somebody can point to in a budget. Everything else is real and stays out of the headline number, because appraisers are systematically over-optimistic and the buyer's finance team already assumes you are.
Built for the account executive whose champion has to defend this without them in the room, and for the sales engineer who gets asked for the workings. Run it after discovery and before the proposal. It reads the discovery call transcript for the figures the buyer already gave you, the discovery call pack covers getting them said out loud, and the tool index and the template library cover what happens after the yes.
Hours saved are not money yet
The line that sinks most business cases is time. Three hours a week per person, multiplied by a loaded hourly rate, multiplied by forty people, and suddenly the model shows a saving larger than the department's software budget. A finance director will not sign that, and they are right not to. Nobody's cost went down. The hours moved somewhere else in the same salary bill, and the salary bill is what appears in the accounts.
An hour becomes money when somebody names what stops being spent: a contractor not renewed, overtime not paid, a vacancy not filled, or capacity redeployed onto work with revenue against it. So the model asks for that name on every time-based line, and the ones that cannot supply it move to a separate section headed as benefits without a cash line. Where the rate itself matters, it is built on salary plus the fringe benefits that come with employing somebody.
The second discipline is the counterfactual. A business case compares options, and doing nothing is one of them, which is why the appraisal standard costs it alongside the rest. If their error rate is already falling four points a year, your benefit is what happens above that line, not the whole of it. And every benefit gets an owner, because a saving that lands in a cost centre your champion does not control is a number they cannot claim in the meeting.
How it works
Bring their numbers
Discovery notes, anything they sent, and the figures they said out loud on calls.
River builds the model
Each line sourced, each benefit classed, each hour tied to a named cost.
Check the assumptions
The assumption register lists every number you supplied and what the case does without it.
Send the page
One page the champion forwards on its own, with the full workings attached for whoever asks.
What you get
- Every input names its source: said on a call, in their document, measured, or assumed
- Benefits split into cash and non-cash, with only the cash lines in the headline
- A named cost that stops being incurred behind every hour the model claims back
- The do-nothing option costed, so the benefit is the difference rather than the total
- An owner on each benefit line, because a saving nobody's budget shows is not claimable
- One forwardable page for the champion and the full workings for their finance team
Common questions
What if the prospect will not give me numbers?
Then the case is built on assumptions and every one of them is labelled as yours. That is a weaker document and an honest one, and it usually does the job it needs to: the champion sends it back with three of your assumptions corrected, which is exactly the conversation you wanted. An assumption you own is easier to argue with than a benchmark nobody sourced.
Does it produce NPV and payback?
Yes, at the discount rate the buyer uses if they will tell you and at a stated rate if they will not. Payback in months is usually the number that travels, because it is the one a budget holder can hold in their head. Both sit under the cash benefits only, never under the total including time.
Why keep the non-cash benefits at all?
Because they are often why the buyer wants this and they belong in the argument. Faster onboarding, less risk of the thing that happened last year, a team that stops hating a process. They go in their own section with the evidence beside them, where a CFO can weigh them without them contaminating a number that has to survive audit.
What is the one page for?
For the meeting you are not in. A champion presenting your case internally needs something they can send ahead and speak to from memory: the problem in the buyer's own words, the cash number, the payback, the two assumptions that matter, and what happens if nothing changes. The workings go underneath for whoever asks.
Can I reuse the model across deals?
The structure travels and the numbers do not. Reusing one buyer's figures on the next account is how a model becomes an industry average with a different logo on it, which is the thing this exists to avoid. Keep the benefit categories and the classification rules, and refill the inputs from the new account's own discovery.
Where do the buyer's figures come from?
The calls, mostly. A buyer names a headcount, a ticket volume, a cycle time or a contract value in passing and nobody writes it down. Pulling those out of the transcript into structured fields first means the model is built on things they said rather than things you estimated on their behalf.
Sales ROI Calculator and Business Case
Fill in the form and your workspace opens with the work already underway.