Insight · Choosing software

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

Two people working through a drawing at a desk with laptops

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.

  1. Tighter spreadsheet discipline. The three changes above, and nothing to buy. It holds while one person prices, orders and reports on every job.
  2. 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.
  3. 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.

Where Unibuild fits

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.

Asked most often

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?
On four structural properties rather than on complexity: committed cost is not in the file because it is built from invoices, two people cannot safely edit it at once, every figure is transcribed from another system so the position lags, and no single version is authoritative. The result is a cost position that is accurate about last week and confident about today.
What breaks first in a job costing spreadsheet?
Committed cost, because a spreadsheet records what has been invoiced and the job has already been committed to far more. Orders placed, hire running, labour allocated for next week. The sheet shows a job in profit while the commitments that will take it out of profit sit in somebody's inbox. Everything else that goes wrong later is a consequence of that gap.
What is committed cost and why does it matter?
Cost a job has irrevocably taken on but not yet been invoiced for, such as an issued purchase order or an instructed subcontract package. A cost sheet built from invoices excludes it, so it always understates the position, and it understates most at the point in a job when commitments are largest and invoices have not caught up.
What is the real cost of a spreadsheet error?
Rarely the error itself, and usually the decision made on it. A job priced from a sheet with a broken reference is a commercial decision taken on a wrong number. So is a final account agreed against a cost figure missing three orders. The correction comes months later when the job closes. By then the same error has informed the pricing of everything after it.
How many jobs can one spreadsheet realistically handle?
Fewer than the file will technically hold, because the limit is people rather than rows. One person updating one workbook works well. The trouble starts when a second person needs the same file at the same time. Or when the site needs to see it. Or when the person who built it is on holiday. Most firms pass that point between ten and twenty live jobs.
At what size does a contractor outgrow spreadsheet job costing?
Not at a headcount or turnover, but at three thresholds: when more than one person needs the answer and version drift starts, when jobs outlast memory at roughly eight to ten concurrent jobs, and when somebody outside the business sees the number, such as a bank, insurer, buyer or a client asking for a cost report.
How can I make spreadsheet job costing safer without replacing it?
Three changes remove most of the risk. Add a committed cost column populated at the point of order rather than invoice, even manually. Nominate one authoritative file, put the date in the filename and make everyone else read-only. And reconcile to the accounts package monthly, because a difference found in month two is a typing error while the same difference in month eleven is an investigation.
How do I make spreadsheet job costing safer without replacing it?
Lock the formulas and leave only input cells editable. Keep one workbook as the master with a dated backup each week. Add a committed cost column fed from the order book, even if it is entered by hand. Reconcile to the accounts monthly rather than trusting the sheet in isolation. None of that removes the structural problem, and all of it buys time.
Are spreadsheets unprofessional for construction cost control?
No. Plenty of contracting businesses are run competently on them, and a well-built cost model in Excel is a real asset. The argument against is structural rather than about care or skill: a contractor's cost position has properties a single file cannot hold, principally committed cost and concurrent change by more than one person.
Are spreadsheets unprofessional for a contractor?
No, and firms that have outgrown them often keep them for modelling and one-off analysis, which is what they are genuinely good at. The problem is not the tool's reputation. It is using a single-user, unaudited file as the system of record for multi-site, multi-person cost control. Excel is a calculator, not a database, and the failure happens at that boundary.
Next step

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.