Project Management migration
Field-level mapping, validation, and rollback between OpenProject and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
OpenProject
Source
Microsoft Project
Destination
Compatibility
8 of 12
objects map 1:1 between OpenProject and Microsoft Project.
Complexity
BStandard
Timeline
3-5 weeks
Overview
OpenProject and Microsoft Project share the same core object model at the project level — Projects, Tasks, Milestones, Resources, and Assignments — but the surrounding ecosystem differs significantly. OpenProject structures work as Type/Status-driven Work Packages with project-level Roles and Members; Microsoft Project uses a flat task hierarchy with a Resource Pool and Assignment records. We resolve that structural difference during scoping, map OpenProject Versions to MS Project Milestone tasks, preserve parent-child Work Package hierarchy as Summary Task/subtask chains, and flag Wikis, Forums, Boards, and Documents as objects with no MS Project equivalent that require a written inventory for manual handoff. Custom fields on both platforms are instance-specific and require explicit field-by-field mapping against MS Project's 30-text-field custom field slots. We use OpenProject's API v3 where available and fall back to bulk CSV/XLS export for objects with incomplete API coverage, chunking large datasets around the 500-record export cap. We do not migrate OpenProject automations, email notification rules, or date alert configurations as these are platform-configured behaviors without a migration pathway to MS Project.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a OpenProject object lands in Microsoft Project, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
OpenProject
Project
Microsoft Project
Project
1:1OpenProject Projects map directly to MS Project files (MPP) or Project Online projects. Each OpenProject project carries its activated Modules (Gantt, Boards, Calendar, etc.) which we cannot preserve in MS Project since it has no module activation concept; we document which modules were active as a configuration note for the customer to recreate manually. Project-level custom fields map to the project summary task's Text fields if the destination is Project Online, or are recorded in an accompanying schema document for manual entry.
OpenProject
Work Package
Microsoft Project
Task
1:1OpenProject Work Packages map to MS Project Tasks. The Work Package subject becomes Task Name. Start and due dates map to Task Start and Task Finish. Estimated hours map to the Work field. The parent-child hierarchy in OpenProject (parent Work Package with child Work Packages) becomes the MS Project outline structure with Summary Tasks and subtasks. Type (Task, Bug, Feature, Phase, Milestone) requires mapping: Phase maps to a Summary Task, Milestone maps to a Milestone task (flag1 = yes), and Task/Bug/Feature map to regular tasks.
OpenProject
Version
Microsoft Project
Milestone (task)
1:1OpenProject Versions (called Milestones in the UI) group related Work Packages and carry a target date. We map each Version to an MS Project Milestone task — a task with Duration = 0 and Mark Task as Milestone set to Yes. The Version's target date becomes the Milestone task's Finish date. Work Packages associated with the Version via the Versions field are linked with Finish-to-Start dependencies to the Milestone task so that the milestone reflects the latest downstream work package date.
OpenProject
Status
Microsoft Project
Text field or flag
lossyOpenProject Status values (New, In Progress, Closed, etc.) are configurable per project and per Type. MS Project has no native Status field on tasks. We map Status to a custom Text field (Text1) on each task. For Status-to-percentage-complete mapping, we configure a lookup table during scoping so that Closed status sets percent complete to 100%, In Progress maps to 1-99% (we use the Work Package's progress % if available), and New maps to 0%.
OpenProject
Work Package Type
Microsoft Project
Task Summary / Regular / Milestone
lossyOpenProject Type is a per-project configurable field (Task, Bug, Feature, Phase, Milestone, Epic). Phase maps to MS Project Summary Task (outline level 1 or higher). Epic maps to a top-level Summary Task grouping related Phases. Milestone maps to a Milestone task. Task, Bug, and Feature all map to regular tasks; we preserve the original Type name in a custom Text2 field for traceability.
OpenProject
User
Microsoft Project
Resource (Work resource)
1:1OpenProject Users map to MS Project Resources of type Work. We extract each User's name, email, and admin/global role during discovery. Resources are created from Users during migration with the Resource Name set to the user's full name and email recorded in the Resource Notes field. Resources without assignments in OpenProject are imported as inactive resources to preserve the audit trail.
OpenProject
Member
Microsoft Project
Resource Assignment
1:1OpenProject Members (User-Role assignments per Project) map to MS Project Resource Assignments on tasks. The Work Package's Assignee becomes the assigned Resource on the corresponding Task. Estimated hours on the Work Package become the Work field on the Assignment. If the OpenProject Member has no Work Package assigned (project-level membership with no task ownership), we create an Assignment on the project summary task with zero hours.
OpenProject
Time Entry
Microsoft Project
Assignment Work + Task Actual Work
lossyOpenProject Time Entries log hours against Work Packages with a cost type and rate. We aggregate Time Entry hours per Work Package and add them to the Task's Work field in MS Project, setting the Assignment's Actual Work to the logged hours. Cost entries from OpenProject require a Resource Cost Rate on the MS Project Resource; we map OpenProject cost types to MS Project Resource cost rates during the Resource setup phase. Note: OpenProject logs time in hours only; day-based reporting requires post-migration calculation.
OpenProject
Custom Field
Microsoft Project
Text1-30 fields
lossyOpenProject custom fields (text, number, list, user, date, boolean, float) per project or globally require explicit mapping to MS Project's 30 available custom fields (Text1-30, Number1-20, Cost1-10, Flag1-10, Date1-10). Text and list custom fields map to Text fields. Number and float map to Number fields. Date custom fields map to Date fields. Boolean maps to Flag fields. List fields with predefined options can alternatively map to a Text field with a dropdown hint. We document the complete mapping during discovery and create it in the MS Project file before data import.
OpenProject
Wiki, Document, Forum
Microsoft Project
None (no equivalent)
1:1OpenProject Wikis, Documents, and Forums have no native equivalent in Microsoft Project. MS Project Desktop, Project Online, and Project for the Web do not have built-in wiki, document repository, or discussion forum functionality. We export these objects to a structured folder of Markdown/HTML files and plain-text forum exports respectively, packaged alongside the MS Project file as a companion archive. The customer manually recreates the knowledge base in SharePoint, Confluence, or another wiki platform of their choosing.
OpenProject
Board
Microsoft Project
None (no equivalent)
1:1OpenProject Kanban boards are derived from work package queries with column-to-status mappings stored as view metadata. Microsoft Project has no board view. MS Project Online and Project for the Web have task boards in Planner but these are separate products, not linked to MS Project files. We preserve board structure as a written configuration document describing each board's name, column definitions, and which Work Package statuses populate each column, so the customer's admin can recreate equivalent board views in Planner or a third-party tool.
OpenProject
Attachment
Microsoft Project
File attachment (linked externally)
1:1OpenProject attachments on Work Packages, Wiki pages, and Documents are stored either in the database (small files) or on disk (large files). MS Project tasks can carry a single attachment via the Attachments tab in Project Online, but not in the desktop MPP format. We extract attachment metadata (filename, URL path, uploader, date) during discovery and export it as a CSV alongside the MS Project import. The customer maps the OpenProject file storage path to a SharePoint document library or OneDrive folder, and we document the cross-reference for manual file relocation.
| OpenProject | Microsoft Project | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Work Package | Task1:1 | Fully supported | |
| Version | Milestone (task)1:1 | Fully supported | |
| Status | Text field or flaglossy | Fully supported | |
| Work Package Type | Task Summary / Regular / Milestonelossy | Fully supported | |
| User | Resource (Work resource)1:1 | Fully supported | |
| Member | Resource Assignment1:1 | Fully supported | |
| Time Entry | Assignment Work + Task Actual Worklossy | Fully supported | |
| Custom Field | Text1-30 fieldslossy | Fully supported | |
| Wiki, Document, Forum | None (no equivalent)1:1 | Fully supported | |
| Board | None (no equivalent)1:1 | Fully supported | |
| Attachment | File attachment (linked externally)1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
OpenProject gotchas
Work package export limit of 500 applies to CSV/XLS/Atom
API v3 is not fully implemented
Time entries support hours only, not days
Custom fields are instance-specific and not portable as-is
Enterprise add-ons tier changes effective May 2025
Microsoft Project gotchas
Project for the web is being retired and merged into Microsoft Planner
Planner-tier portfolio features are incomplete despite Plan 5 labeling
Web app constraint controls are weaker than the Windows desktop client
Project requires a separate license not bundled with standard Microsoft 365
Project Online API is edition-gated and inconsistently documented
Pair-specific challenges
Migration approach
Discovery and inventory
We audit the source OpenProject instance across all projects, activated modules, Work Package count and hierarchy depth, Versions, Time Entry volume, Custom Field definitions (per project and global), User and Member count, and any Enterprise add-on usage. We also inventory Wikis, Forums, Documents, and Boards for the companion archive. The discovery output is a written migration scope document with record counts per object type, a preliminary field-mapping matrix, and a flag for any objects exceeding the 500-record export cap that require API-based chunking.
MS Project destination setup and schema design
We configure the MS Project destination file or Project Online workspace before any data import. This includes creating the Resource Pool (populated from OpenProject Users with cost rates from Cost Entries), creating custom fields (Text1-30, Number1-20, Cost1-10, Flag1-10, Date1-10) mapped from the OpenProject Custom Field inventory, and setting the default calendar (OpenProject uses a project-level working days configuration; MS Project uses a base calendar). For Project Online destinations, we also configure the SharePoint document library path for attachment cross-referencing.
Export, transform, and validate
We extract data from OpenProject via API v3 for Work Packages, Projects, Users, Members, Versions, and Time Entries, falling back to bulk CSV/XLS export with chunking for objects where API coverage is incomplete. Each export run produces a transform file that applies the mapping rules: Work Package Type to outline level, Status to custom Text1 field, parent-child hierarchy to MS Project outline indent, Version to Milestone task, and Time Entry hours to Assignment Work. We validate transform output against the discovery record counts before proceeding to import.
Sandbox import and reconciliation
We import the transformed data into a test MS Project file or Project Online sandbox environment. The customer's project manager or PMO lead spot-checks 25-50 tasks against the source OpenProject data, validates that outline indentation matches the parent-child Work Package hierarchy, confirms that Version milestones appear at the correct dates, and verifies that Resource assignments align with OpenProject Assignees. Any mapping corrections are applied to the transform logic and the import is re-run until reconciliation passes.
Production migration and attachment handoff
We run the production migration using the validated transform pipeline. Projects are created first (or opened as new MPP files), Resources are populated from the User inventory, then Work Packages are imported as tasks in dependency order to preserve the critical path. Time Entries aggregate into Assignment Work on each task. Custom fields populate from the custom field mapping matrix. We deliver the companion archive containing Wiki exports, Forum exports, Document metadata, and Board configuration notes alongside the imported MS Project file(s). We do not migrate OpenProject email notification rules, date alerts, or workflow configurations.
Cutover, validation, and manual rebuild handoff
We freeze writes on the OpenProject source during the cutover window, run a final delta migration of any work packages modified during migration, then hand the MS Project destination as the system of record. We deliver the automation inventory document listing every OpenProject notification rule, date alert, and configuration that has no MS Project equivalent, with recommendations for rebuilding in MS Project, Power Automate, or a companion Planner workspace. We support a five-business-day hypercare window for reconciliation issues; post-hypercare, the customer's admin team owns further configuration.
Platform deep dives
OpenProject
Source
Strengths
Weaknesses
Microsoft Project
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across OpenProject and Microsoft Project.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
OpenProject: Not publicly documented.
Data volume sensitivity
OpenProject doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during OpenProject to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your OpenProject to Microsoft Project migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave OpenProject
Other ways to arrive at Microsoft Project
Same-Project Management migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.