CON-330 · Lesson 5 of 12 · 26 min
Subcontract agreements
The subcontract is where buyout decisions become enforceable. It must describe the scope precisely, carry down the obligations the general contractor owes the owner, set the price and how it is paid, and say what happens when things change or go wrong. CON-220 covers the law behind these clauses: contract formation, the standard form families, payment and lien statutes, pay-when-paid rules and dispute resolution. This lesson is practical. It looks at what a procurement team must get right when it prepares, negotiates and signs a subcontract, and at the clauses that cause the most trouble when they are wrong.
Standard forms and contractor forms
Subcontracts are usually based either on an industry standard form or on the contractor's own form. Standard forms have the advantage of being familiar, balanced and tested in disputes; contractor forms can be tailored to the contractor's risk appetite and prime contracts but often draw more exceptions from subcontractors.
| Form | Use | Notes |
|---|---|---|
| CCA 1 (Stipulated Price Subcontract) | General subcontract between a contractor and a trade | Published by the Canadian Construction Association; designed to work with CCDC 2 prime contracts |
| CCDC 17 (Stipulated Price Contract between Owner and Trade Contractor for Construction Management Projects) | Trade contracts on construction management projects, where the owner contracts directly with trades | The construction manager coordinates; see CON-340 |
| Contractor's own form | Many large contractors | Often more onerous: broad indemnities, pay-if-paid, strict notice periods; expect exceptions |
Whatever the form, two documents should travel with it: the scope review minutes and the responsibility matrix (Lesson 4). Together with the bid package, they define what the subcontractor priced. A subcontract that says only 'Division 23 complete as per plans and specifications' leaves every disputed item to be argued later.
Flow-down: matching the prime contract
The general contractor owes the owner obligations about quality, schedule, warranties, submittals, safety, insurance, notices and disputes. Most of those obligations must be performed by subcontractors. A flow-down clause (also called a conduit or incorporation clause) binds the subcontractor to the prime contract terms that apply to its work, as if the general contractor were the owner. Without it, the general contractor can end up owing the owner something its subcontractor never promised to provide.
A blanket flow-down clause is a start, but the most important terms should be checked one by one, because a general clause may not override a specific conflicting term in the subcontract.
# Compare key subcontract terms with the prime contract (Larch Street, illustrative)
prime = {"warranty_months": 24, "notice_of_claim_days": 10, "ld_per_day": 4_000,
"cgl_limit": 5_000_000, "submittal_review_days": 10}
sub = {"warranty_months": 12, "notice_of_claim_days": 10, "ld_per_day": 0,
"cgl_limit": 5_000_000, "submittal_review_days": 14}
checks = {
"warranty_months": lambda p, s: s >= p, # sub warranty must cover prime warranty
"notice_of_claim_days": lambda p, s: s < p, # sub must notify GC before GC must notify owner
"ld_per_day": lambda p, s: s > 0, # some delay damages should pass down
"cgl_limit": lambda p, s: s >= p,
"submittal_review_days": lambda p, s: s >= p, # GC needs at least the owner's review time
}
for k, ok in checks.items():
print(f"{k:22} prime {prime[k]:>9,} sub {sub[k]:>9,} {'ok' if ok(prime[k], sub[k]) else 'MISMATCH'}")warranty_months prime 24 sub 12 MISMATCH notice_of_claim_days prime 10 sub 10 MISMATCH ld_per_day prime 4,000 sub 0 MISMATCH cgl_limit prime 5,000,000 sub 5,000,000 ok submittal_review_days prime 10 sub 14 ok
Three mismatches appear. The subcontract warranty is 12 months while the owner's is 24 (often because the warranty in the prime contract runs from substantial performance of the whole building while the trade's runs from completion of its own work). The notice period for claims is the same 10 days at both levels, which leaves the general contractor no time to receive the subcontractor's notice and pass it on; the subcontract period should be shorter. And no delay damages pass down at all. Each should be fixed before signature.
Scope, price and the schedule of values
The subcontract price is usually a lump sum (stipulated price), sometimes with unit prices for measured items. For progress billing, the subcontractor provides a schedule of values breaking the price into line items against which it bills each month. The general contractor reviews it for completeness and for front-loading: weighting early items (mobilization, shop drawings, rough-in) above their true cost so that the subcontractor is paid ahead of its work. Front-loading shifts risk to the general contractor, because if the subcontractor defaults, the money left in the subcontract may not cover the remaining work.
# Check a schedule of values for front-loading (mechanical subcontract)
sov = { # line: (value in SOV, estimated true cost)
"Mobilization and bonds": (420_000, 180_000),
"Shop drawings and BIM": (310_000, 160_000),
"Underground plumbing": (480_000, 430_000),
"Rough-in, all floors": (1_900_000, 1_880_000),
"Equipment set": (1_150_000, 1_240_000),
"Finishes and trim": (980_000, 1_180_000),
"Testing, balancing, startup": (240_000, 330_000),
"Closeout and training": (332_000, 392_000),
}
total = sum(v for v, _ in sov.values())
print(f"SOV total {total:,} (subcontract 5,812,000)")
early = ["Mobilization and bonds", "Shop drawings and BIM", "Underground plumbing"]
over = sum(sov[k][0] - sov[k][1] for k in early)
print(f"Front-loading in early lines: {over:,} = {over/total:.1%} of the subcontract")SOV total 5,812,000 (subcontract 5,812,000) Front-loading in early lines: 440,000 = 7.6% of the subcontract
The schedule of values adds up to the subcontract value, but the first three lines are weighted about $440,000 above their estimated cost, about 7.6 % of the subcontract, with the shortfall taken from finishes, startup and closeout. The project manager should ask for the values to be rebalanced before the first billing. A modest allowance for mobilization and bonds is normal; paying for half the closeout work in month one is not.
Payment terms and holdback or retainage
The subcontract must say when the subcontractor submits its billing, how it is certified, when it is paid, and how much is withheld. These terms interact with payment law, which differs between jurisdictions (CON-220 and CON-310).
In provinces with prompt payment legislation (including Ontario, and on federal projects under the Federal Prompt Payment for Construction Work Act), statutory timelines govern payment down the chain once the owner has received a proper invoice, and contract terms cannot override them. Statutory holdback (10 % in most provinces) is deducted at each level and released under the provincial lien or prompt payment statute. The subcontract should mirror the prime contract's invoicing dates so that subcontractor billings can be included in the general contractor's proper invoice, and should set out how disputes over amounts will be notified and adjudicated.
Worked problem
Lining up the billing cycle
Halyard must submit its proper invoice to the owner on the 25th of each month for work to the 20th. Subcontractors currently bill on the last day of the month. What change should the subcontracts make, and why?
Show solution
- Set the subcontractor billing date to the 20th (work to the 20th), with the general contractor's review by the 23rd.
- Allow two working days for questions and corrections.
- Include the approved subcontractor amounts in the owner billing on the 25th.
Answer: Otherwise each subcontractor billing misses the owner cycle and waits an extra month, which subcontractors will price into their bids and which may conflict with statutory payment timelines.
Changes, delays and notices
The changes clause should mirror the prime contract: who can direct a change (only named people at the general contractor), how a change is priced (lump sum quote, unit prices from the bid form, or time and materials with agreed markups), and how quickly the subcontractor must give notice of a change or claim. Notice periods should be shorter at the subcontract level than at the prime level so that the general contractor can collect, review and pass on notices in time.
| Clause | Practical point |
|---|---|
| Changes | Agreed markup percentages for overhead and profit on changes, and on sub-subcontracted work, avoid arguments later |
| Unit prices | Carry the bid form's unit prices into the subcontract for likely changes |
| Schedule | Subcontractor must follow the contractor's schedule and updates, attend coordination meetings and supply crews to meet milestones |
| Delay damages | If the prime contract has liquidated damages, consider passing a share down for delays the subcontractor causes, with a cap |
| Notices | Shorter periods than in the prime contract; specified addresses and methods |
# Liquidated damages: how much of the prime exposure should pass down? (illustrative)
prime_ld_per_day = 4_000
delay_days_caused_by_sub = 9
sub_value = 2_244_000
cap_pct = 0.05 # subcontract LD cap: 5 % of subcontract value
exposure = prime_ld_per_day * delay_days_caused_by_sub
cap = cap_pct * sub_value
recoverable = min(exposure, cap)
print(f"Prime LD exposure from the subcontractor's delay: {exposure:,}")
print(f"Subcontract cap: {cap:,.0f}")
print(f"Recoverable from the subcontractor: {recoverable:,.0f}")Prime LD exposure from the subcontractor's delay: 36,000 Subcontract cap: 112,200 Recoverable from the subcontractor: 36,000
A subcontractor cannot sensibly accept unlimited liability for the owner's liquidated damages on a building many times the value of its subcontract, and most will price or refuse such a clause. A pass-down that is proportionate (damages only for delays the subcontractor causes) and capped (here 5 % of the subcontract) is more likely to be accepted and enforced.
Insurance, indemnity and warranties
The subcontract sets the insurance each subcontractor must carry, typically commercial general liability, automobile, and for some trades professional liability (design-assist and delegated design), pollution or equipment coverage, with the general contractor and owner named as additional insureds. Certificates must be collected and checked before work starts (Lesson 3), and tracked for renewals.
Indemnity clauses allocate responsibility for third-party claims. Broad clauses that make the subcontractor indemnify the general contractor even for the general contractor's own negligence are common in contractor forms but are often restricted by statute or narrowed by courts.
Canadian courts generally enforce indemnity clauses according to their wording but read ambiguous indemnities narrowly against the party relying on them; clear words are needed to cover a party's own negligence. Provincial prompt payment and lien statutes, not the subcontract, govern holdback and statutory payment rights.
Warranties should match the prime contract in length and start date, and the subcontract should require warranty documents and manufacturer warranties to be delivered in the form the owner requires at closeout (Lesson 11).
Back-charges, default and termination
A back-charge is a deduction from a subcontractor's payments for costs the general contractor incurred because of the subcontractor, for example clean-up the trade failed to do, damage it caused, or work the contractor had to perform to keep the schedule. The subcontract should require written notice and an opportunity to cure before a back-charge is made, which both is fair and makes the back-charge enforceable. Default and termination clauses set out how the contractor can supplement a failing trade's forces, terminate for default after notice, or terminate for convenience, and what the subcontractor is paid in each case. Lesson 11 covers how these clauses are used in practice.
Exceptions and negotiation
Subcontractors often return the subcontract with exceptions: deleting a broad indemnity, limiting liquidated damages, changing payment terms. The procurement team should decide in advance which terms are firm (usually flow-downs the owner insists on, insurance, safety), which are negotiable, and who may approve changes. Exceptions accepted on one subcontract should be checked against the prime contract so that the general contractor does not give away protection it still owes the owner.
Common mistakes
MistakeDefining scope only by specification division.
InsteadAttach the responsibility matrix and scope review minutes to the subcontract.
MistakeRelying on a blanket flow-down clause.
InsteadCheck warranties, notices, delay damages, insurance and review periods one by one against the prime contract.
MistakeUsing the same notice period at both levels.
InsteadMake subcontract notice periods shorter so notices can be passed up in time.
MistakeAccepting a front-loaded schedule of values.
InsteadCompare early lines with their true cost and rebalance before the first billing.
MistakePassing unlimited owner liquidated damages to a small trade.
InsteadPass down proportionate, capped delay damages for delays the subcontractor causes.
MistakeBack-charging without notice.
InsteadGive written notice and an opportunity to cure, then document the cost.
Summary and key terms
- Subcontracts are based on standard forms or contractor forms; scope review minutes and the responsibility matrix should be attached.
- Flow-down clauses carry prime contract obligations to subcontractors, but key terms should be checked individually.
- Schedules of values must total the subcontract value and should not be front-loaded.
- Payment terms and billing cycles must align with the prime contract and with payment statutes and holdback or retainage rules.
- Change, notice and delay-damage terms should mirror the prime contract, with shorter notice periods and proportionate, capped damages.
- Insurance, indemnity and warranty terms protect against third-party and defect risks, subject to local law.
- Back-charges, default and termination need clear notice and cure procedures.
- Subcontract
- The contract between the general contractor and a trade contractor.
- Flow-down clause
- A clause binding the subcontractor to the prime contract terms that apply to its work.
- Schedule of values
- A breakdown of the contract price used for progress billing.
- Front-loading
- Weighting early schedule-of-values items above their true cost.
- Liquidated damages
- Pre-agreed damages for each day of delay.
- Indemnity
- A promise to compensate another party for specified losses or claims.
- Additional insured
- A party added to another's insurance policy for specified risks.
- Back-charge
- A deduction from a subcontractor's payment for costs it caused.
- Termination for convenience
- Ending a contract without fault, with payment for work done and agreed costs.
- Exception
- A change a bidder or subcontractor requests to the proposed contract terms.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Why attach the responsibility matrix to the subcontract?
Show answer
It defines exactly which disputed items the subcontractor included.
The prime warranty is 24 months from substantial performance; the subcontract warranty is 12 months from the trade's completion. What is the risk?
Show answer
The contractor may owe the owner warranty work after the subcontractor's warranty has expired.
Why should subcontract notice periods be shorter than prime notice periods?
Show answer
So the contractor can receive, review and pass notices to the owner within its own deadline.
A schedule of values shows mobilization at $300,000 against a true cost of $120,000 on a $3 million subcontract. How much is front-loaded, as a percentage?
Show answer
$180,000, or 6 % of the subcontract.
Why is front-loading risky for the contractor?
Show answer
If the subcontractor defaults, the unpaid balance may not cover the remaining work.
Prime LDs are $3,500 per day; a subcontractor causes 12 days of delay; the cap is 5 % of a $700,000 subcontract. How much can be recovered?
Show answer
Exposure $42,000; cap $35,000; recoverable $35,000.
Name three insurance coverages commonly required of subcontractors.
Show answer
Commercial general liability, automobile, professional liability for design work, pollution, equipment.
How do Canadian courts usually treat ambiguous indemnity clauses?
Show answer
They read them narrowly against the party relying on them.
What should happen before a back-charge is made?
Show answer
Written notice and an opportunity to cure, then documentation of the cost.
Which terms are usually treated as firm in subcontract negotiation?
Show answer
Owner-required flow-downs, insurance and safety obligations.
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.