This tool builds a complete annual financial model for a business or project and hands it to you as an Excel workbook. Everything is entered and reported year by year. You fill in a short form describing the business, and the builder writes every formula, links every tab together, and adds a page of self-checks so you can trust the numbers. Everything happens inside your browser; nothing is uploaded anywhere.
You do not need to be an accountant to use it. This guide explains, in plain language, what every option means, what to type in, and when it is fine to leave something at zero. Work down the form from top to bottom, keep an eye on the Your model panel on the right, and export when you are happy.
The form on the left is where you describe the business, section by section. The Your model panel on the right updates as you type, summarising what your model will contain. The buttons in that panel export the finished model. If you change your mind about anything, just edit the form and the panel updates instantly.
Suppose you are modelling a new software subscription business over four years. Here is how you would fill in each section:
Download the workbook and you will see revenue grow from £0.6m to £6.6m. The business makes a loss of about £276,000 in the first year as it builds up, then turns to profit, with net profit reaching about £3.2m by year four. The £500,000 loan and the opening cash comfortably fund that first-year loss, so cash never runs out: it ends year one at about £270,000 and climbs from there. The appraisal shows a strongly positive net present value of about £3.6m and a payback of roughly 1.7 years. The internal rate of return is very high here, which simply reflects how little cash the business needs upfront relative to what it goes on to generate.
Every one of those figures is a live formula in the workbook, and the Checks tab confirms they all tie together.
A label for your model. It becomes the download filename and appears on the cover page of the workbook. Call it anything that helps you recognise it later, such as the project or scenario name. Leaving it blank is fine; the model is then simply called "Business case model".
This chooses how much of a model you want.
In Advanced, the six modules are:
A revenue stream is a self-contained part of the business with its own customers and price, for example a "Domestic" service and an "SME" service. Most models have one stream; add more when parts of the business behave differently. For each stream you set:
Each of these can be a single figure applied to every year, or a different figure per year using the "Per year" toggle. Revenue is simply price multiplied by the average number of customers during the year.
Zeros? You need at least one stream. A stream with zero price or zero customers produces no revenue, which is valid but unusual, so set realistic figures for the business you are modelling.
The Customers join setting tells the model when new customers tend to arrive during the year. This matters because someone who joins partway through a year only pays for part of it, so it sets the average number paying, and therefore the revenue, in each year.
If you are not sure, leave it on "Evenly through the year".
Add a line for each cost the business has. Each line has four settings.
This sets where the cost sits in the profit and loss, not how it is calculated. A direct cost is taken off revenue to give gross profit, being a cost of delivering the product. An overhead is a general running cost taken off lower down, on the way to EBITDA. The same cost can be either, and the choice affects your reported gross margin.
Which part of the business the cost belongs to: one specific revenue stream, or all streams. A per-customer cost tied to one stream uses that stream's customers; a shared cost uses the totals. If you later remove a stream, the costs tied to it go with it.
Just a caption shown next to the input in the workbook, for example "£ per customer". It is filled in for you and you can edit it.
Zeros and empties? A model can have no cost lines at all, in which case the profit and loss equals revenue, though most models have several. It is fine to leave a cost at zero for years where it does not apply.
Imagine a year with 1,000 average customers and £600,000 of revenue. A hosting cost set to "per customer" at £90 gives £90,000 (1,000 × £90). Salaries set to "fixed" at £700,000 stay £700,000 whatever happens. A sales commission set to "percent of revenue" at 8% gives £48,000 (8% of £600,000). Classing hosting as a direct cost puts it above gross profit; classing salaries and commission as overheads puts them below it, on the way to EBITDA.
These appear in section 06 only when the matching module is switched on. They are the figures juniors most often ask about, so each is explained in full below, including whether zero is acceptable.
Capital expenditure, often shortened to "capex", is money spent buying long-lasting things the business will use for years, such as buildings, machinery, vehicles or computer systems. You can add a separate line for each type of asset: give it a name, enter the spend for each year, and set its own asset life. Use "Add capex line" for more, and Remove to drop one. Zero is fine for years with no purchases.
Asset life is how many years that line's assets are expected to last, and therefore over how many years their cost is spread. Rather than treating the whole cost as an expense in the year of purchase, the model uses depreciation to charge a slice of the cost each year of the asset's life. A £100,000 machine with a 10-year life is charged at £10,000 a year for ten years. Because each line has its own life, you can depreciate buildings slowly and laptops quickly in the same model. As a rough guide, computer equipment might be 3 to 5 years, vehicles 4 to 7, and buildings or infrastructure 20 or more. Do not leave a life at zero; an asset must last at least one year. If unsure, a life of 5 is a reasonable default.
Year 0 (pre-launch) is for capital spent before the business opens. If your model starts in 2026, year 0 is 2025. Many businesses buy their premises, fit-out or equipment ahead of launch, and this field captures that. Pre-launch spend on a line is funded by the owners: it raises the business's share capital, so your opening cash stays the literal starting bank balance and the owners' total investment is that cash plus the year-0 capex. The year-0 amount becomes the business's opening fixed assets and depreciates from year 1 over that line's own asset life, just like spend during the operating years. Leave it at zero if all your capital is spent after opening.
Suppose you add two capex lines. "Fit-out" is £150,000 spent in year one with a life of 10 years, and "Laptops" is £30,000 in year one with a life of 3 years. The fit-out is charged at £15,000 a year (£150,000 ÷ 10) for ten years, while the laptops are charged at £10,000 a year (£30,000 ÷ 3) for three years. In each of the first three years the total depreciation is £25,000 (£15,000 plus £10,000); from year four onwards the laptops are fully written off, so only the £15,000 fit-out charge remains. Splitting them like this is more accurate than forcing both onto a single average life. If the fit-out had instead been spent in year 0 (pre-launch), it would appear as £150,000 of opening fixed assets funded by the owners (raising share capital by £150,000), still depreciating at £15,000 a year from year 1.
Debt drawdowns is new borrowing taken in each year, and Debt repayments is how much of the debt is paid back each year. Leave either at zero in years where nothing is borrowed or repaid.
Interest rate is the annual rate charged on the outstanding debt. If the business has no debt this figure has no effect, so you can leave it at the default; if there is debt, use a realistic rate, for example 5 to 8 percent.
Tax rate is the share of profit paid to the government as tax, applied to the profit before tax. In the UK, corporation tax is currently 25 percent, which is the default here. The model is sensible about losses and charges no tax in a year where the business makes a loss. By default it does not carry losses forward, but you can tick Carry losses forward in the financing inputs so that early losses offset later profits and reduce the tax charged in future years, as real businesses usually can. Zero means no tax is modelled at all, which is occasionally what you want for a pre-tax view, but usually you should enter the real rate.
Opening cash is the money the owners put in to start the business, in other words its share capital. It is the cash the model begins with, and it appears as share capital on the balance sheet. Set it to whatever the founders are investing at the outset. If the model later shows cash going negative, it means the business would need more funding, from more capital or borrowing, than it currently has.
Working capital is the everyday money tied up in running the business because of the gap between doing something and the cash actually changing hands. You describe it in days.
With revenue of £1,200,000 in a year and receivable days set to 30, about £1,200,000 × 30 ÷ 365, or roughly £98,600, is tied up in invoices customers have not yet paid. Payable days work the other way: 30 payable days means you are holding on to about the same amount owed to suppliers, which helps your cash. If the business is growing, the amount tied up rises each year, which is why fast growth can strain cash even when the business is profitable.
The balance sheet needs nothing entered. Because this tool models a business from a standing start, its share capital is simply the opening cash the owners invest, and its retained earnings build up from the net profit it makes. The model sets both automatically, so the opening balance sheet balances on its own, with assets equal to liabilities plus equity from day one.
Discount rate is the rate used to bring future cash back to what it is worth today. A pound received in five years is worth less than a pound today, because today's pound could be invested in the meantime; the discount rate captures that, and a higher rate reflects more risk or a higher required return. It drives three headline results: the net present value (the total of all future cash discounted to today, where positive is good), the internal rate of return (the percentage return the project earns), and the payback period (how long until the cash coming in recovers what was spent). Any year-0 (pre-launch) capex appears in the appraisal as the initial outflow at year 0, so it is subtracted from the net present value and the payback clock starts there: spending before you open pushes the payback out and lowers the NPV. Typical rates are around 8 to 12 percent. Do not leave it at zero, as zero would mean no discounting at all, which defeats the purpose.
Suppose a project's free cash flow is −£400,000 in year one (you invest), then +£300,000, +£450,000 and +£500,000. At a 10% discount rate each year's cash is scaled to today's money: −£363,600, then £247,900, £338,100 and £341,500. Adding those gives a net present value of about £564,000. Because it is positive, the project creates value at a 10% required return. Adding up the undiscounted cash instead, the running total goes −£400,000, then −£100,000, then +£350,000, so the project pays back partway through year three, at about 2.2 years. Had £150,000 of that been spent in year 0 instead, the appraisal would open with a −£150,000 outflow at year 0, the running total would start lower, and both the payback and the NPV would reflect that earlier commitment.
The panel on the right is a live summary. It shows the model type, where the profit and loss stops, the horizon, how many streams and cost lines you have, and which statements will be in the workbook. "View configuration" reveals the raw settings, which is also what "Save session" stores.
The Environment panel reports whether your browser supports the download and copy features, which is useful on a locked-down work computer, and the Results log keeps a timestamped record of what you have done.
When you open the downloaded file, start with the (README) tab, which explains every part of the model in plain language. A few things to know:
To stay simple and dependable, the tool makes a few deliberate assumptions. They are reasonable for a business plan, but it is worth knowing them:
This page is a single, self-contained tool. There is no server behind it, and nothing you type is ever uploaded. Everything, from the form you fill in to the Excel file you download, is produced by code running inside your own browser. This section explains how that works.
As you fill in the form, the page keeps a tidy description of your model in memory. When you click Download, a built-in engine reads that description, works out every number, decides which tabs the workbook needs, and writes a real Excel file complete with live formulas that link the tabs together, right there in the browser. Change an input and the description changes, so the next file you build is different. Because it is generated from your inputs rather than copied from a fixed template, no two models have to look alike.
The whole tool is one web page with the model-building engine written directly into it. When the page loads, that engine is ready to run. It needs no internet connection once the page has opened, no account, and no server to talk to. This is deliberate: it means the tool works on a locked-down work computer, it responds instantly, and your figures never leave your machine.
Every control on the form is tied to a single structured record held in the page's memory, describing your model: its name, which modules are switched on, the years, the revenue streams, the cost lines, and all the advanced inputs. Editing a field updates that record, and the "Your model" panel simply reads from it. That same record is what "Save session" writes out as a small file, and what "Load session" reads back in. You can see it for yourself: open "View configuration" in the panel and you are looking at the live record.
When you click Download (or Copy, or Print), the engine takes that record and does two things at once. First, it calculates every figure in the model in the browser, from the average number of customers up through revenue, costs, profit, cash and the appraisal results. Second, it decides the structure of the workbook: which tabs to create, how many year columns to draw, one section for each revenue stream, one tab for each cost line, and where the profit and loss should stop. Both the numbers and the structure come from your settings, which is why different inputs produce genuinely different workbooks rather than the same template with new figures dropped in.
Almost everything about the shape of the workbook is driven by what you entered, not fixed in advance:
This is the part that makes the output a real model rather than a static report. The engine does not simply paste its calculated numbers into cells. As it lays out each tab, it keeps track of exactly where every figure lives, which tab and which row, and then writes genuine Excel formulas that point at those locations. A cost line becomes something like =F7*F8, a rate multiplied by a customer count on the same tab. A profit and loss line becomes something like ='Summary Outputs'!F12, pulling a figure from another tab. The result is a live, editable model: open it in Excel, change a yellow input cell, and every dependent figure recalculates, because the formulas are truly linked across the tabs, exactly as they would be if a person had built the model by hand.
Alongside each formula, the engine also stores the value it worked out in the browser, so the file shows the right numbers the instant you open it, before Excel has recalculated anything. The formula and the stored value should always match, which becomes the basis of the self-checks described below.
The workbook is organised the way a careful modeller would build it by hand. Inputs sit on input tabs. Calculations happen in small, self-contained blocks on calculation tabs, where each block gathers the few figures it needs, sits them next to each other and performs a single step. A Summary Outputs tab collects the headline result of each calculation in one place, and the statements (profit and loss, cash flow, balance sheet and appraisal) read from Summary Outputs. Laying it out this way keeps every number traceable: you can always follow a figure back to where it came from.
The colours you see are a map of this structure:
Because the engine effectively works everything out twice, once in the browser for the stored values and again through the Excel formulas it writes, the two must agree. The Checks tab makes this visible. It re-derives key figures a second, independent way using its own formulas, subtracts one from the other, and shows the result. When they match, the difference is zero and the cell is green. If a figure ever failed to tie out, the relevant check would show a non-zero number and turn red, pointing straight to the problem. When every check is green, the model is internally consistent by construction, which is why you can trust the numbers without auditing every cell yourself.
An .xlsx file is not a single mysterious binary. It is really a ZIP archive containing a set of plain XML text files, one for each worksheet, plus a few that describe the workbook, its styles and its properties. This is an open, published format, which is why the same file opens in Excel, LibreOffice and Google Sheets alike. The engine builds every one of those XML parts as text: for each tab it writes out the rows, the cells, the formulas and the stored values, and separately it writes the styles and the workbook description.
It then packs all of those parts into a single ZIP archive inside the browser, compressing them with the browser's built-in compression so the file is small, and turns the finished archive into a download. There is no round trip to any server at any point: the file is assembled in memory and handed to you through a temporary in-browser link, which is then discarded. What lands in your downloads folder is an ordinary .xlsx that opens like any other.
The formatting travels inside the file too. The number formats, the fonts, the light or dark Excel theme, the branding on the cover, the coloured sheet tabs and the green and red of the checks are all written into the styles part of the workbook at the moment it is generated. Nothing is applied afterwards, so the file carries its own look wherever it is opened. Choosing the dark Excel theme simply swaps the set of colours the engine writes into those styles; the light and dark files are otherwise identical.
The remaining buttons all use the same engine and the same settings, so whatever they produce always agrees with the workbook you would download.
Here are a few of the formulas the engine writes, so you can see the linking in action:
None of these are typed in by hand. The engine assembles them from your inputs, filling in the right tab names and row numbers as it lays the workbook out.
Everything above explains what the tool does. This last part explains what it is actually made of, for the curious. It is still written in plain terms, with any jargon spelled out.
The short version: the tool is built only from the three standard languages of the web, uses a handful of features already built into your browser, and relies on no frameworks, libraries or plugins at all.
Many websites are built on top of large ready-made toolkits. A framework (such as React) is a big scaffold you build a site inside; a library or plugin is a smaller pre-written component you drop in to do a particular job. This tool deliberately uses none of them: every line is written from scratch in plain JavaScript. That keeps it to a single, self-contained file with nothing to install, nothing that can silently break or go out of date, and no outside code to trust. It is also why the whole thing keeps working offline and on locked-down work computers.
Instead of external tools, it leans on capabilities already built into modern browsers:
A .xlsx file is not a mysterious binary. It follows an open, published standard called Office Open XML, and is really a zip folder containing a set of plain text files. Because the standard is open, the tool can write those files by hand, add the checksums a zip needs, and produce a workbook that opens in Excel, LibreOffice and Google Sheets alike.
There is no server, no back end and no database behind the tool. Nothing runs except the single web page in your browser. That page is one self-contained file you can open straight from your computer, email to a colleague, or host like any normal web page. The only thing it fetches when it first loads is its three typefaces (Fraunces, Inter Tight and JetBrains Mono, from Google Fonts); if you are offline it simply falls back to standard fonts. Your figures are never sent anywhere.
That one file holds three things side by side: the styling, the builder controls you interact with, and the calculation engine. The engine is the same code whether you download the workbook, copy the profit and loss, or print a PDF, which is why those outputs always agree with one another.