P6 Compatibility
Syncify imports and exports Primavera P6 schedules through XER files. Compatibility targets the schedule information needed for CPM planning, progress review, comparison, and XER handoff. An XER file is not treated as a complete backup of every P6 project-management module.
Current compatibility: This guide describes Syncify’s current import and calculation behavior. Compatibility is subject to change, and supported fields and scheduling capabilities will expand over time.
This guide distinguishes three outcomes for P6 data:
- Imported and recalculated: available in Syncify and participates in CPM calculation.
- Imported but not recalculated: retained for display or export, but does not affect CPM results.
- Omitted: not available after import and not restored by XER export.
For the calculation rules themselves, see CPM Calculation.
Key compatibility limitations
- Suspend and Resume: Retained Duration honors Suspend and Resume as the earliest boundary for the next continuous remaining-work block. Multiple split activity intervals are not calculated, so dates can still differ from a source schedule that depends on individual suspension gaps.
- Expected Finish: not imported, and does not constrain the calculated finish.
- Resource Dependent activities: resource-dependent scheduling is not supported. These activities are converted to Task Dependent activities during import and are scheduled on the activity calendar; resource and assignment calendars do not drive their dates.
- Scheduling options: P6 Retained Logic, Progress Override, and Actual Dates are imported. Syncify also provides Retained Duration, but P6 XER has no equivalent scheduling-option encoding. Export represents Retained Duration as P6 Actual Dates. Other P6 scheduling options are not imported.
File and project scope
- Syncify imports P6 XER files.
- An XER may contain multiple projects. The import screen lets you select which projects to bring in, and each selected project becomes one Syncify schedule.
- P6 XML, PMXML, SQLite databases, and direct database connections are not supported.
- Imported schedules are initially locked so the source state can be reviewed before editing or recalculating.
- The project or baseline designation is selected during import. P6 baseline assignments are not inferred from XER project metadata.
Schedule-level information
Imported:
- project short name and root WBS name
- project code
- Status Date, taken from the last recalculation date
- Must Finish By date
- default calendar
- calculation mode: Retained Logic, Progress Override, or Actual Dates
Retained Duration can be selected after import, but it is a Syncify mode rather than an imported P6 scheduling option. When exported to XER, its scheduling-option flags are written as Actual Dates.
All other scheduling preferences are omitted. Syncify recalculates with a fixed configuration:
- relationship lag is measured on the predecessor activity calendar
- SS lag is measured from the predecessor’s remaining Early Start
- Total Float is finish float
- terminal late dates anchor to Must Finish By when present, otherwise to the latest remaining Early Finish
If the source schedule was calculated with different settings for these options, recalculated results will differ accordingly.
WBS and activity identity
The WBS hierarchy is imported with:
- WBS code and name
- parent-child hierarchy
- sequence
- project root
Activities are matched across schedule versions primarily by Activity ID within the Syncify project. An activity’s name can change without creating a new activity identity.
Imported activity fields:
- Activity ID and Activity Name
- WBS assignment
- activity calendar
- activity type
- activity status
- Physical Percent Complete
- Original Duration
- Remaining Duration
- Actual, Early, Late, Restart, and Reend dates
- Total Float and Free Float
- primary and secondary constraints and dates
Activity types
The following activity types participate in calculation:
- Task Dependent
- Start Milestone
- Finish Milestone
- Level of Effort
- WBS Summary
Task Dependent activities, Start Milestones, and Finish Milestones form the normal relationship network.
Level of Effort activities are calculated separately from the normal network; their dates derive from the activities connected to their start and finish sides.
WBS Summary activities are calculated from the activities beneath their assigned WBS. They are activities, not structural WBS rows, and do not participate in normal relationship logic.
Resource Dependent activities are converted to Task Dependent activities during import and are scheduled on the activity calendar; resource and assignment calendars do not determine their dates.
Progress, dates, and durations
Actual Start and Actual Finish are historical dates and are preserved during recalculation.
For an activity in progress:
- Early Start is the start of the remaining-work window, not the historical Actual Start.
- Early Finish is the calculated finish of the remaining work.
- Restart and Reend match the calculated remaining-work window.
- Remaining Duration is scheduled from Restart to Reend on the activity calendar.
For a Completed normal network activity under Retained Logic:
- Actual Start and Actual Finish retain the historical activity window.
- Early Start and Early Finish become a zero-duration remaining-work network point.
- Late Start and Late Finish become a zero-duration late network point.
- Total Float and Free Float are blank.
For a Not Started activity:
- Early Start and Early Finish are calculated from the Status Date, relationships, constraints, duration, and activity calendar.
- Restart and Reend carry the same remaining-work window.
Original Duration is retained as the planned duration. Remaining Duration is the work still to be scheduled. Total Duration is recalculated as the activity-calendar span between the displayed start and displayed finish, so it can differ from Original Duration on progressed or out-of-sequence work.
In Retained Duration mode, Actual Duration and Remaining Duration remain separate editable quantities. Total Duration and Target Duration equal their sum. Started remaining work begins after Actual Duration has elapsed from Actual Start, skipping an explicit Suspend-to-Resume gap; Status Date and Resume can move it later. Duration and progress changes move the calculated Restart and Reend dates without manufacturing or overwriting Suspend and Resume. The remaining duration is still scheduled as one continuous block.
Physical Percent Complete is retained as a manual progress value. CPM does not derive Remaining Duration from Physical Percent Complete.
Expected Finish is not imported or applied. An activity whose source dates depend on Expected Finish may calculate differently after import.
Calendars
Imported:
- calendar names
- the default calendar
- normal weekly working patterns
- multiple work periods within a day
- calendar exceptions and nonworking days
- P6 hours-per-day, week, month, and year conversion values
All CPM arithmetic is performed in working minutes on the assigned activity calendar.
Schedule timestamps are timezone-agnostic. They are interpreted in the scheduled project’s timezone and are never converted to the viewer’s timezone.
Resource calendars may be imported with resources, but they do not override the activity calendar during calculation.
Relationships and lag
All four standard relationship types are imported:
- Finish-to-Start
- Start-to-Start
- Finish-to-Finish
- Start-to-Finish
Positive and negative lag are supported. Lag is applied as working time on the predecessor activity calendar.
Relationships are retained only when both activities belong to the imported schedule. Cross-project and external relationships are omitted; the import screen reports how many were found in each selected project.
Unknown relationship type variants are reduced to the closest standard type when possible, and otherwise become Finish-to-Start.
Constraints
Both the primary and secondary constraint fields are imported. Supported constraints:
- As Soon As Possible
- As Late As Possible
- Start On
- Start On or After
- Start On or Before
- Finish On
- Finish On or After
- Finish On or Before
- Mandatory Start
- Mandatory Finish
Start On and Finish On are bounded soft constraints: relationship logic may still create negative float. Mandatory Start and Mandatory Finish are hard date overrides.
Activity codes and UDFs
Activity code support includes:
- activity code types
- hierarchical activity code values
- short names and descriptions
- activity assignments
- user selection of which code types to import
- mapping a source code type to an existing Syncify custom column
Task UDF support includes these types:
- text
- integer and decimal number
- money
- date
- duration
- Boolean
UDFs on objects other than activities are omitted, as are single-select code values, formulas, indicators, and summary expressions. Imported text values are limited to 255 characters.
Resources and assignments
Resource import retains:
- resource name
- resource short name
- assigned resource calendar
Assignment import retains:
- activity and resource
- target quantity
- actual regular plus overtime quantity
- a fixed distribution
Omitted resource information:
- resource hierarchy and roles
- rates, prices, and cost accounts
- remaining units per time
- overtime rules
- assignment start and finish dates
- resource curves and time-distributed spreads
- resource leveling priorities and results
Resources and assignments do not drive activity dates or durations, and Syncify does not perform resource leveling.
Calculation compatibility
Syncify’s compatibility target is CPM parity for schedules that use the supported activity, calendar, relationship, constraint, and progress features with the fixed settings described above.
The compatible calculation surface includes:
- early and late dates for normal activities and milestones
- remaining-work dates for in-progress activities
- retained-logic propagation through Completed activities
- actual dates kept separate from remaining-work dates
- FS, SS, FF, and SF relationships with predecessor-calendar lag
- primary and secondary constraints
- finish-based Total Float
- relationship-based Free Float
- Level of Effort early and late windows
- WBS Summary activities
- negative float against a Must Finish By date or constrained network
Outside the compatibility target:
- suspend and resume gaps
- Expected Finish constraints
- resource-dependent scheduling
- resource leveling
- cross-project and external relationships
- relationship lag measured on a successor or project calendar
- alternate total-float definitions
- multiple float-path and multiple-longest-path calculation
- project-level external float anchoring
XER export
Syncify exports a P6-readable XER containing:
- project and fixed scheduling options
- calendars
- WBS
- activities and calculated dates
- remaining early and remaining late dates
- relationships and lag
- activity code types, values, and assignments
- task UDF types and values
Update Start, Update Finish, and update comments are emitted as task UDFs when those values exist in Syncify.
XER export does not include:
- resources or resource assignments
- costs, expenses, rates, or cost accounts
- roles
- OBS and security
- project codes
- risks, issues, thresholds, or documents
- notebooks, activity steps, or WBS notes
- resource curves or time-distributed resource data
- baseline assignments
Export contains the supported scheduling model, not the complete source database. Treat a Syncify XER as a schedule handoff, not a lossless backup of the original project.
Recommended validation workflow
- Review the import warnings for Resource Dependent activities and cross-project relationships.
- Confirm the Status Date, Must Finish By date, calculation mode, and default calendar.
- Spot-check calendars with unusual workweeks or exceptions.
- Review in-progress activities to confirm Actual Start is historical and Early Start represents remaining work.
- Recalculate, then compare milestones, constrained activities, negative-float paths, and Level of Effort activities.
- If the source uses an unsupported feature, retain the original XER as the contractual source record.