Skip to main content

MS Project XML Export

Download the construction schedule from MS Project

Written by specter automation

What is the export doing?

The specter project schedule can be exported as an MSPDI (MS Project XML) file. This allows actual dates, target dates, completion percentages, and durations to be reused directly in Microsoft Project—without much manual effort. The export reflects the current status of the project.

Call the “Export to specter” function

[ Screenshot: specter construction schedule with export dropdown ]

Dynamic Logic: Actual Start & Actual End

Actual value available: The actual start and actual end dates are set to the actual values from specter. MS Project performs calculations based on these values. If actual values are available from the XML export, we set the MS Project start and end dates to those actual values.

No actual value available: The fields are dynamically set to the planned start and planned end—the schedule remains consistent.

Parent and child tasks

As long as at least one child task does not yet have an Actual Finish value (i.e., is not 100% complete), the parent task’s Finish Date remains dynamic and is set to either the Planned Finish date or, if later, the latest available Actual Finish date among its child tasks.

Only after all child tasks have been completed is the parent task’s Actual Finish date updated to the latest Actual Finish date of its child tasks.

This is what it looks like in MS Project

After the import, the specter values appear in the standard MS Project columns: Task, Task Name, Duration, Start, End. (These generally correspond to the specter TARGET values = planned values. See the table at the end of the document.)

However, you must add additional columns using “Add New Column” so that the information from specter becomes visible. The following fields must be added:

Actual Start, Actual End, Actual Duration || Planned Start, Planned End, Planned Duration || % Complete—the “Target” fields on the left, the “Actual” fields on the right, including the percentage complete.

[ MS Project: Dynamic Columns ]

[ MS Project: Planned Target Columns ]

Start · End · Duration

Scheduled Start · Scheduled End · Scheduled Duration

Fig. 1: Standard Fields in MS Project

Fig. 2: Planned fields from specter

[ MS Project: Actual Columns ]

Actual Start · Actual End · Actual Duration

Fig. 3: Actual fields from specter

Known Behavior: % Completed

Background:

MS Project automatically treats a task as 100% complete as soon as an actual end date is set. In this case, the percentage of completion transferred from specter may be overwritten or interpreted differently by Project.

Current Issue:

In the export, the projected value is currently set as the actual end date in some cases when no actual end date exists. As a result, MS Project interprets even open tasks as completed and sets the percentage complete to 100%.

Important:

The percentage complete is not simply calculated based on the start date, end date, and current date. Without a set actual end date, “% complete” depends on the actual data maintained in Project or on manually set progress!

Special Case: Child Tasks:

As long as at least one child task does not yet have an actual end value (is not 100% complete), the end date of the parent task remains dynamically set to the planned end date OR the latest available actual end date of a child task. Only when all child tasks are complete is the latest child task’s actual end date adopted.

Recommendation:

Do not export the forecast value as the actual end date; instead, export it, for example, as a separate text field or TBD field. Check the degree of completion in specter after the import and, if there are discrepancies, manually correct or override them in MS Project.

Planned: Forecast Value

The specter-Date "Forecasted Value” currently does not appear in the MS Project export. The value is included in the “Actual End” field in the XML, but MS Project does not import this value.

The plan is to output this value as a user-defined text field (TBD) in the XML—this will make it visible and filterable in MS Project.

Field mapping: specter → MS Project

specter field

MS Project field

Description

Dynamic?

"empty"

Start

Actual date, if available; otherwise, Target Start Date (dynamic)

Yes

"empty"

End

Actual date, if available; otherwise, Target End Date (dynamic)

Yes

"empty"

Dauer

Actual duration, if available; otherwise, target duration

Yes

specter Target Beginning

Geplanter Anfang

Planned Start Date according to specter

No

specter Target End

Geplantes Ende

Planned End Date according to specter

No

specter Target Duration

Planned Duration

Planned Duration

No

specter Actual Beginning

Actual Start + Start

Set to the specter Actual values, if available

No

specter Actual End

Actual End + End

Set to the specter Actual values, if available; otherwise, set to the forecast date from specter!

Yes

specter Actual Duration

Calendar days from end date – start date

Yes

Percentage of Completion

% Competed

Imported directly from specter, but set incorrectly!

No

Forecast value

Textfield (TBD)

Not currently exported to specter – planned as a user-defined text field

No

Example:

Did this answer your question?