CIV-450 · Lesson 3 of 12 · 20 min
Procurement, tendering and bid evaluation
With the delivery method chosen, the city must buy the construction. Public owners do this by competitive tendering: they publish the tender documents, invite contractors to submit priced bids by a fixed closing time, open them in public, check them for compliance, and award the contract to the lowest compliant bidder. The process looks mechanical, but in Canada it sits on a body of case law that creates contractual obligations from the moment a bid is submitted, and mistakes in running a tender are a common source of lawsuits against municipalities. ENGG-404 introduced the law; this lesson applies it to the Ridgeway tender.
The tender package
A complete tender package tells bidders exactly what to price and how they will be judged. It normally contains the invitation or advertisement, the instructions to bidders, the bid form with its schedule of items and quantities, the form of agreement, the general and supplementary conditions, the specifications, the drawings, and reference documents such as the geotechnical report, the environmental permits and utility information. For the Ridgeway package the schedule of items lists 16 lines, each with a unit, an estimated quantity and blanks for the unit price and the extension.
The instructions to bidders deserve as much care as the technical documents, because they set the rules of the competition: the closing time and place, the required bid security, the treatment of arithmetic errors and qualified bids, the right to reject any or all bids, the evaluation basis and the documents to be submitted after award. Ambiguity here is expensive. A tender that says the lowest bid will be accepted but also reserves a right to choose on other criteria invites a challenge from whichever bidder loses.
Tender law in Canada
In R. v. Ron Engineering (1981), the Supreme Court of Canada held that submitting a compliant bid in response to a call for tenders can create a preliminary contract, called contract A, between the owner and each bidder, separate from the construction contract, contract B, that follows award. Under contract A the bidder usually cannot withdraw its bid during the irrevocability period, which is why bid security is enforceable, and the owner owes obligations too. In M.J.B. Enterprises v. Defence Construction (1999), the Court found that the owner has an implied duty to accept only compliant bids, and later cases established a duty to treat all bidders fairly and equally and to evaluate bids only on disclosed criteria. A privilege clause, reserving the right to reject the lowest or any bid, does not let the owner accept a non-compliant bid or apply hidden criteria.
The practical lesson is the same on both sides of the border. Write clear rules, follow them exactly, keep a record, and treat every bidder alike. Answers to bidders' questions must be issued as addenda to all bidders, never given privately by telephone. The pre-bid site meeting for the Ridgeway package was recorded, and its minutes, including an answer about where the contractor could stockpile topsoil, were issued as addendum 2.
Bonds and bid security
Canadian public owners commonly require bid security, either a bid bond or a certified cheque, of about 10 % of the bid price, which is forfeited if the successful bidder refuses to sign the contract. On award, the contractor provides a performance bond, guaranteeing completion of the work, and a labour and material payment bond, guaranteeing payment of subcontractors and suppliers. Bond amounts of 50 % of the contract price each are common on municipal work. A surety issues these bonds only after examining the contractor's finances, experience and workload, so the bonding requirement is itself a test of the bidder's capacity.
Opening and checking the bids
Five bids arrived before the closing time. At the public opening, the city clerk read out each bidder's name and total. Afterwards, Priya's team checked each bid in a fixed order: was it signed and on time, were the addenda acknowledged, was the bid security in the right form and amount, were all items priced, and were the extensions and total arithmetically correct. The instructions to bidders stated that where the extension of an item does not equal the quantity times the unit price, the unit price governs and the total is corrected, a common provision for unit-price contracts.
Then the team looked for unbalanced bids. A bid is unbalanced when some unit prices are well above the cost of the work and others well below, while the total stays competitive. Front-loading, inflating early items such as mobilization and traffic control, gets the contractor paid sooner. Quantity gaming, inflating items the bidder expects to overrun and cutting items it expects to underrun, raises the final cost if its guess is right. A mathematically unbalanced bid is one with prices out of line with cost; it is materially unbalanced if there is reasonable doubt that accepting it will give the owner the lowest final cost.
# Opening and checking the tenders for the Ridgeway Road East contract
UNITS = "SI"
SI = UNITS == "SI"
CUR = "CAD" if SI else "USD"
# (item, quantity, engineer's unit price) for the items that drive the comparison; the rest is one sum
if SI:
items = [("Earth excavation, m3", 14500, 21.0), ("Storm sewer, m", 1150, 680.0), ("Box culvert, m", 26, 52000.0),
("Retaining wall, m", 140, 5200.0), ("Traffic control, LS", 1, 420000.0), ("Mobilization, LS", 1, 358825.0)]
others = 3590000.0
else:
items = [("Earth excavation, yd3", 19000, 15.0), ("Storm sewer, ft", 3770, 190.0), ("Box culvert, ft", 85, 12800.0),
("Retaining wall, ft", 460, 1250.0), ("Traffic control, LS", 1, 330000.0), ("Mobilization, LS", 1, 297175.0)]
others = 2949200.0
est = sum(q * p for _, q, p in items) + others
# each bidder's unit price as a multiple of the engineer's, its "all other items" sum, and the total it wrote on the form
bids = {"Northline Civil": ([0.95, 0.97, 0.96, 0.98, 0.90, 0.85], 0.975, None),
"Shield Country": ([1.00, 1.02, 0.99, 1.01, 1.05, 1.00], 0.990, None),
"Harbourline": ([0.92, 0.95, 1.00, 0.97, 0.95, 0.95], 0.960, 0.958),
"Pinewood Earthworks": ([0.55, 0.96, 0.94, 0.95, 1.80, 2.40], 0.945, None),
"Stonebridge": ([1.05, 1.06, 1.04, 1.03, 1.10, 1.10], 1.030, None)}
print(f"Engineer estimate: {est:,.0f} {CUR}\n")
rows = []
for name, (m, mo, written) in bids.items():
total = sum(q * p * f for (_, q, p), f in zip(items, m)) + others * mo
shown = est * written if written else total
flags = [items[i][0].split(",")[0] for i, f in enumerate(m) if f > 1.5 or f < 0.65]
rows.append((total, name, shown, flags, m, mo))
for total, name, shown, flags, m, mo in sorted(rows):
note = "" if abs(shown - total) < 1 else f" form total {shown:,.0f} differs: extension error"
print(f"{name:20s} corrected total {total:>12,.0f} {total / est - 1:+.1%} vs estimate{note}")
if flags: print(f"{'':20s} unbalanced unit prices: {', '.join(flags)}")
# what if excavation overruns by 30 % and the culvert needs 2 more segments' length?
print("\nRanking if excavation overruns by 30 % and the culvert grows by 2 units:")
q2 = [q * (1.30 if i == 0 else 1.0) + (2 if i == 2 else 0) for i, (_, q, _) in enumerate(items)]
alt = sorted((sum(qq * p * f for qq, (_, _, p), f in zip(q2, items, m)) + others * mo, name) for _, name, _, _, m, mo in rows)
for t, name in alt: print(f" {name:20s} {t:>12,.0f}")Engineer estimate: 7,535,325 CAD
Northline Civil corrected total 7,242,426 -3.9% vs estimate
Harbourline corrected total 7,267,484 -3.6% vs estimate form total 7,218,841 differs: extension error
Shield Country corrected total 7,529,825 -0.1% vs estimate
Stonebridge corrected total 7,858,972 +4.3% vs estimate
Pinewood Earthworks corrected total 7,890,405 +4.7% vs estimate
unbalanced unit prices: Earth excavation, Traffic control, Mobilization
Ranking if excavation overruns by 30 % and the culvert grows by 2 units:
Northline Civil 7,429,049
Harbourline 7,455,526
Shield Country 7,724,135
Pinewood Earthworks 8,038,408
Stonebridge 8,063,050What the checks found
Harbourline's form showed a total of CAD 7,218,841, which would have made it the apparent low bidder at the public opening. Its storm sewer extension was miscalculated; with the unit prices governing, its corrected total is CAD 7,267,484, second to Northline Civil at CAD 7,242,426. The city's tender rules required this correction, and the record of the calculation was sent to both bidders the same day. Pinewood Earthworks priced excavation at 55 % of the engineer's unit price while charging 1.8 times the estimate for traffic control and 2.4 times for mobilization, a classic front-loaded pattern. Its bid was not the lowest, so the question of rejecting it did not arise, but the screen is run on every bid.
The overrun test asks whether the ranking would change if the quantities turned out differently. With excavation 30 % higher, a real possibility in the varved clay, and two more units of culvert length, Northline stays lowest. Had a bidder with very low excavation and high fixed items been close to the top, the test could have shown that the apparent low bid would cost the city more in the end, which is the evidence needed to reject a bid as materially unbalanced.
Worked problem
Correcting an extension error
A bidder enters a storm sewer unit price of CAD 646.00 per metre for 1,150 m and writes an extension of CAD 694,327. What is the corrected extension, and by how much does the total change?
Show solution
- \[1150 \times 646.00 = 742{,}900\]
- \[742{,}900 - 694{,}327 = 48{,}573\]
Answer: The corrected extension is CAD 742,900 and the bid total rises by CAD 48,573.
Prequalification and best value
Lowest price is not the only way to choose a contractor. Many owners prequalify bidders before the tender, inviting statements of qualifications and allowing only firms with relevant experience, adequate bonding capacity, a sound safety record and suitable key staff to bid. Prequalification keeps the price competition among capable firms and reduces the risk of awarding to a contractor that cannot perform. It must itself be run fairly, with published criteria and scoring, because a firm excluded at that stage has lost its chance to compete.
For complex work, owners increasingly use best-value selection, in which price is combined with scored technical proposals: the approach to staging, the schedule, the team, the management of key risks. The weights must be stated in advance and applied as stated. Best value suits work where the contractor's approach genuinely matters, such as a bridge replacement under traffic or a tunnel. For the Ridgeway package, with complete design and standard road work, the city judged that prequalification on experience with in-water culvert work and soft ground, followed by lowest compliant price, would give the best result. Six firms applied, five qualified and all five bid.
Whatever the selection method, the owner should also think about the market. A tender released in late winter, when contractors are filling their order books for the season, attracts more and sharper bids than one released in midsummer, when crews are committed. The city released the Ridgeway tender in February with closing in mid-March, award in April and a start in early May, which is typical for northern road work.
Award and the transition to the contract
Before award, Priya's team checked that Northline's bid was within the approved budget, confirmed its references on two similar municipal contracts, and reviewed its safety record and its proposed superintendent. The recommendation went to council with the tender summary, the corrected totals and the budget comparison. After award, Northline had a fixed period to deliver the signed agreement, the performance and labour and material payment bonds, the certificate of insurance and its clearance from the workplace safety insurer, and to attend the pre-construction meeting.
Procurement does not end at award. The tender documents become the contract, and every ambiguity in them becomes a question during construction. The best procurement work an engineer does is invisible: a bid form that matches the drawings, quantities that are close to the truth, and specifications that say once, clearly, what is required.
Practical points
- Write the instructions to bidders as carefully as the specifications, and follow them exactly.
- Issue every answer to every bidder by addendum.
- Check every bid for compliance, arithmetic and unbalanced prices before recommending award.
- Test whether the ranking survives plausible quantity overruns.
- Use bonds and responsibility checks to test the bidder's capacity, not just its price.
Common mistakes
MistakeAccepting a bid with a material defect because it is the lowest.
InsteadA non-compliant bid must be rejected; waiving a material defect is unfair to other bidders.
MistakeAnswering a bidder's question by telephone.
InsteadIssue an addendum so that every bidder has the same information.
MistakeTaking the total written on the form as final.
InsteadRecompute the extensions; the bid rules say which governs.
MistakeIgnoring unbalanced unit prices in the low bid.
InsteadTest whether quantity changes could make the apparent low bid the costliest.
Summary and key terms
- Canadian tender law creates contract A on submission of a compliant bid, with duties of fairness on the owner.
- The tender package defines what is priced and how bids are judged; addenda must go to all bidders.
- Bid security, a performance bond and a labour and material payment bond protect the owner and subcontractors.
- Bids are checked for compliance, arithmetic and unbalanced unit prices.
- An extension error was corrected under the bid rules, changing the apparent low bidder.
- Testing the ranking against quantity overruns guards against materially unbalanced bids.
- Tender package
- The full set of documents issued to bidders, which becomes the contract on award.
- Addendum
- A formal change or clarification to the tender documents issued to all bidders before closing.
- Bid security
- A bond or deposit that guarantees the bidder will sign the contract if awarded.
- Performance bond
- A surety bond guaranteeing that the contractor will complete the work.
- Labour and material payment bond
- A surety bond guaranteeing payment of subcontractors and suppliers.
- Unbalanced bid
- A bid whose unit prices are out of line with the cost of the items while the total stays competitive.
- Front-loading
- Inflating prices of early items so the contractor is paid sooner.
- Contract A
- The preliminary contract formed between owner and bidder when a compliant bid is submitted.
Practice problems
Work each problem on paper first, then reveal the answer to check.
A bid omits the unit price for one minor item. Is it compliant? What should the owner check first?
Show answer
Check the tender rules: an unpriced item may be a material defect; the owner must apply the stated rule consistently.
Why does front-loading matter to the owner if the total is unchanged?
Show answer
The owner pays earlier than the value of work done, increasing its exposure if the contractor defaults.
Excavation is bid at CAD 11.55 per m³ by one bidder and CAD 21.00 by another. If the quantity rises from 14,500 to 18,850 m³, by how much does the gap between them change?
Show answer
The gap on this item grows by 4,350 × 9.45 = CAD 41,108.
What should the owner do if a bidder asks privately where the creek diversion pipe may be placed?
Show answer
Answer in writing by addendum to all bidders.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.