Where spreadsheet
job costing breaks.
Not when it gets complicated. When two people open it, when committed cost is not in it, and when the true position is a week old by the time anybody has assembled it.
Published ·Updated ·5 min read·Written by Darshan Parmar, Founder

Spreadsheet job costing fails on four specific properties rather than on complexity: committed cost is not in the file, two people cannot safely edit it at once, the figures are transcribed from elsewhere so they lag, and no version is authoritative. The result is a cost position that is accurate about last week and confident about today. Growing firms move to one of three things: tighter spreadsheet discipline, off-the-shelf job software, or a bespoke platform. Whichever they choose, cost has to be recorded when it is committed, not when it is invoiced.
Spreadsheets are not the problem
Excel is a remarkable tool and most contracting businesses in this country are run on it competently. It is fast, everybody can use it, it costs nothing extra, and it bends to whatever a commercial manager needs it to do on a Tuesday. A firm that has built a good cost model in it has built something real.
What follows is not an argument that spreadsheets are amateurish. It is an argument that a contractor's cost position has four properties that a single file cannot hold, and that the failure is structural rather than a matter of how carefully anybody works.
One. Committed cost is not in the file
This is the big one and it causes more surprises than the other three together.
Most job cost spreadsheets are built from invoices, because invoices are what arrive and what get entered. But a contractor commits money long before it is invoiced. You issue a purchase order for £40,000 of materials on Monday and the invoice appears six weeks later. You instruct a subcontract package for £120,000 and the first application comes at the end of the month.
Until those documents land, the spreadsheet shows the job in better health than it is. Not by a random amount, and not in a random direction: it always understates, and it understates most at exactly the point in a job when the commitments are largest and the invoices have not caught up.
A cost sheet built from invoices is not a picture of the job. It is a picture of the post.
Firms usually know this and compensate with a mental allowance. That works while one person carries the whole job in their head, and stops working the moment there are eleven jobs and three people.
Two. Two people cannot safely have it
The moment more than one person needs to update the file, one of three things happens. Somebody works on a copy and the versions diverge. Somebody waits, so the file is out of date by however long they waited. Or it goes into a shared drive with simultaneous editing, and a formula gets overwritten by a paste that nobody notices for a fortnight.
That third one is worth dwelling on because it is silent. A broken formula in a corner of a large sheet does not announce itself. It produces a number that looks like a number, and the report built on it looks like a report.
Three. Everything in it was typed twice
Hours come off a timesheet or a WhatsApp message and get typed in. Invoices come from the accounts package and get typed in. Applications get typed in from a different sheet. Plant charges come off a hire schedule and get typed in.
Two costs follow. The obvious one is the time, which is somebody's week every month. The less obvious one is the lag: every transcription step adds delay, and by the time all four sources are in, the earliest of them is a fortnight old. That is the mechanism behind the sentence on our directors page, that the true position of a job lives in four places and assembling it takes a week.
Four. No version is the version
Ask a firm running on spreadsheets which file is authoritative and you get a pause. There is the one on the shared drive, the one the QS is working on, the one that was emailed to the director on Friday, and the one somebody took home. All four are plausible and none is marked.
The practical consequence arrives in a meeting, where two people have different numbers for the same job and the discussion becomes about whose sheet is right rather than about the job.
When it actually starts to hurt
Not at a headcount and not at a turnover. Three thresholds, and firms usually cross them without noticing.
- When more than one person needs the answer. One commercial manager with one file is coherent. Two people is where version drift starts.
- When jobs outlast memory. Everything works while somebody can hold the exceptions in their head. At about eight or ten concurrent jobs that stops being possible, and the sheet has to carry what the person was carrying.
- When somebody outside sees the number. A bank, an insurer, a prospective buyer, or a client asking for a cost report. That is when the difference between a figure and a defensible figure becomes real.
If you are staying on spreadsheets
Which is a perfectly reasonable decision for plenty of firms. Three changes remove most of the risk without changing anything else.
Add a committed cost column and populate it at the point of order rather than invoice, even if it is a manual entry. Nominate one file as authoritative, put the date in the filename, and make everybody else read-only. And reconcile to the accounts package monthly rather than at year end, because a difference found in month two is a data entry error and the same difference found in month eleven is an investigation.
What growing contractors move to
Three routes, and the right one depends on how many of the four failures are already costing money.
- Tighter spreadsheet discipline. The three changes above, and nothing to buy. It holds while one person prices, orders and reports on every job.
- Off-the-shelf job software. A fixed product with purchase orders, timesheets and job costing built in, so committed cost and concurrent editing are handled. The firm adopts the product's process, and anything outside it tends to return to a spreadsheet alongside.
- A bespoke platform. A system shaped to the firm's own cost codes, approval routes and reports, so the process stays and the software fits round it.
The test for any of them is the one this article turns on: is cost recorded at commitment, on one record, by the person who commits it.
Unibuild sits in the third group: bespoke business software for trades, in daily production since 2016, shaped to each firm, with anything missing built inside the monthly fee. Each of the four failures maps to something specific. In job costing and cost control, an approved purchase order is a cost against the job from the moment it is issued. Everything sits on one record, with access granted page by page, so there is no copy and no authoritative-file question.
Hours arrive from a QR clock-in against the job on the day they are worked. The scan is made in the firm's own staff app, published on the App Store and Google Play under its company name and icon. Applications for payment are built from work already measured, and gross applied and gross balance are calculated as at each row's own date. The accounts package stays; Unibuild runs the job up to the application for payment.
Where to start, on Monday
Take your largest live job and write down two numbers: the cost your spreadsheet shows, and the total value of purchase orders and subcontract packages you have issued on it that have not yet been invoiced. The second number is the size of the gap you have been carrying in somebody's head.
If that gap is small, your spreadsheet is doing its job and this article is not about you. If it is large enough to change how the job looks, you now know the number, which is a better position than yesterday whatever you decide to do about it.
The follow-up questions.
What replacing it costs is set out in what trade and construction software actually costs.
Why does job costing in Excel stop working?
What breaks first in a job costing spreadsheet?
What is committed cost and why does it matter?
What is the real cost of a spreadsheet error?
How many jobs can one spreadsheet realistically handle?
At what size does a contractor outgrow spreadsheet job costing?
How can I make spreadsheet job costing safer without replacing it?
How do I make spreadsheet job costing safer without replacing it?
Are spreadsheets unprofessional for construction cost control?
Are spreadsheets unprofessional for a contractor?
See cost at commitment, not at invoice.
A spreadsheet tells you what a job cost once the invoices land. By then the decision that cost the money was taken six weeks ago.
- Thirty minutes, weekdays, from tomorrow.
- Nothing to prepare. Bring a job number and we mock that job up.
- You drive it. There is no slide deck.
- You keep what you saw as a 14-day trial. No card.
More from Insights.
Where the office hours actually goNot in the work. In assembling positions from four places, retyping what site already recorded, and chasing paperwork that exists but cannot be found. How to measure your own before deciding anything.Read it →
Choosing trade and construction software, and what to actually compareEvery product demos well. A buyer's checklist written to be useful even if you buy from somebody else, including the five questions vendors answer badly.Read it →
Xero for contractors, and where the accounts package stopsIt handles CIS properly and it is a good ledger. What it is not built to hold is the job: the measured schedule, the valuation, the retention and committed cost.Read it →All 12 articles on choosing software.