CON-330 · Lesson 11 of 12 · 28 min
Managing subcontractors during construction
Signing the subcontract is the start of a relationship that will last a year or more. Most of a general contractor's success depends on how well it manages that relationship: setting clear expectations at the start, coordinating trades week by week, spotting problems early, enforcing the subcontract fairly when needed, and closing out cleanly so that the owner receives a complete, documented building and the subcontractor receives its final payment. This lesson follows a subcontract from kickoff to closeout. Payment certification and change orders are covered in CON-310 and CON-220, safety supervision in the HSE courses, and default insurance and surety in CON-350.
The subcontractor kickoff meeting
Before a trade mobilizes, the project manager and superintendent should hold a kickoff (or preconstruction) meeting with the subcontractor's project manager and foreman. It turns the subcontract into a shared plan for the field.
| Topic | What to agree |
|---|---|
| Scope | Walk the responsibility matrix and scope review minutes again with the foreman, who usually was not at the scope review |
| Schedule | Start date, milestones, sequence with other trades, planned crew size by month, look-ahead process |
| Submittals and long-lead items | Outstanding submittals, release dates, delivery dates |
| Site logistics | Laydown, crane and hoist booking, deliveries, parking, waste |
| Safety | Site orientation, safety plan, hazard assessments, training records, incident reporting |
| Quality | Inspection and test plan, mock-ups, first-installation reviews, deficiency process |
| Communication | Who directs work, how instructions and RFIs are issued, meeting schedule |
| Billing and changes | Billing date and format, change request procedure, notice periods |
| Closeout | What will be needed at the end: warranties, manuals, as-builts, training |
A short written record of the kickoff, signed by both sides, avoids the 'nobody told us' conversations that otherwise come months later. The foreman and the superintendent should leave the meeting knowing each other and how to reach each other.
Coordinating the trades
Day-to-day coordination happens through the look-ahead schedule, usually three weeks long and updated weekly, and the weekly coordination meeting where trades agree on sequence, access and hand-offs. The superintendent runs both. Good look-aheads are built with the trades, not issued to them, and each trade commits to the work it will complete in the coming week. The share of commitments actually completed (sometimes called percent plan complete) is a simple measure of how reliable the plan is.
# Weekly commitments completed by trade (percent plan complete), weeks 30 to 33
commitments = {
# (committed tasks, completed) for 4 weeks
"Framing": [(12, 11), (12, 12), (14, 12), (13, 13)],
"Mechanical": [(9, 7), (10, 6), (10, 6), (11, 6)],
"Electrical": [(10, 9), (10, 9), (11, 10), (10, 9)],
"Windows": [(6, 6), (6, 5), (7, 7), (6, 6)],
}
for trade, weeks in commitments.items():
ppc = [c / n for n, c in weeks]
trend = "falling" if ppc[-1] < ppc[0] - 0.1 else "steady"
print(f"{trade:11} " + " ".join(f"{p:4.0%}" for p in ppc) + f" {trend}")Framing 92% 100% 86% 100% steady Mechanical 78% 60% 60% 55% falling Electrical 90% 90% 91% 90% steady Windows 100% 83% 100% 100% steady
Mechanical's completion rate has fallen from about 78 % to 55 % over four weeks, while the other trades are steady. That trend is an early warning: the mechanical crew is not keeping up, and if nothing changes the rough-in will delay drywall on the upper floors. The superintendent should raise it now, informally first, rather than wait for a missed milestone.
Tracking manpower and productivity
Most performance problems show up first as too few workers on site. The subcontract schedule or the kickoff meeting should include a planned crew size by month; comparing actual daily headcounts with the plan, and with the work actually completed, shows whether a trade is resourcing the job properly.
# Mechanical crew: planned versus actual average crew, and work completed (illustrative)
months = ["Jul", "Aug", "Sep", "Oct"]
planned_crew = [8, 12, 16, 16]
actual_crew = [8, 10, 11, 10]
planned_pct = [8, 18, 31, 44] # cumulative % of mechanical scope planned
actual_pct = [8, 16, 25, 33] # cumulative % completed
for m, p, a, pp, ap in zip(months, planned_crew, actual_crew, planned_pct, actual_pct):
print(f"{m}: crew {a:2} of {p:2} planned | progress {ap:2}% of {pp:2}% planned")
behind = planned_pct[-1] - actual_pct[-1]
print(f"Behind plan by {behind} percentage points of a 5,812,000 subcontract = {behind/100 * 5_812_000:,.0f} of work")Jul: crew 8 of 8 planned | progress 8% of 8% planned Aug: crew 10 of 12 planned | progress 16% of 18% planned Sep: crew 11 of 16 planned | progress 25% of 31% planned Oct: crew 10 of 16 planned | progress 33% of 44% planned Behind plan by 11 percentage points of a 5,812,000 subcontract = 639,320 of work
The mechanical subcontractor has been running about two-thirds of the planned crew since September, and is now 11 points behind plan, about $640,000 of work. The data turn a vague sense that 'mechanical is slow' into a specific, documented shortfall that can be discussed with the subcontractor's management.
Escalating performance problems
When a trade falls behind or its quality slips, the contractor's response should be proportionate and documented, escalating only as needed. Jumping straight to a default notice damages the relationship and may be unenforceable if the subcontract requires earlier steps; waiting too long leaves no time to recover.
| Step | Purpose | Record |
|---|---|---|
| Field conversation | Raise the issue early with the foreman | Superintendent's daily report |
| Management meeting | Agree causes and actions with the subcontractor's project manager or owner | Meeting minutes with actions and dates |
| Written notice of concern | Put the problem on record and request a recovery plan | Letter or email citing facts and the subcontract |
| Notice to cure | Formal notice under the default clause giving a period to correct | Notice in the form and to the address the subcontract requires |
| Supplement forces | Bring in other labour to recover, charging the cost to the subcontractor | Cost records, daily reports, notice of back-charge |
| Terminate for default | End the subcontract for the uncured default; complete the work by others | Termination notice, inventory, accounting, surety notice |
The cause matters. A trade that is behind because the general contractor's own sequence changed, because another trade is late, or because of unresolved design questions is not in default, and treating it as if it were invites a claim. Before escalating, the project team should honestly check whether the contractor or others contributed to the problem.
Worked problem
A recovery plan
After the management meeting, Halyard asks the mechanical subcontractor for a recovery plan. The firm proposes to increase its crew from 10 to 15 for eight weeks and work two Saturdays. At its current productivity of about 1.2 percentage points of scope per worker-month, will that recover the 11-point gap by the drywall milestone in two months?
Show solution
- Planned progress in the next two months: about 13 points per month at 16 workers, so the plan reaches 44 + 26 = 70 %.
- Recovery crew: 15 workers × 1.2 points × 2 months = 36 points, plus about 1 point from the Saturdays.
- Forecast: 33 + 37 = 70 %.
Answer: The plan just recovers the gap, with no margin for error. Halyard should accept it, track weekly headcount and completion against it, and agree in writing that if the crew falls below 15 for more than a week, Halyard will issue a notice to cure. Monitoring turns the plan into a commitment.
Back-charges and supplementing forces
If a subcontractor fails to do what its subcontract requires, such as clean-up, protection, or keeping up with the schedule, and the contractor has given notice, the contractor may do the work itself or through others and back-charge the cost. A back-charge must be supported by notice, an opportunity to cure (where the subcontract requires it) and clear cost records. Unsupported back-charges are among the commonest sources of subcontractor claims.
# Back-charge for clean-up and protection the drywall trade failed to perform (illustrative)
crew_hours, crew_rate = 36, 68 # Halyard general crew
bin_charge = 650 # extra waste bin
materials = 420 # poly and tape for protection
markup = 0.10 # as allowed in the subcontract for back-charges
direct = crew_hours * crew_rate + bin_charge + materials
total = direct * (1 + markup)
print(f"Direct cost {direct:,.0f}; with {markup:.0%} markup {total:,.0f}")
print("Supporting records: notice dated, photos, daily reports with hours, bin invoice")Direct cost 3,518; with 10% markup 3,870 Supporting records: notice dated, photos, daily reports with hours, bin invoice
Back-charges should be raised promptly, not saved up for the end of the job. A subcontractor who receives a surprise list of $80,000 of back-charges at final payment will dispute all of them; one that receives a notice, photos and a $3,200 charge the week it happened is more likely to accept it and fix the behaviour.
Default and termination
Terminating a subcontract for default is a serious step, usually the last on the ladder. The subcontract sets the procedure: written notice of default, a cure period, and a further notice of termination if the default is not cured. The contractor then completes the work by others and charges the extra cost to the defaulting subcontractor (or its surety, if bonded). Before terminating, the contractor should confirm that the procedure has been followed exactly, that the default is the subcontractor's and not caused by others, and that replacement capacity exists. If the subcontractor is bonded, its surety must be notified as the bond requires, often before termination, so that it can choose how to respond (CON-350). Termination for convenience, where the contractor ends the subcontract without fault, is a separate right that usually requires paying for work done plus agreed costs.
Worked problem
The cost of completing defaulted work
Halyard terminates a $690,000 fire protection subcontract for default when it is 60 % complete. Halyard has certified $414,000 of work, paid $372,600 and holds $41,400 of holdback. A replacement firm will finish the work for $335,000, and Halyard incurs $22,000 in extra supervision and delay costs. What does the defaulting subcontractor owe Halyard?
Show solution
- Contract balance not yet paid (including holdback): 690,000 − 372,600 = $317,400.
- Cost to complete by others plus extra costs: 335,000 + 22,000 = $357,000.
- Excess cost: 357,000 − 317,400 = $39,600.
Answer: The subcontractor (or its surety, if bonded) owes Halyard about $39,600. Without a bond, recovering it from a firm that has just failed may be difficult, which is why prequalification and protection decisions (Lesson 3) matter so much.
Evaluating subcontractor performance
At the end of each subcontract, and ideally at mid-point, the project team should rate the subcontractor on a short, consistent scorecard. The results feed the approved bidders list (Lesson 3) and give the subcontractor useful feedback.
# End-of-project subcontractor scorecard (1 to 5)
criteria = ["Schedule", "Quality", "Safety", "Coordination", "Paperwork and closeout", "Changes and claims"]
scores = {"Framing": [5, 4, 5, 4, 4, 5], "Mechanical": [2, 4, 4, 3, 3, 3], "Windows": [4, 3, 5, 4, 2, 4]}
for trade, s in scores.items():
avg = sum(s) / len(s)
weak = [c for c, v in zip(criteria, s) if v <= 2]
print(f"{trade:11} average {avg:3.1f} weak: {', '.join(weak) if weak else 'none'}")Framing average 4.5 weak: none Mechanical average 3.2 weak: Schedule Windows average 3.7 weak: Paperwork and closeout
Closeout
Closeout is where many subcontracts drag on for months. Each trade must finish its deficiencies, deliver its closeout documents and be paid its final amount and released holdback or retainage. Starting closeout planning at the kickoff meeting, and tracking it trade by trade from the time a trade is 75 % complete, keeps it from becoming a scramble at handover.
| Closeout item | Notes |
|---|---|
| Deficiencies completed | From the contractor's and consultant's deficiency lists, signed off |
| Warranties | Subcontractor and manufacturer warranties in the owner's name, with correct start dates |
| Operation and maintenance manuals | Complete, organized as the specification requires, often in digital form |
| As-built drawings | Marked-up drawings or models showing what was actually installed |
| Training | Owner staff trained on systems, with sign-off |
| Spare parts and attic stock | Delivered and receipted |
| Certificates and inspections | Permits closed, authority inspections, testing and commissioning reports |
| Statutory declaration and release | Statutory declaration (for example, CCDC 9A) that the subcontractor's own suppliers and workers are paid, before holdback release or final payment |
# Closeout tracker: share of items complete by trade (illustrative)
items = ["deficiencies", "warranties", "O&M manuals", "as-builts", "training", "release documents"]
status = {
"Framing": [1, 1, 1, 1, 1, 1],
"Mechanical": [0, 1, 0, 0, 1, 0],
"Electrical": [1, 1, 1, 0, 1, 0],
"Windows": [1, 0, 1, 1, 1, 0],
}
for trade, s in status.items():
missing = [i for i, ok in zip(items, s) if not ok]
print(f"{trade:11} {sum(s)}/{len(s)} complete missing: {', '.join(missing) if missing else 'none'}")Framing 6/6 complete missing: none Mechanical 2/6 complete missing: deficiencies, O&M manuals, as-builts, release documents Electrical 4/6 complete missing: as-builts, release documents Windows 4/6 complete missing: warranties, release documents
Holdback is released under the provincial lien or prompt payment statute after the relevant period has passed with no liens registered, or on the annual or phased release schedule some provinces now require (CON-220 and CON-320). The contractor should not release subcontractor holdback before its own holdback is secure, and should obtain the subcontractor's statutory declaration first.
Common mistakes
MistakeSkipping the kickoff meeting because the subcontract is signed.
InsteadHold a kickoff with the foreman covering scope, schedule, logistics, safety, quality and closeout.
MistakeIssuing look-ahead schedules without trade input.
InsteadBuild look-aheads with the trades and track commitments completed.
MistakeRelying on impressions of slow progress.
InsteadCompare actual crews and completed work with the plan and document the gap.
MistakeJumping to a default notice.
InsteadEscalate in proportionate, documented steps, and check whether others caused the delay.
MistakeSaving back-charges for the end of the job.
InsteadGive notice, document and charge promptly.
MistakeLeaving closeout to the last month.
InsteadPlan closeout at kickoff and track it trade by trade from about 75 % complete.
Summary and key terms
- A kickoff meeting with the foreman turns the subcontract into a shared field plan.
- Look-ahead schedules built with trades, and the share of commitments completed, give early warning of slippage.
- Comparing actual crews and progress with the plan documents performance problems.
- Escalation should be proportionate and documented: conversation, meeting, notice of concern, notice to cure, supplementing forces, termination.
- Back-charges need notice, an opportunity to cure and cost records, and should be raised promptly.
- Termination for default follows the subcontract procedure exactly, with surety notice where bonded.
- Closeout requires deficiencies, warranties, manuals, as-builts, training and release documents before final payment and holdback or retainage release.
- Kickoff meeting
- A meeting before mobilization to agree how the subcontract will be carried out in the field.
- Look-ahead schedule
- A short-term schedule, often three weeks, updated weekly with the trades.
- Percent plan complete
- The share of weekly commitments actually completed.
- Recovery plan
- A subcontractor's plan to regain lost progress.
- Notice to cure
- A formal notice requiring a party to correct a default within a stated period.
- Supplementing forces
- Adding other labour to a subcontractor's work at its cost.
- Termination for default
- Ending a subcontract because of an uncured breach.
- Scorecard
- A consistent rating of a subcontractor's performance.
- Closeout documents
- Warranties, manuals, as-builts and other records delivered at completion.
- Payment release document
- A sworn statement that the subcontractor's workers and suppliers have been paid.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Name five topics for a subcontractor kickoff meeting.
Show answer
Scope, schedule, submittals, logistics, safety, quality, communication, billing and changes, closeout.
A trade completed 6 of 11 committed tasks. What is its percent plan complete?
Show answer
About 55 %.
Planned crew 16, actual 10. What share of the planned crew is on site?
Show answer
62.5 %.
Why check the cause before escalating?
Show answer
If the contractor or others caused the delay, the trade is not in default and escalation invites a claim.
List the escalation steps in order.
Show answer
Field conversation, management meeting, written notice of concern, notice to cure, supplement forces, termination.
A back-charge has 20 labour hours at $68, a $650 bin and $300 of materials, with a 10 % markup. What is the total?
Show answer
Direct 2,310; total $2,541.
A $500,000 subcontract is terminated with $300,000 paid. Completion costs $240,000 plus $15,000 of extra costs. What is owed to the contractor?
Show answer
Balance 200,000; cost 255,000; $55,000 owed.
Why notify the surety before terminating a bonded subcontract?
Show answer
The bond usually requires notice so the surety can respond; failing to notify can affect recovery.
Name four closeout items.
Show answer
Deficiencies, warranties, O&M manuals, as-builts, training, spare parts, inspections, release documents.
What must a subcontractor provide before holdback release?
Show answer
A statutory declaration that its workers and suppliers are paid.
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.