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.

Subcontractor kickoff meeting agenda.
TopicWhat to agree
ScopeWalk the responsibility matrix and scope review minutes again with the foreman, who usually was not at the scope review
ScheduleStart date, milestones, sequence with other trades, planned crew size by month, look-ahead process
Submittals and long-lead itemsOutstanding submittals, release dates, delivery dates
Site logisticsLaydown, crane and hoist booking, deliveries, parking, waste
SafetySite orientation, safety plan, hazard assessments, training records, incident reporting
QualityInspection and test plan, mock-ups, first-installation reviews, deficiency process
CommunicationWho directs work, how instructions and RFIs are issued, meeting schedule
Billing and changesBilling date and format, change request procedure, notice periods
CloseoutWhat 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}")
Output
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")
Output
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.

Line chart over four months showing planned mechanical crew rising from 8 to 16 workers while the actual crew levels off at about 10 to 11. A second panel shows cumulative planned progress rising to 44 percent and actual progress to 33 percent.
Planned and actual crew and progress for the mechanical subcontract (illustrative).

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.

Ladder of six steps from bottom to top: field conversation with the foreman, meeting with the subcontractor's project manager, written notice of concern with a recovery plan requested, formal notice to cure under the subcontract, supplementing the subcontractor's forces at its cost, and termination for default.
Escalation ladder for subcontractor performance problems.
Escalation steps and their records.
StepPurposeRecord
Field conversationRaise the issue early with the foremanSuperintendent's daily report
Management meetingAgree causes and actions with the subcontractor's project manager or ownerMeeting minutes with actions and dates
Written notice of concernPut the problem on record and request a recovery planLetter or email citing facts and the subcontract
Notice to cureFormal notice under the default clause giving a period to correctNotice in the form and to the address the subcontract requires
Supplement forcesBring in other labour to recover, charging the cost to the subcontractorCost records, daily reports, notice of back-charge
Terminate for defaultEnd the subcontract for the uncured default; complete the work by othersTermination 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
  1. Planned progress in the next two months: about 13 points per month at 16 workers, so the plan reaches 44 + 26 = 70 %.
  2. Recovery crew: 15 workers × 1.2 points × 2 months = 36 points, plus about 1 point from the Saturdays.
  3. 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")
Output
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
  1. Contract balance not yet paid (including holdback): 690,000 − 372,600 = $317,400.
  2. Cost to complete by others plus extra costs: 335,000 + 22,000 = $357,000.
  3. 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'}")
Output
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.

Subcontractor closeout items.
Closeout itemNotes
Deficiencies completedFrom the contractor's and consultant's deficiency lists, signed off
WarrantiesSubcontractor and manufacturer warranties in the owner's name, with correct start dates
Operation and maintenance manualsComplete, organized as the specification requires, often in digital form
As-built drawingsMarked-up drawings or models showing what was actually installed
TrainingOwner staff trained on systems, with sign-off
Spare parts and attic stockDelivered and receipted
Certificates and inspectionsPermits closed, authority inspections, testing and commissioning reports
Statutory declaration and releaseStatutory 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'}")
Output
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.

  1. Name five topics for a subcontractor kickoff meeting.

    Show answer

    Scope, schedule, submittals, logistics, safety, quality, communication, billing and changes, closeout.

  2. A trade completed 6 of 11 committed tasks. What is its percent plan complete?

    Show answer

    About 55 %.

  3. Planned crew 16, actual 10. What share of the planned crew is on site?

    Show answer

    62.5 %.

  4. 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.

  5. List the escalation steps in order.

    Show answer

    Field conversation, management meeting, written notice of concern, notice to cure, supplement forces, termination.

  6. 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.

  7. 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.

  8. 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.

  9. Name four closeout items.

    Show answer

    Deficiencies, warranties, O&M manuals, as-builts, training, spare parts, inspections, release documents.

  10. 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.

Take the quiz