MS-Project Integration

]project-open[ includes a bidirectional interface with Microsoft Office Project . MS-Project is the de-facto industry standard tool for  project scheduling. ]project-open[ can both import schedules from MS-Project and create MS-Project schedules. 


MS-Project -> ]project-open[:

  • ]po[ is capable of reading MS-Project schedules in ".xml" format. To export a schedule in MS-Project please choose File -> Save As and choose "Format XML (*.xml)".
  • ]po[ will extract and integrate information about project, tasks, resources and resource assignments.
  • Task and resource calendars are not supported currently.
  • The project calendar is currently supported during import, but not supported during export.

]project-open[ -> MS-Project:

  • ]project-open[ can generate MS-Project ".xml" schedules
  • ]po[ will use a default resource calendar.

"Round-Trip Integration" MS-Project -> ]po[ -> MS-Project -> ]po[ -> ...

  • Most information about an MS-Project schedule are maintained when exporting to ]po[ and re-exporting to MS-Project, except for resource calendars and the fields explicitely modified by ]po[ (like task advance and manual modifications in the schedule).
  • This feature allows departments and entire companies to use ]po[ as a project server.
  • Several resource utilization reports allow for a department and organization wide manual resource levelling.
  • A future (]po[ V4.1 currently) integration with TaskJuggler and other features will allow for automatic resource levelling.

Detailed Features

The following lists details features of MS-Project and the way they are handled by ]project-open[.

Identifying Existing Tasks

When importing a MS-Project project, ]po[ needs to identify if a MS-Project task already exists or not. This test is performed by checking 1) the unique MS-Project task ID and 2) the name of the task, relative to the task's parent.

Task Scheduling Type

The scheduling of tasks is controlled per task using one of the following types:

  • As soon as possible 
  • As late as possible
  • Must start on
  • Must finish on
  • Start no earlier than
  • Start no later than
  • Finish no earlier than
  • Finish no later than

Import from MS-Project: ]po[ stores the task scheduling types.

Export to MS-Project: ]po[ will use the stored task scheduling types.

Editing: ]po[ allows for manual editing of the scheduling type using its Web GUI.

Task Dependency Types

Tasks may be linked using one of four different types:

  • FF (finish-to-finish)
  • FS (finish-to-start)
  • SF (start-to-finish)
  • SS (start-to-start)

Import from MS-Project: ]po[ _stores_ the task dependency types, but it will ignore the dependency type and will show and schedule using FS dependency type.

Export to MS-Project: ]po[ will export the stored dependency type.

Editing: ]po[ allows to edit the task dependency type using it's Web GUI. 

The GanttEditor scheduling engine currently (2019-01-22) is very limited and only supports FS dependencies and no work calendars. 

Gantt Tracking

]po[ supports the "% completed" values from MS-Project.

Import from MS-Project: "% completed" are imported into ]po[

Export to MS-Project: ]po[ "% completed" values are exported.

]po[ provides a GUI to allow project managers to updated "% completed" of tasks.

]po[ also allows external applications (for example MS-Outlook using the funambol integration) to update task's completion status and will export this status back to MS-Project.

Start and End Date of Tasks With Children

MS-Project handles tasks with children different from ]po[. In ]po[ it is OK to have a parent that starts after a child task.

In contrast, MS-Project will recalculate the start and end of a parent to include any child tasks.

Over- and Understaffed Tasks

]po[ does not enforce the equation "Work = Duration x Resources". Instead, a "MS-Project Warnings" functionality warns the user about over- or understaffed tasks. In contrast, MS-Project will recalculate tasks to match the equation.

This difference only applies to tasks that have been defined manually in ]po[. Tasks imported from MS-Project will always match the equation.

Resource Initials

Import from MS-Project: ]po[ will ignore resource initials from MS-Project.

Export to MS-Project: ]po[ will use the first two letters of first- and second name as initials.

Resource Costs

Import from MS-Project: ]po[ will ignore resource costs from MS-Project because ]po[ has its own business logic and processes around calculating resource costs.

Export to MS-Project: ]po[ will export its own resource costs per hour in the ]po[ default currency.

Editing: ]po[ takes the resource cost from the employee "Hourly Cost" field. ]po[ will use the DefaultTimesheetHourlyCost parameter if the hourly cost is zero or undefined.

Resource Levelling

]po[ includes its own business logic and functionality for resource levelling of single and multiple projects.

The ]po[ [resource levelling] process is supported by a resource report showing resource use across all projects in an organization. A future Taskjuggler integration allows for sophisticated multi-project resource levelling.

Splitting Tasks

Splitting tasks (or "pausing" a task) is currently not supported in ]po[, splitting information is ignored.

The XML field "TimephasedData" is imported into the ]po[ database, but ignored by the ]po[ business logic.

Project, Task and Resource Calendars

Project and task calendars are currently (]po[ V4.0) stored in the ]po[ database but not supported during export or in the ]po[ business logic.

Import from MS-Project: Project and task calendars are stored in the ]po[ database but ignored in ]po[ business logic. Resource calendar information is ignored.

Export to MS-Project: Currently no calendar information is exported. Future versions (]po[ V4.1) will export project and task calendars and ask the user whether to export the project's original resource calendars or the ]po[ resource calendar based on information about absences and other HR parameters.

Editing: ]po[ includes a [timesheet] package that allows for editing and approving vacation and other absence requests.

A future (V4.1) ]po[ scheduling engine (based on a TaskJuggler) will use ]po[ information on vacation, bank holidays and other absences for resource based scheduling of projects.

Overtime and Overtime Costs

]po[ currently (V4.0) doesn't support overtime and overtime costs.

Import from MS-Project: ]po[ will ignore overtime information.

Export to MS-Project: ]po[ will not export any overtime information.

Materials and Per-use Costs

]po[ currently (V4.0) doesn't support non-human resources and per-use costs.

Custom Fields

]po[ currently (V4.0) doesn't support custom fields. MS-Project XML field "ExtendedAttribute" is ignored.

Multiple Projects

]po[ includes its own business logic and functionality for handling multiple projects.

MS-Project import and export is restricted to a single project.


]po[ does not support the import or export of Baselines. Baselines in ]po[ are possibly controlled by highly formal workflows which project managers are not allowed to modify.

Technical Details

Exporting Closed or Deleted Tasks

When exporting a project to MS-Project, ]po[ will export sub-projects and tasks even though they are in status "closed" or one of its sub-states. Only sub-projects and tasks in status "deleted" will be ignored.

Exporting Order

When exporting a project to MS-Project, ]po[ will try to preserve the order of tasks imported from MS-Project.

However, the order of tasks inserted on the ]po[ is not defined. You might need to rearrange them on the MS-Project side.



  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)


 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465