Subcontractor and Interface Integration
Last reviewed 9 September 20262,609 words12 min read
One schedule, many authors β how to take a subcontractor's programme without letting it take yours
π© In one line: Subcontractor programmes are inputs, not sub-schedules β you translate them into your Level 3 under your WBS, your calendars and your rules of credit, and you fix every hand-off between parties as a named interface milestone with an owner and a document reference.
π€ Who this is for: Mid-level planners on a main contractor; senior planners setting up the subcontract appendix. Prerequisites: Verifying-subcontractor-progress, Milestones-and-key-dates, Importing-and-exporting-xer.
First, let's be honest about why this page exists
The MEP subcontractor sends a 4,000-activity XER on a 5-day calendar with its own WBS, Progress Override on, and 60 Mandatory Finish constraints. The faΓ§ade subcontractor sends a PDF. The lift company sends an email saying "we need the shaft by March". None of them agree with the main schedule, and the main schedule is what the Engineer accepted.
Integration is not merging files. It is deciding, once, whose structure the job runs on β yours β and then building the translation, the interface milestones and the update routine so that three or twelve parties feed one schedule every month without breaking it.
π¨ The standard β what "good" looks like
| Source | What it says (paraphrased) | Use it for |
|---|---|---|
| FIDIC 1999 Cl 4.4 / 2017 Cl 4.4 | Contractor responsible for the acts and defaults of Subcontractors as if its own (check the edition in your contract) | Why the integrated programme is yours, whatever they sent |
| FIDIC 1999 Cl 8.3 / 2017 Cl 8.3 | One programme covering the Works, including work by Subcontractors | One schedule, not a bundle |
| NEC3 / NEC4 Cl 26, Cl 31.2 | Subcontracting with acceptance; programme shows the order and timing of operations including work by Others and interfaces | Interface content is required |
| NEC4 ECS / NEC3 ECS (subcontract forms) | Back-to-back programme obligations at the subcontract interval | Aligning subcontract programme timing to your DD |
| SCL Protocol 2nd ed., Core Principle 1 and Guidance Part B (records) | Programme maintained with subcontractor input; contemporaneous records | The signed progress sheet |
| AACE RP 38R-06 | Schedule basis records sources of durations and logic, including subcontractor input | Traceability of imported durations |
| DCMA 14-Point, items 1β5 | Logic, leads, lags, relationship types, constraints β tested on the whole integrated file | Their logic gets tested as yours |
| GAO Best Practice 2 | All activities, including those by others, logically sequenced with hand-offs identified | Interface milestones |
| Hub convention | Subcontractor code; rules of credit in subcontract appendix; their XER to a sandbox under Received node; joint walk and signed sheet the week before DD; RDs set by the main contractor from achieved rate; INTERFACE-IN / OUT milestones with document reference | Your defaults |
π’ Rule: the subcontractor's programme is evidence for your durations and logic; your schedule is the only programme that exists contractually.
How it actually works
1. Fix the terms before the subcontract is signed. The planner writes the programme appendix to the subcontract. Minimum content:
| Appendix item | What it fixes |
|---|---|
| Programme extract | The subcontractor's scope from the accepted baseline, with interface milestones and their dates |
| Data date and submission | Same calendar day as the main DD; progress sheet due 5 working days before it |
| Format | Progress on your quantity sheet tab; any P6 file as XER, P6 version stated, no baselines embedded |
| Rules of credit | Per activity type, copied from the SBM; no other measure of progress is accepted |
| Calendars | Yours, by name; their programme converts to yours |
| Interface milestones | Listed with owner, date, and what "achieved" means |
| Look-ahead | 3-week look-ahead weekly, on your template |
| Notice | Their notice period to you shorter than yours to the Employer (FIDIC 28 days upstream β 14 days down; NEC 8 weeks β 4 weeks down β verify subcontract form) |
2. Translate, don't merge. Their programme is imported to a sandbox project under the Received EPS node with the "Prod-Safe" import configuration (Keep Existing on calendars and codes; Do Not Import resources). It never touches the live project. From the sandbox you build or check the activities in your Level 3:
| Their programme | Your schedule |
|---|---|
| Their WBS | Your WBS: area/level/discipline; their scope appears under the nodes where it happens |
| Their calendars | Your project calendars; if they assume 7-day working you did not agree, the duration stays and the calendar changes β flag the difference |
| Their durations | Checked against your SBM basis (Qty Γ rate Γ· crew); accepted, or logged as a difference with a reason |
| Their logic | Hard logic kept; their preferences labelled SOFT-PREF with "SC method statement rev X" in Comments |
| Their constraints | Deleted; each replaced by logic or an interface milestone with a reference |
| Their activity IDs | Your ID scheme; a mapping UDF SC Activity Ref holds theirs |
| Their float | Irrelevant; float is read in your schedule |
Activity count: the subcontractor's scope in your L3 is typically 15β30 % of your total. If their 4,000 activities become 600 in yours, that is correct β the 3,400 are their Level 4.
3. Name every interface. An interface is a point where one party cannot proceed until another has done something. Each becomes a milestone under the Milestones β Interfaces node.
| Interface type | Example | Milestone | Owner | "Achieved" means |
|---|---|---|---|---|
| Area handover to subcontractor | L12 slab handed to MEP for first fix | INTERFACE-OUT (from you) / their start | Main contractor | Slab struck, props removed, setting-out issued, access certificate signed |
| Subcontractor to subcontractor | Ceiling grid to ELV for device install | INTERFACE | Ceiling SC | Grid inspected, IR closed |
| Subcontractor to main contractor | Riser shafts fire-stopped for closing | INTERFACE-IN | MEP SC | Fire-stopping IR approved |
| Design information | Kitchen equipment loads for slab design | INTERFACE-IN | Employer / specialist | Drawings received under transmittal |
| Enabling works | Lift shaft plumb and clear, machine-room roof cast | INTERFACE-OUT | Main contractor | Survey report signed by lift SC |
| Permanent power | Substation energised for T&C | INTERFACE-IN | Utility / Employer | Energisation certificate |
Each milestone: zero duration, coded Responsibility = owning party, Milestone Type = INTERFACE-IN/OUT, Notebook Constraint Basis with the subcontract appendix or letter reference. Constraint only where the date is a real obligation (Start On or After); otherwise logic alone. The interface register (ID, name, from, to, planned, forecast, actual, criterion, reference, status) sits in the SBM and every narrative.
4. Run the monthly routine.
| Day | Action |
|---|---|
| DD β 7 | Joint walk with each subcontractor's planner; % agreed against rules of credit; sheet signed both sides |
| DD β 5 | Sheets received; reconciliation table built: activity, their %, ours, difference, reason |
| DD β 3 | Differences > 10 % resolved or your figure used with the reason recorded |
| DD | Your quantity sheet is the source; P6 statused by spreadsheet import; RDs set by you from achieved rate |
| DD + 3 to + 5 | Submission; subcontractor receives the extract of their scope with float and interface status |
Their XER, if they send one, is compared in the sandbox against their previous XER with Schedule Comparison; the differences feed your questions at the walk. It is never imported into the live project.
5. Handle the disagreements. Where the subcontractor's programme shows a later date than yours for their scope, you have three honest options: accept the later date if your duration basis was wrong (change-table row, cause tag duration growth); keep your date and record a notice to the subcontractor; or resequence. Silent acceptance of a later subcontractor date into the live schedule is a scope change the Employer will read as your delay.
π Whose delay is it
- Upstream the Employer sees one Contractor. A subcontractor's delay is your delay (FIDIC Cl 4.4). Your schedule shows the same driving chain regardless of who is doing the work; the Subcontractor code lets you filter it, not disown it.
- Downstream the subcontract must give you the records to pass a claim down or resist one up. The signed monthly sheet, the interface register with actual dates, and the reconciliation table are the three documents that decide most subcontract time disputes.
- NEC subcontracts (ECS) let you set the subcontractor's programme interval and Key Dates back-to-back with yours. Set the subcontract Key Dates equal to your interface milestones so Cl 25.3 recovery has a date to bite on (check against your copy).
π₯ Where people go wrong
- Importing the subcontractor's XER into the live project. Their calendars overwrite yours, their codes appear in your dictionary, and their Mandatory constraints go live. Sandbox under Received, always; the live project only ever gets your activities.
- Keeping two schedules for the same scope. "The MEP programme" and "the main programme" disagree by six weeks and both are being updated. There is one schedule; the other is a subcontractor's Level 4 that must reconcile to it.
- Interfaces as lags. "Slab handover" as a 5-day lag between structure and first fix has no owner, no date and no evidence. Every hand-off is a milestone with a criterion.
- Letting the subcontractor set Remaining Durations. Their RD is their forecast; your RD is remaining quantity Γ· achieved rate from your sheet. When they differ, the reconciliation table says why.
- Rules of credit agreed after the first valuation. By then the subcontractor has been paid on 50/50 and you are reporting 20/80; every month is an argument. The rules are in the subcontract appendix before signature.
- Interface criteria undefined. "Area handed over" means "you can start" to the MEP contractor and "the concrete is poured" to the site agent. The criterion goes in the register: what is complete, what document proves it.
- Subcontractor scope hidden under one code but not under your WBS. Their activities sit in a node called "MEP Subcontractor" rather than under L12 β MEP. The 100 % rule breaks and the area float reports lie. Coding says who; WBS says where.
βοΈ When you're challenged
"The MEP subcontractor's programme shows completion in June. Why does yours say April?" Theirs is a Level 4 built on a five-day calendar with no resource behind the durations. Translated to the agreed six-day calendar and the SBM rates it lands in April. The differences are logged activity by activity in the reconciliation table; three durations I've accepted as growth and shown in the change table.
"Why not just merge all the subcontractor files? Then everyone's dates are in one place." Because then everyone's calendars, constraints and settings are in one place too, and the file stops calculating honestly. Each subcontractor's scope is already in the schedule under our WBS; their files are checked in a sandbox and the interface register carries every hand-off.
"The faΓ§ade contractor says they never agreed the hoist-removal date." It's interface milestone IF-034 in Appendix 3 of their subcontract, dated 15-Nov, with the criterion "hoist dismantled and infill panels available at L1 laydown". It's on their monthly extract every month, and their planner signed the sheet showing it.
"Whose delay is the riser fire-stopping β theirs or yours?" Upstream it's ours; the Employer doesn't see subcontractors. Downstream, the interface register shows the MEP subcontractor's IR was raised 18 days after the planned date, and their signed sheet shows why. That's what the notice to them relies on.
π Related pages
- Verifying subcontractor progress β the joint walk, the signed sheet, the reconciliation table in detail
- Milestones and Key Dates β INTERFACE-IN / OUT milestone set-up and register
- Importing and Exporting XER β Prod-Safe configuration and the Received node
- Progress measurement and rules of credit β the rules that go in the subcontract appendix
- Site Logistics in the Schedule β hoist removal, crane sharing and laydown as interfaces
- Notice Requirements and Records β back-to-back notice clocks
- Redirect: subcontractor-schedule-integration and interface-and-handover-logic are merged into this page
βοΈ Worked example β Dubai 22-storey tower, MEP subcontractor integration at month 9
Sandbox review of the received XER (Received node, Prod-Safe import):
| Item | Their file | Action |
|---|---|---|
| Activities | 3,860 | 540 in our L3 under Area/Level/MEP nodes |
| Calendars | 5-day 9 h; 7-day for T&C | Converted to Site 6-day 10 h; T&C on 6-day with Ramadan exceptions |
| Constraints | 48 Mandatory Finish, 11 Start On | All removed; 9 replaced by interface milestones with appendix references |
| Progress Override | On | Not applicable β never imported live |
| Durations > 44 d | 62 | 14 accepted (staged in ours), 48 recomputed from SBM rates |
Reconciliation table extract, DD 25-Oct:
| Activity | Their % | Ours (sheet) | Diff | Reason | Used |
|---|---|---|---|---|---|
| L08 first-fix containment | 85 | 70 | 15 | 30 % of brackets not IR'd; rule = installed and IR'd | 70 |
| L06 duct install Zone B | 60 | 58 | 2 | Rounding | 58 |
| Riser R2 fire-stopping L1βL10 | 100 | 80 | 20 | Two levels awaiting IR closure | 80 |
| Chiller plant room pipework | 40 | 40 | 0 | β | 40 |
Interface register extract:
| ID | Interface | From β To | Planned | Forecast | Actual | Criterion | Ref | Status |
|---|---|---|---|---|---|---|---|---|
| IF-021 | L12 slab handover for first fix | MC β MEP | 08-Oct | β | 11-Oct | Struck, props out, setting-out issued, certificate signed | SC App 3 | Closed, 3 d late (MC) |
| IF-034 | Hoist removal, faΓ§ade infill available | MC β FaΓ§ade | 15-Nov | 29-Nov | β | Hoist down, panels at L1 laydown | SC App 3 | Open, 14 d late (MC) |
| IF-041 | Riser R2 fire-stopped L1βL10 | MEP β MC | 20-Sep | β | 08-Oct | Fire-stopping IR approved | SC App 3 | Closed, 18 d late (MEP) |
| IF-050 | Substation energised | Utility β MC | 15-Jan | 02-Feb | β | Energisation certificate | Employer letter E-062 | Open, 18 d late (Employer) |
Narrative sentence: "MEP scope is 6 working days behind the accepted update on the L06βL10 first-fix chain, driven by riser R2 fire-stopping (IF-041, MEP, 18 days late); main-contractor hoist removal (IF-034) is 14 days late and will drive the faΓ§ade infill chain from December; substation energisation (IF-050) forecast 18 days late, notice N-019 issued 28-Oct."
π References
- FIDIC Conditions of Contract for Construction 1999 and 2017, Cl 4.4, 8.3 (check the edition in your contract)
- NEC3 / NEC4 ECC, Cl 26, 31.2; NEC3 / NEC4 Engineering and Construction Subcontract (check against your copy)
- SCL Delay and Disruption Protocol, 2nd ed. (2017), Core Principle 1; Guidance Part B (check against your copy)
- AACE International RP 38R-06, Documenting the Schedule Basis
- DCMA 14-Point Schedule Assessment, items 1β5; GAO Schedule Assessment Guide GAO-16-89G, Best Practice 2
- Oracle Primavera P6 Professional User Guide β Import/Export; Schedule Comparison (check against your P6 version)
From the field
Experience from working planners. Unreviewed β read it as experience, not guidance.
Add what you know about subcontractor and interface integration. What worked, what the consultant pushed back on, what you would do differently next time. A paragraph is plenty.
Contributors get their name and one link on the site β your own templates, course or consultancy. We take nothing and hold nothing.
Add your experience