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.

e / c
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
SourceWhat it says (paraphrased)Use it for
FIDIC 1999 Cl 4.4 / 2017 Cl 4.4Contractor 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.3One programme covering the Works, including work by SubcontractorsOne schedule, not a bundle
NEC3 / NEC4 Cl 26, Cl 31.2Subcontracting with acceptance; programme shows the order and timing of operations including work by Others and interfacesInterface content is required
NEC4 ECS / NEC3 ECS (subcontract forms)Back-to-back programme obligations at the subcontract intervalAligning subcontract programme timing to your DD
SCL Protocol 2nd ed., Core Principle 1 and Guidance Part B (records)Programme maintained with subcontractor input; contemporaneous recordsThe signed progress sheet
AACE RP 38R-06Schedule basis records sources of durations and logic, including subcontractor inputTraceability of imported durations
DCMA 14-Point, items 1–5Logic, leads, lags, relationship types, constraints β€” tested on the whole integrated fileTheir logic gets tested as yours
GAO Best Practice 2All activities, including those by others, logically sequenced with hand-offs identifiedInterface milestones
Hub conventionSubcontractor 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 referenceYour 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 itemWhat it fixes
Programme extractThe subcontractor's scope from the accepted baseline, with interface milestones and their dates
Data date and submissionSame calendar day as the main DD; progress sheet due 5 working days before it
FormatProgress on your quantity sheet tab; any P6 file as XER, P6 version stated, no baselines embedded
Rules of creditPer activity type, copied from the SBM; no other measure of progress is accepted
CalendarsYours, by name; their programme converts to yours
Interface milestonesListed with owner, date, and what "achieved" means
Look-ahead3-week look-ahead weekly, on your template
NoticeTheir 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 programmeYour schedule
Their WBSYour WBS: area/level/discipline; their scope appears under the nodes where it happens
Their calendarsYour project calendars; if they assume 7-day working you did not agree, the duration stays and the calendar changes β€” flag the difference
Their durationsChecked against your SBM basis (Qty Γ— rate Γ· crew); accepted, or logged as a difference with a reason
Their logicHard logic kept; their preferences labelled SOFT-PREF with "SC method statement rev X" in Comments
Their constraintsDeleted; each replaced by logic or an interface milestone with a reference
Their activity IDsYour ID scheme; a mapping UDF SC Activity Ref holds theirs
Their floatIrrelevant; 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 typeExampleMilestoneOwner"Achieved" means
Area handover to subcontractorL12 slab handed to MEP for first fixINTERFACE-OUT (from you) / their startMain contractorSlab struck, props removed, setting-out issued, access certificate signed
Subcontractor to subcontractorCeiling grid to ELV for device installINTERFACECeiling SCGrid inspected, IR closed
Subcontractor to main contractorRiser shafts fire-stopped for closingINTERFACE-INMEP SCFire-stopping IR approved
Design informationKitchen equipment loads for slab designINTERFACE-INEmployer / specialistDrawings received under transmittal
Enabling worksLift shaft plumb and clear, machine-room roof castINTERFACE-OUTMain contractorSurvey report signed by lift SC
Permanent powerSubstation energised for T&CINTERFACE-INUtility / EmployerEnergisation 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.

DayAction
DD βˆ’ 7Joint walk with each subcontractor's planner; % agreed against rules of credit; sheet signed both sides
DD βˆ’ 5Sheets received; reconciliation table built: activity, their %, ours, difference, reason
DD βˆ’ 3Differences > 10 % resolved or your figure used with the reason recorded
DDYour quantity sheet is the source; P6 statused by spreadsheet import; RDs set by you from achieved rate
DD + 3 to + 5Submission; 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
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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
✏️ Worked example β€” Dubai 22-storey tower, MEP subcontractor integration at month 9

Sandbox review of the received XER (Received node, Prod-Safe import):

ItemTheir fileAction
Activities3,860540 in our L3 under Area/Level/MEP nodes
Calendars5-day 9 h; 7-day for T&CConverted to Site 6-day 10 h; T&C on 6-day with Ramadan exceptions
Constraints48 Mandatory Finish, 11 Start OnAll removed; 9 replaced by interface milestones with appendix references
Progress OverrideOnNot applicable β€” never imported live
Durations > 44 d6214 accepted (staged in ours), 48 recomputed from SBM rates

Reconciliation table extract, DD 25-Oct:

ActivityTheir %Ours (sheet)DiffReasonUsed
L08 first-fix containment85701530 % of brackets not IR'd; rule = installed and IR'd70
L06 duct install Zone B60582Rounding58
Riser R2 fire-stopping L1–L101008020Two levels awaiting IR closure80
Chiller plant room pipework40400β€”40

Interface register extract:

IDInterfaceFrom β†’ ToPlannedForecastActualCriterionRefStatus
IF-021L12 slab handover for first fixMC β†’ MEP08-Octβ€”11-OctStruck, props out, setting-out issued, certificate signedSC App 3Closed, 3 d late (MC)
IF-034Hoist removal, faΓ§ade infill availableMC β†’ FaΓ§ade15-Nov29-Novβ€”Hoist down, panels at L1 laydownSC App 3Open, 14 d late (MC)
IF-041Riser R2 fire-stopped L1–L10MEP β†’ MC20-Sepβ€”08-OctFire-stopping IR approvedSC App 3Closed, 18 d late (MEP)
IF-050Substation energisedUtility β†’ MC15-Jan02-Febβ€”Energisation certificateEmployer letter E-062Open, 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