Primavera P6 Schedule Review: The Complete Checklist for Reviewing Contractor Schedules
A step-by-step Primavera P6 schedule review checklist: open XER files, run DCMA 14-Point checks, validate the critical path, compare updates, document findings.
You’ve downloaded the contractor’s XER file, opened it in Oracle Primavera P6, and you’re staring at 1,200 activities. Where do you start? What do you check? How do you know whether the schedule is logic-driven or date-driven?
Most P6 training teaches you how to build a schedule. Nobody teaches you how to review one you’ve received. That’s a problem, because the person reviewing the schedule is usually not the person who created it. You’re the employer’s representative, the project controller, or the client-side PM, and you need to decide whether this programme is fit for approval.
This guide provides a complete, step-by-step checklist for reviewing a contractor’s schedule submission in P6. It covers every check from opening the XER file through to generating your review report. For the tool-agnostic version of this discipline (the checks that apply whether you work in P6, MS Project, or a standalone analyser), see our baseline schedule review guide; this article focuses on carrying that discipline out inside Primavera P6. If you need broader context on schedule analysis principles, see our guide to construction schedule analysis.
The stakes are set by what good looks like. The Guggenheim Bilbao came in on time and 3 per cent under budget, one of the roughly 0.5 per cent of big projects that deliver on all their promises (Flyvbjerg and Gardner, How Big Things Get Done), because the hard thinking was done before construction started. A contractor’s programme is where you find out whether that thinking has been done on your project, and a structured review is how you check it before you approve the dates rather than after they slip.
What the SCL Protocol flags: The SCL Protocol identifies the same failure patterns a structured review looks for. Its paragraphs 1.45 to 1.47 call for complete logic (open ends create phantom float), warn against manually applied constraints that override the network, and caution against excessive leads and lags that hide work which should sit as visible, logic-linked activities.
What it means: Without a systematic review process, you’re approving a programme you can’t rely on for delay analysis, progress tracking, or dispute resolution. A structured P6 review takes 2-4 hours. Fixing the problems after approval takes months.
How to Open and Set Up a Contractor’s XER File in P6
Before you can review anything, you need to get the contractor’s submission into P6 and set up for efficient review.
Import the XER file
- In P6, go to File > Import and select the XER file from the contractor
- Choose the project(s) to import. If the submission contains multiple projects, import only the one you’re reviewing
- After import, open the project and set it as the focused project
- Verify the data date shown in P6 matches the data date in the submission letter
First check before you start: Does the project name, ID, and description match the contract? If the contractor’s internal project naming convention doesn’t align with the contract reference, note it. You’ll need to reconcile this when comparing against the baseline.
Create a review layout
Set up a dedicated review layout before you start checking activities. A well-structured layout saves time across every review step.
| Recommended Column | Purpose |
|---|---|
| Activity ID | Unique identifier; check for consistency |
| Activity Name | Check for descriptive, unambiguous names |
| Original Duration | Verify realistic durations |
| Total Float | Identify high-float and negative-float activities |
| Calendar | Verify appropriate calendar assignments |
| Primary Constraint | Identify hard constraints overriding logic |
| Predecessors | Check for open ends |
| Successors | Check for open ends |
| % Complete | Cross-reference against reported progress |
| Critical | Identify critical path activities |
To create this layout: View > Columns and add the columns above. Save it as “Schedule Review” via View > Layout > Save As. You can reuse this layout across projects.
Set up review filters
Create these filters before you begin:
- Open Ends: Activities with no predecessor OR no successor
- Critical Only: Activities where Critical = Yes
- Constrained: Activities with a primary constraint assigned
- High Duration: Activities where Original Duration > 20
- Milestones: Activity type = Start Milestone or Finish Milestone
To create a filter: View > Filter > New and set the criteria. Save each filter with a descriptive name.
The P6 Schedule Review Checklist
The following 12 steps form a complete review of any contractor schedule submission. Work through them in order.
Step 1: Verify project information and settings
Open Project > Project Details and check:
- Project name and ID match the contract
- Data date is correct and current (this is the “as at” date for the schedule)
- Must-finish-by date matches the contractual completion date
- Calendar assignment at project level is appropriate
- Planned start date aligns with contract commencement
If the data date is wrong, every duration, float, and progress calculation in the schedule is wrong. This is your first gate: don’t proceed until the data date is verified.
Step 2: Check the work breakdown structure (WBS)
Switch to Project > WBS view and verify:
- The WBS reflects the complete contractual scope
- WBS levels are logically structured (typically 3-5 levels for a major project)
- Work packages are appropriately detailed
- No WBS elements exist without activities (empty nodes)
- No activities exist outside the WBS structure
A well-structured WBS makes the rest of the review faster. If the WBS doesn’t align with the contract scope, you’ll struggle to verify whether all required work is included later.
Step 3: Review activity details
Switch to the Activities view, Group and Sort by WBS, and scan:
- All contractual scope items represented as activities
- Activity IDs follow a consistent coding scheme (e.g. area-trade-sequence)
- Activity names are descriptive and unambiguous
- No duplicated or phantom activities
- Activity count is reasonable for project size (typically 500-2,000 activities for a major project)
Practical tip: A schedule with fewer than 200 activities for a $50M+ project is probably too coarse. A schedule with more than 5,000 activities is probably too detailed to manage. Both extremes create review problems.
Step 4: Check calendars
Go to Enterprise > Calendars and verify:
- Appropriate calendars assigned (5-day, 6-day, 7-day, weather, shutdown)
- Holiday and shutdown periods reflected in calendar definitions
- Calendar assignments consistent with work type (don’t assign a 7-day calendar to an administrative activity)
- No unnecessary custom calendars (more than 10-15 calendars for a single project is a warning sign)
Calendar issues affect float calculations, duration display, and critical-path determination. Two activities with identical logic can show different float values if they’re on different calendars.
Step 5: Review logic and dependencies
This is the most important step in the review. The entire credibility of the schedule depends on whether the logic is correct.
Apply your Open Ends filter. Check:
- No activities without predecessors (except the project start milestone)
- No activities without successors (except the project finish milestone)
- All activities connected to the network through logic links
Then review logic types:
- Relationship types are appropriate (the DCMA 14-Point Assessment targets 90% or more finish-to-start relationships)
- No circular logic (P6 will warn you during scheduling)
- No redundant dependencies
- Lags used appropriately: not hiding work that should be visible activities
The SCL Protocol, paragraph 1.45, states that “the Contractor’s proposed programme (and any revisions) should be prepared with sufficient detail using logic links (i.e. each activity is linked to both a predecessor and successor activity or milestone) to provide proper forward visibility so that the effect of delay and disruption events can be predicted with as much accuracy as possible.” Every open end violates this principle.
For detailed guidance on catching logic changes between updates, see our article on schedule manipulation detection.
Step 6: Validate the critical path
Apply your Critical Only filter and review:
- The critical path is clearly identifiable and contiguous
- Critical path activities match construction logic and contract milestones
- The longest path drives the project completion date
- Near-critical paths are reviewed (activities with less than 5 working days of float)
- No artificial float from constraints or hidden logic ties
To check whether the critical path is logic-driven: go to Tools > Schedule > Options and verify that “Define critical activities as” is set to “Total Float <= 0”. If the contractor has changed this to a different float threshold, note it and question why.
For a deeper understanding of how the critical path should be constructed and validated, see our guide to the critical path method in construction.
Step 7: Check float distribution
Add the Total Float column and sort by float value:
- Total float values are reasonable for the project stage
- No high-float activities hiding scope (the DCMA 14-Point flags float greater than 44 working days)
- No negative float on a baseline schedule (negative float means the schedule can’t meet the contractual date)
- Float ownership per contract is documented
A schedule where every activity has 50+ working days of float isn’t truly constrained; the logic isn’t driving the dates. A schedule with zero float on everything has probably been constrained to create that result.
For detailed float analysis, see our guide to total float vs free float.
Step 8: Review constraints
Apply your Constrained filter and check:
- Constraints used sparingly and justified in the programme narrative
- No excessive “must finish by” (MFO) or “must start on” (MSO) constraints overriding logic
- Only contractually required milestones constrained
- Soft constraints (SNET, FNET) used where flexibility is needed
The DCMA 14-Point Assessment, Check 5 (Hard Constraints), targets 5% or fewer activities with hard constraints. The SCL Protocol, paragraph 1.47, states that “manually applied constraints such as ‘must start’ or ‘must finish’ fixed dates, ‘zero float’ and other programming techniques that can have the effect of inhibiting a programme from reacting dynamically to change should be avoided.”
Hard constraints are the most common tool for manipulating a schedule’s appearance. If you find more than a handful, request justification for each one. For DCMA threshold context, see our guide to the DCMA 14-Point Assessment.
Step 9: Check activity durations
Apply your High Duration filter and check:
- Durations realistic and industry-appropriate
- No excessively long activities (the SCL Protocol, paragraph 1.46, suggests that “no activity or lag (other than a summary activity) should exceed 28 days in duration”)
- No unreasonably short activities (activities shorter than one day should be questioned)
- Durations consistent with resource assignments where loaded
The DCMA 14-Point Assessment, Check 8 (High Duration), flags activities longer than 44 working days. Construction practice is typically tighter: 20 working days is a common contractual maximum. The SCL Protocol’s recommendation of 28 days falls between the two.
Step 10: Verify milestone compliance
Apply your Milestones filter and verify:
- All contractual milestones present and dated correctly
- Milestone sequence matches contract requirements
- Interim completion dates achievable based on preceding logic
- No milestones missing from the schedule
Missing milestones are a red flag. If the contract specifies sectional completion dates and they’re not in the programme, the contractor can’t demonstrate compliance, and you can’t enforce it.
Step 11: Review resources and cost loading
Not all contracts require resource or cost loading. If yours does:
- Resources logically assigned to activities
- No over-allocation without levelling
- Cost-loaded where required by contract
- Earned value baseline established
- Resource curves appropriate
Go to Activities > Resource Assignments and scan for activities with zero budget or missing resource assignments. If the schedule is contractually required to be resource-loaded, every activity should have resources assigned. Unresourced activities in a resource-loaded schedule are incomplete.
Step 12: Run the schedule log and DCMA 14-Point
This is your final gate check before writing up your review.
To generate the schedule log:
- Go to Tools > Schedule
- Ensure “Log to file” is checked
- Click Schedule
- Click View Log to open the scheduling log
Key items in the schedule log:
| Log Section | What to Check |
|---|---|
| Total activities | Count matches your manual count from Step 3 |
| Critical activities | Number is reasonable (not 0%, not 100%) |
| Activities with open ends | Should be close to zero |
| Out-of-sequence activities | Flag for follow-up |
| Activities with constraints | Should match your constrained filter from Step 8 |
| Scheduling errors or warnings | Any circular logic, negative lag issues |
To run the DCMA 14-Point macro in P6:
If your organisation has the DCMA macro installed:
- Go to Tools > Schedule and run the DCMA macro
- Review each of the 14 checks against the published thresholds
- Flag any failing metrics for the contractor to address
If the macro isn’t installed, you can replicate the key checks manually using your filters and columns. The five checks most relevant to schedule review:
- Check 1 (Logic): Filter for open ends; target 5% or fewer
- Check 3 (Lags): Count relationships with positive lag; target 5% or fewer
- Check 5 (Hard Constraints): Filter for MSO/MFO constraints; target 5% or fewer
- Check 7 (Negative Float): Sort by total float; target zero
- Check 8 (High Duration): Filter for activities > 44 working days; target 5% or fewer
For detailed DCMA metric definitions and thresholds, see our guide to the DCMA 14-Point Assessment.
Compare schedule updates in P6
When you’re reviewing a monthly update (not the initial baseline), schedule comparison is your most powerful tool.
To compare schedules in P6:
- Go to Tools > Schedule Comparison
- Select the baseline project and the current update project
- Choose the comparison options: added activities, deleted activities, logic changes, duration changes, calendar changes
- Run the comparison and review the results
What to look for:
| Change Type | What It Tells You |
|---|---|
| Added activities | New scope? Or activities that should have been in the baseline? |
| Deleted activities | Scope removed? Or activities hidden to simplify the schedule? |
| Logic changes | Most suspicious: why did the critical path shift? |
| Duration changes | Are durations being shortened without justification? |
| Calendar changes | Calendar switching can alter apparent duration and float |
| Critical path shifts | The most consequential change: has the longest path moved? |
Key insight: Unexplained logic changes between updates are the single strongest indicator of schedule manipulation. Every logic change should be explained in the programme narrative. If it isn’t, flag it.
For detailed comparison methodology, see our guide to baseline vs current schedule comparison. For help with XER files specifically, see our guide to XER file analysis.
Create a P6 layout optimised for schedule review
Beyond the review checklist columns (table above), add these columns for update reviews:
| Column | Why It Matters for Review |
|---|---|
| Baseline Duration | Compare against current duration for changes |
| Baseline Start/Finish | Track variance from the original plan |
| Variance Start/Finish | Quantified deviation from baseline |
| Actual Start/Finish | Verify against site records |
| Remaining Duration | Is it consistent with % complete? |
Recommended grouping and sorting
- Group by WBS: Review scope coverage and sequencing within work packages
- Group by Critical Path: Quickly identify all critical and near-critical activities
- Sort by Total Float ascending: See the most constrained activities first
- Sort by Variance Finish descending: Find the activities running furthest behind baseline
Save layouts
After setting up your review layout: View > Layout > Save As and name it descriptively (e.g. “Baseline Review” or “Monthly Update Review”). Export the layout via View > Layout > Export so other team members can use the same configuration.
Generate a schedule review report in P6
After completing the review, document your findings.
Key reports to generate
| Report | How to Generate | Use |
|---|---|---|
| Schedule Log | Tools > Schedule > View Log | Quality check summary |
| Critical Path Report | Reports > Schedule > Critical Path | Document the driving path |
| Float Distribution | Export activities sorted by total float | Identify high-float and negative-float areas |
| Variance Report | Tools > Schedule Comparison | Baseline vs current deviation |
| Constraint Report | Filter constrained activities, export to Excel | Document all hard constraints |
Export for project team communication
- Export to PDF: File > Export > PDF. Use for formal review correspondence.
- Export to Excel: Select activities, Edit > Copy, paste into Excel. Use for detailed analysis and annotation.
- Export to XER: File > Export > XER. Use if the contractor needs to reimport your annotated version.
Create a structured review memo
Your review memo or letter to the contractor should follow this structure:
- Submission reference: Date received, project name, data date of schedule
- Overall assessment: Pass/fail with qualifications
- Findings by step: Reference each checklist step, note pass or issues found
- Required corrections: Specific activities, logic ties, or constraints that must be fixed
- Recommended improvements: Issues that don’t fail a threshold but are below best practice
- Deadline for resubmission: Per contractual requirements
Common P6 Schedule Issues and How to Flag Them
| Issue | P6 Detection Method | What to Request from the Contractor |
|---|---|---|
| Open ends | Filter: no predecessor or successor | Add missing logic links; close open ends |
| Excessive constraints | Filter: constrained activities | Remove non-contractual hard constraints; justify remaining ones |
| Negative float | Sort by total float ascending | Address the underlying delay; don’t hide it with constraints |
| Out-of-sequence progress | Schedule log > out-of-sequence section | Update logic to reflect actual sequence; or resequence work |
| Logic changes between updates | Schedule comparison tool | Explain each change in the programme narrative |
| Excessive lags | Count lags vs total relationships | Convert lags to activities where they represent work |
| High-duration activities | Filter: original duration > 20 days | Subdivide into component activities with proper logic |
| Missing milestones | Filter: milestones, compare against contract | Add all contractual milestones |
For detailed guidance on identifying deliberate manipulation of these issues, see our article on schedule manipulation detection.
P6 vs Dedicated Analysis Tools for Schedule Review
P6 is the industry-standard scheduling tool, but it has limitations for schedule review.
| Capability | P6 Native | Dedicated Analysis Tool |
|---|---|---|
| Schedule comparison | Yes (manual) | Automated, visual dashboards |
| DCMA 14-Point | Macro (if installed) | Built-in, instant |
| Critical path validation | Manual filtering | Automated analysis |
| Float trend tracking | No | Across-update trend charts |
| XER comparison without P6 license | No | Upload and analyse directly |
| Schedule quality scoring | Manual calculation | Automated scoring |
| Visual dashboards | Limited | Purpose-built for review |
P6 is indispensable for creating and maintaining schedules. For review, it provides the raw data and most of the checks you need. But if you’re reviewing multiple schedule submissions regularly, or you need to produce review reports without a P6 license, a dedicated analysis tool like ScheduleLens can save hours per review.
For a broader comparison of the leading schedule analysis tools, see our dedicated guide.
Quick-Reference: P6 Navigation for Each Check
| Check | P6 Navigation |
|---|---|
| Project settings | Project > Project Details |
| WBS structure | Project > WBS |
| Activity details | Activities view, Group and Sort by WBS |
| Calendars | Enterprise > Calendars |
| Open ends | View > Filter > Open Ends |
| Logic and relationships | Activities view, View > Relationships |
| Critical path | View > Filter > Critical |
| Critical path definition | Tools > Schedule > Options |
| Float distribution | Add Total Float column, sort ascending |
| Constraints | View > Filter > Constrained Activities |
| High durations | View > Filter > Original Duration > 20 |
| Milestones | View > Filter > Activity Type = Milestone |
| Resources | Activities > Resource Assignments |
| Schedule log | Tools > Schedule > View Log |
| DCMA macro | Tools > Schedule > DCMA (if installed) |
| Schedule comparison | Tools > Schedule Comparison |
| Export to PDF/Excel | File > Export |
Key Takeaways
- Most P6 content teaches schedule creation. This guide covers schedule review: what to check when you’ve received someone else’s schedule and need to approve it.
- Set up a dedicated review layout and filters before you start. The 10-column layout and five filters in this guide cover every major check.
- Work the 12-step checklist in order: project information, WBS, activities, calendars, logic, critical path, float, constraints, durations, milestones, resources, DCMA 14-Point.
- Logic review (Step 5) is the most important step. If the logic is wrong, the entire schedule is unreliable. Every open end violates the SCL Protocol’s requirement for proper forward visibility.
- Schedule comparison is your most powerful tool for update reviews. Flag every unexplained logic change.
- The DCMA 14-Point Assessment is a minimum standard, not a target. A schedule can pass all 14 checks and still have quality issues.
- Document your findings in a structured review memo. Don’t just flag problems; specify the corrections required and the deadline for resubmission.