Start here
Exporting from P6
How to export a clean XER or P6 XML file, and the mistakes that skew results.
Most results that look wrong trace back to the export. Five minutes here saves an afternoon of chasing figures.
Before you export#
Status the programme
Enter actual dates, remaining durations and percent complete up to the data date.
Schedule it (F9)
Set the data date and schedule the project. This is the step that matters most: P6 writes the early and late dates, and the float, at the last schedule run. Skip it and the file describes a plan that no longer exists.
Check the schedule options
Retained Logic is the defensible choice for progressed work. Note how total float is calculated and whether open-ended activities are made critical: the forensic module reads these options from the XER and compares like with like.
Exporting an XER#
Open the export wizard
In P6 Professional: File → Export, choose the XER format, then Project.
Select one project
Tick the project you want analysed. If an XER holds several projects, the app analyses the one with the most activities, so export them one at a time.
Save and upload
Give the file a name that carries its data date or revision, for example
NAR-Rev06-2026-06-30.xer. It keeps updates in order when you compare them.
Exporting P6 XML#
The P6 XML export (the APIBusinessObjects format) works too, including from P6 EPPM. Two differences to know about:
- XML doesn't carry total float. The app derives it from each activity's late and early finish on its own calendar, and says so on the dashboard.
- XML writes percent complete as a fraction. The app handles this, so 1.0 reads as 100%, not 1%.
Common mistakes#
| What you see | Usually caused by | What to do |
|---|---|---|
| "Schedule has not been rescheduled against its data date" | The file was statused but not scheduled | Press F9 with the correct data date and export again |
| Every open activity is critical | Stored float is stale, so it's all negative | The app recomputes the critical path from the logic; still reschedule for a clean result |
| Invalid dates fail | Forecasts from an old schedule run, or actuals typed in the future | Reschedule; correct actual dates after the data date |
| "No cost data - curves are in units" | The programme isn't cost-loaded | Expected; EVM is shown in resource units |
| Trend shows huge "added and removed" counts | Activity IDs were re-coded between revisions | Keep IDs stable between updates; matching is on Activity ID |