Why you need two estimates for every job
Most contractors build one estimate, and it is the one they send the client. Which means the only version of the numbers they ever look at is the version with all the useful information stripped out of it.
That is backwards, and it is why so many crews cannot answer a simple question about their own job: where does the money actually sit on this one? You need two documents. They serve opposite purposes, and neither one does the other's job.
The contractor-facing estimate
This one never leaves your office. It shows everything, and the point of it is that you cannot price a job correctly if you cannot see what it costs you.
What belongs on it:
- Every line item separately — not "bathroom demo $2,000" but the strip-out, the disposal, the protection, each as its own line
- Labour and material split apart on every line, because they mark up differently and they move independently
- Your markup, applied line by line rather than as one number at the bottom
- Hours per stage, so the schedule and the price come from the same place
- Profit per line and profit total — in dollars and as a percentage
- Timeline, including the gaps: permit waits, counter templating, inspection windows
- Subtrade quotes at cost, next to what you are charging for them
This is also the document that tells you the truth about a job you are about to lose. Sometimes the honest answer is that you cannot do the work at the number the client has in mind, and it is much easier to say so when you can see the floor rather than guess at it.
The client-facing estimate
Here is where most contractors get it wrong in both directions. They either send a one-line total, or they send the internal sheet with the markup column deleted.
The client-facing estimate should have more detail than most contractors include, not less — just different detail. Scope detail, not cost structure.
What belongs on it:
- Every stage of work as its own line, with a price against it
- What is specifically excluded — the single most valuable section and the one nobody writes
- Allowances for anything they are still choosing: tile, fixtures, cabinets
- Assumptions the price depends on — no asbestos, no structural surprises, existing plumbing stays where it is
- Payment schedule and what triggers each payment
- A timeline, including the waits, so a quiet week is not a broken promise
A homeowner comparing three quotes is not really comparing prices, because they have no way to judge whether $22,000 is reasonable. What they can judge is which contractor clearly understands the job. A detailed estimate wins work against a cheaper vague one more often than most contractors believe.
What comes off, and what stays on
| Internal | Client | |
|---|---|---|
| Every stage, itemised | Yes | Yes |
| Labour / material split | Yes | No |
| Markup percentage | Yes | No |
| Profit, dollars and percent | Yes | No |
| Hours per stage | Yes | No |
| Subtrade cost vs charge | Yes | No |
| Exclusions | Useful | Essential |
| Allowances | Yes | Yes |
| Assumptions | Yes | Yes |
| Payment schedule | — | Yes |
| Timeline with waits | Yes | Yes |
The change-order conversation
This is the part that pays for the whole exercise, and it is worth more than the pricing accuracy.
Three weeks into a bathroom, the client asks you to hang a new door on the linen closet while you are there. It is forty minutes. You say yes, because saying no over forty minutes feels petty. Ten of those and you have worked a week for nothing.
The reason it happens is not that contractors are soft about money. It is that the conversation is genuinely hard when it rests on memory. "I don't think that was in the quote" against "well I assumed it was" is an argument nobody wins, and most people would rather eat the forty minutes than have it.
A detailed client-facing estimate removes the argument entirely. You are not disagreeing with them, you are both reading the same document:
Nobody is defensive, nobody is remembering. It has become paperwork instead of a confrontation, and that is the only reliable way extras get billed.
Write every change order the same way: what the work is, what it costs, what it does to the schedule, and get it agreed before you start. Priced against the same rates as the original quote unless it genuinely disrupts sequencing, in which case say that too.
Where one-estimate contractors lose money
Pricing without seeing the cost
If your only document is the client version, you are pricing from feel. It works until a job with an unusual mix — heavy material, light labour, or the reverse — comes in at a number that looks normal and earns nothing.
A client estimate too vague to defend
"Bathroom renovation — $24,000" is unenforceable. Every extra becomes a matter of interpretation, and interpretation always goes the client's way because they are the one holding the cheque.
Showing cost structure by accident
Exporting the internal sheet and deleting a column is how markup ends up in front of a client. Keep them as genuinely separate documents rather than one document with things hidden.
Never updating the internal one
Scope changes, and the client copy gets revised because they need to see it. The internal copy gets left at the original numbers, so by the end nobody knows what the job was actually supposed to make.
Building both without doubling the work
The obvious objection to all this is time. Nobody is building two estimates by hand for every enquiry, and if that is the ask, it will not happen.
Which is why Contrax does it as one job. You build the estimate once, in full — every line, labour and material split, markup, hours, profit. That is your internal version. The client-facing copy is generated from the same estimate with the cost structure removed and the scope, exclusions, allowances and payment schedule kept. One set of numbers, two documents, and they cannot drift apart because there is only one source.
When scope changes, you change it once and both update. Change orders attach to the same record, so the client copy always reflects what was actually agreed.
Build it once with your real numbers; send the client version with a click.
See how it works →$150 CAD a month for your whole company. Built in Oshawa, Ontario.