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:





