An estimate that only works because one person remembers how it works is not a system. Build it around CCDC's own recognized pricing structures instead.
Key takeaways
STEP 01 OF 10
CCDC 2 is a "single, pre-determined fixed price, or lump sum." CCDC 3 prices work "on an actual-cost basis, plus a percentage or fixed fee." CCDC 4 prices "each specified unit of work performed," with the total determined by multiplying the unit price by the "actual, measured quantity" performed. These are not three names for the same arithmetic — the risk sits in a different place in each one. An estimating system needs a distinct workflow for each, chosen before the estimate starts, not discovered halfway through when the owner's contract form turns out to be different from the one assumed.
Ask for the intended contract form at the same time as the bid invitation, not after pricing has already started under an assumed structure. Re-working a stipulated-price estimate into a unit-price one after the fact is slower than building it correctly from the first line.
STEP 02 OF 10
Because CCDC 4 ties total price directly to "actual, measured quantity," the unit-price path in your system lives or dies on how consistently quantities get measured. See standardising unit rates across estimators for the full detail on pairing every rate with a fixed measurement convention.
STEP 03 OF 10
CCDC 2 covers "procedures for changes in the work" and "prerequisites for Ready-for-Takeover" as part of the base contract, and CCDC 16 is written specifically to explain "the philosophy to changes... including key terms, the change process, methods for adjusting the contract price, and claims." An estimate that cannot absorb a documented change order without the whole spreadsheet breaking is not a scalable system, it is a one-time quote that happened to be reused.
STEP 04 OF 10
CCDC 2 "assumes monthly progress payments and makes reference to provincial payment legislations where applicable." Build that cadence into the estimate's cash-flow assumptions as the default, and treat any other payment structure as the exception that needs a deliberate override, not the other way round.
STEP 05 OF 10
Procore’s own estimating documentation describes a bid package that can be created directly from an estimate, so the same line items are not manually re-entered a second time in a separate bidding tool. Whatever platform you use, this is the specific feature worth checking for: a live link, not a copy-paste step between estimating and bidding that introduces a second place for the same number to drift.
Two places for the same number is how a firm ends up submitting a bid that does not match the estimate that supposedly produced it — usually because someone updated one and not the other, under deadline pressure, and nobody noticed until the numbers were compared after the fact.
STEP 06 OF 10
StatCan’s release on investment in building construction for March 2026 recorded the total value down 1.3% to $22.6 billion for the month, and down 2.9% year over year, with multi-unit residential investment in Ontario alone falling by $152.2 million that month. That scale of movement, inside a single month, has nothing to do with any individual estimator's arithmetic. Before crediting or blaming an estimate for a margin surprise, check whether the underlying market moved first.
STEP 07 OF 10
CCDC 3 prices the work "on an actual-cost basis, plus a percentage or fixed fee which is applied to actual costs." That path needs an open-book cost ledger built into the estimating system, structurally different from the fixed arithmetic of the stipulated-price and unit-price paths — a system that tries to force cost-plus work through the same template as a lump-sum bid will misrepresent the fee basis every time.
STEP 08 OF 10
Route lost-bid reasons from the bid pipeline back into the estimate template, and route price movement into the supplier pricing feed. An estimating system that only ever produces new numbers, and never learns from the ones that lost or drifted, stops scaling the moment the firm outgrows a single estimator's memory.
That last point is really the definition of "scales" this guide is using: a system that works when one experienced person runs it, and keeps working when a second or third estimator joins, because the pricing structures, the change process, and the loss history live in the system rather than in one person's head.
STEP 09 OF 10
Statistics Canada's Building Construction Price Indexes, second quarter 2026 release recorded non-residential construction costs up 1.4% quarter over quarter and 3.5% year over year nationally. That is a real, dated, quotable escalation figure — the kind step five's live link between the estimate and the bid package should be checked against on a fixed schedule, not whenever someone notices the book looks stale.
Pick one release each year (or each quarter, for a firm bidding often enough to justify it) as the book's official re-basing point, and record the release date next to the rate the same way you would record a source citation. A rate that was last checked against an index eighteen months ago is not current just because nobody has complained about it.
STEP 10 OF 10
A unit rate scaling across provinces carries two different external numbers, not one. The escalation index from step nine tracks how prices move; the holdback rate — 10% in Ontario, BC and Alberta, 7.5% in Manitoba under the Builders' Liens Act s. 24(1) — tracks how much of every payment is retained. See a bid pipeline from invite to award for what a mixed-up holdback rate does to a bid's cash-flow forecast.
A system that scales keeps both numbers on the rate record, sourced and dated separately, rather than folding them into one blended "provincial adjustment" that nobody can unpick when only one of the two actually changed.
Using one template for all three pricing structures. A single spreadsheet template stretched to cover stipulated price, cost plus, and unit price work will eventually misprice one of them, because the arithmetic genuinely differs between the three, not just the labels.
Leaving the change-order process undocumented until the first dispute. By the time a change order is contested, it is too late to establish what the agreed process was supposed to be. Document it in the template before the first project runs on it, per CCDC 16.
Letting one estimator's shortcuts become the unwritten standard. A fast, experienced estimator's personal shortcuts are valuable, but if they are not written into the shared system, the firm cannot scale past that one person without losing them.
Building the estimating system around this month's software, not this quarter's process. Software changes; the pricing structures, the change process, and the loss-history discipline in this guide do not. Build the process first, and treat the specific tool as replaceable.
Assuming a fast estimate is the same as a scalable one. Speed at the desk of one experienced person says nothing about whether a second or third estimator, or a busier season, will produce the same reliable numbers. Test the system against a slower, less experienced user before calling it scalable.
Mixing pricing structures inside a single template without labelling which is which. A spreadsheet that quietly blends stipulated-price, cost-plus, and unit-price logic in adjacent columns is difficult for anyone but its original author to audit. Label every section of the template with the pricing structure it belongs to, in plain language, not just in a formula only one person understands.
Applying the national escalation figure to every office. The same StatCan release that publishes the 3.5% national number also publishes city-level figures running from 0.2% to 2.7% in the same quarter. Use the city figure when one exists.
Step nine names the national figure. Here is why "national" and "correct for this bid" are not the same thing.
Scenario A. An estimator in Vancouver escalates a $2,000,000 base estimate using the national 3.5% year-over-year figure, adding $70,000 to the price.
Scenario B. The BCPI release that produced that national number also reports Vancouver's own non-residential costs up only 0.2% over the same period — $4,000 on the identical base. The estimator using the national figure has added $66,000 more than the local market actually moved, pricing the bid $66,000 higher than a competitor reading the city-level number in the same release.
The national figure and the city figure come from the same StatCan release, on the same day. Using the wrong one is not a data problem — it is a matter of reading one more row of the same table.
Step nine's national figure hides real spread. The same Q2 2026 release breaks out several cities directly.
A firm with offices in more than one of these cities does not have one escalation rate. It has as many as it has offices, and the national number in step nine is a starting point for a city that isn't in the release, not a substitute for one that is.
Use the national figure as the fallback, and say so on the rate record — the same discipline as the honest-gap rule the rest of this hub applies when a local figure genuinely doesn't exist.
No. The BCPI release in step nine covers non-residential building construction specifically; a firm doing both should track the applicable index for each book separately rather than applying one figure across different types of work.
At minimum, once a year against the release closest to your fiscal year end, per step nine. A firm bidding aggressively in a fast-moving market may find quarterly re-basing worth the administrative cost; most will not.
Treat them separately if your firm bids both at real volume. The BCPI release in step nine tracks non-residential building construction broadly; a firm with a substantial renovation book may find its own historical cost movement diverges enough from new-build costs to justify tracking it as a second line on the rate record, reviewed on the same fixed schedule as step nine rather than folded into the same number.
A 30-minute call is enough to tell you whether it is worth building.