Project Management migration
Field-level mapping, validation, and rollback between Forecast and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
Forecast
Source
Microsoft Project
Destination
Compatibility
6 of 10
objects map 1:1 between Forecast and Microsoft Project.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Forecast to Microsoft Project is a structural migration that re-homes a flattened schedule hierarchy into a native Microsoft Project plan file (MPP), Project Online PWA, or Planner Premium destination depending on your target product tier. Forecast uses Projects, Phases, and Tasks as a three-tier planning container; Microsoft Project collapses Phases into Summary Tasks while preserving the nesting logic through task outlining. We extract the Forecast schedule via CSV and API where available, map each entity to its Microsoft Project equivalent, resolve Milestone target dates against their parent project container, and transfer resource assignments to the destination's resource pool. Time Registrations carry hours, billable flags, and rate values that need to land as task-time entries or timesheet data in the destination. We do not migrate Forecast's Workflows, Rate Cards as pricing tables, or AI-derived utilization signals; we deliver a written inventory of these for your admin to rebuild or reconfigure post-migration.
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 Forecast 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.
Forecast
Project
Microsoft Project
Project (MPP) / Project Plan (Project Online) / Plan (Planner)
1:1Forecast Projects map directly to the top-level project container in your Microsoft Project destination. In Project Desktop (MPP) this is the project file itself; in Project Online PWA this is a Project Site with a Project Detail Page; in Planner Premium this is a Plan within the Planner hub. We preserve the project name, status, start date, target end date, description, and any project-level Custom Fields. Forecast project Custom Fields that have no direct Microsoft Project equivalent are held for a field-mapping review during scoping.
Forecast
Phase
Microsoft Project
Summary Task (Project Desktop / Project Online) / Bucket or Section (Planner)
1:1Forecast Phases are mid-level grouping containers that sit between Project and Task. In Microsoft Project, Phases map to Summary Tasks — tasks with child tasks beneath them in the outline hierarchy. We preserve the phase name, dates, and summary-level Custom Fields. In Planner, which lacks a native phase construct, Phases map to Buckets (for grouping) or Sections ( Planner Plan 5 only). The customer's chosen destination product tier determines which grouping model applies; we confirm this during scoping before any import design begins.
Forecast
Task
Microsoft Project
Task
1:1Forecast Tasks map 1:1 to Microsoft Project Tasks. We transfer task name, status (Active, Completed, On Hold), start date, finish date, duration, percent complete, priority, assignee (mapped to a resource in the destination pool), and task-level Custom Fields. Task-level time estimates from Forecast map to the Microsoft Project Work field (in hours). Dependencies from Forecast (Finish-to-Start, Start-to-Start, Finish-to-Finish, Start-to-Finish) map to Microsoft Project predecessor links with the appropriate dependency type.
Forecast
Milestone
Microsoft Project
Milestone Task
1:1Forecast Milestones represent key target dates tied to a Project. We map them to Microsoft Project Milestone tasks (tasks with zero duration and a diamond marker in the Gantt). The milestone name, target date, and parent project reference transfer directly. We validate that milestone dates fall within the parent project's date range and flag any date conflicts for the customer's PMO lead to resolve before final import.
Forecast
Custom Fields (Project, Phase, Task level)
Microsoft Project
Custom Fields (Project-level custom fields, task-level custom fields)
lossyCustom Fields in Forecast support text, numeric, and choice types and can be applied at the Project, Phase, Task, and Time Registration levels. In Microsoft Project Desktop and Project Online, custom fields use the Field List interface with text, flag, number, cost, date, and finish variants. We identify every non-standard Custom Field during scoping, classify its type, and map it to the closest Microsoft Project custom field type. Choice fields map to drop-down custom fields with option sets. This mapping step is validated in a sandbox import before production.
Forecast
Time Registration
Microsoft Project
Task Timephased Data (Project Online) / Task Assignment Hours (Project Desktop) / Planner Task Completion %
lossyForecast Time Registrations are hours logged against a Task (or directly against a Project for non-task logging) with a date, billable flag, and optional rate. In Project Desktop and Project Online, logged hours attach to the task as work or as a timephased entry in the Assignment. In Planner Premium, tasks track completion as a percentage rather than hours. We map time registrations to task assignment work values in the destination, preserving the original hours, date, and billable flag. Non-billable hours are noted. Rate information from Forecast (from Rate Cards) does not transfer as a billing construct in Microsoft Project but can be preserved in a custom field if the customer has Project Online with cost accounting enabled.
Forecast
Rate Card
Microsoft Project
Resource Cost Rate Table (Project Online) / Custom Field (Project Desktop)
lossyForecast Rate Cards define hourly billing rates per role or per person. Microsoft Project does not have a native Rate Card object. In Project Online, we map rate card values to Resource cost rate tables (cost per use, per hour, or per period on the resource sheet). In Project Desktop, rate card values are preserved in a custom text or currency field on the resource. Rate Card data is flagged as configuration rather than a direct object migration because it requires the customer's PMO to confirm whether rates are used for billing (Project Online cost accounting) or reporting (custom field) in the destination.
Forecast
Resource Assignment
Microsoft Project
Resource Assignment
1:1Forecast Resource Assignments allocate a team member to a task with a percentage allocation or hours. We extract the assignment records and re-link them in the destination by matching the Forecast team member email to the corresponding resource name in the Microsoft Project resource pool. Assignments with a percentage allocation map to assignment units in Project Desktop or Project Online; Planner Premium maps assignments to task assignees directly. We flag any orphaned assignments (where the team member has no corresponding resource in the destination pool) for the customer's admin to provision before the import resumes.
Forecast
Team Members / Users
Microsoft Project
Resources (Project Desktop / Project Online) / Members (Planner)
1:1Forecast users and team members map to Microsoft Project Resources. In Project Desktop, resources are entered in the Resource Sheet with name, type (material, work, cost), and max units. In Project Online PWA, resources are managed in the Resource Center and can be enterprise resources synced from SharePoint or Entra ID. In Planner, members are added to a Plan from the Microsoft 365 tenant. We resolve Forecast users by email match to the destination resource name and flag any unmapped users for admin provisioning.
Forecast
Attachment / Document
Microsoft Project
Document (SharePoint for Project Online) / Attachment (Planner)
lossyForecast attachments on tasks and projects are extracted and mapped to SharePoint document libraries (for Project Online destinations connected to a SharePoint site) or as task attachments in Planner. Project Desktop does not natively store attachments inside the MPP file; we deliver attachments as a separate file inventory with a mapping table linking each file to its source and destination task so the customer's admin can re-attach manually or via Power Automate.
| Forecast | Microsoft Project | Compatibility | |
|---|---|---|---|
| Project | Project (MPP) / Project Plan (Project Online) / Plan (Planner)1:1 | Fully supported | |
| Phase | Summary Task (Project Desktop / Project Online) / Bucket or Section (Planner)1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Milestone | Milestone Task1:1 | Fully supported | |
| Custom Fields (Project, Phase, Task level) | Custom Fields (Project-level custom fields, task-level custom fields)lossy | Fully supported | |
| Time Registration | Task Timephased Data (Project Online) / Task Assignment Hours (Project Desktop) / Planner Task Completion %lossy | Fully supported | |
| Rate Card | Resource Cost Rate Table (Project Online) / Custom Field (Project Desktop)lossy | Fully supported | |
| Resource Assignment | Resource Assignment1:1 | Fully supported | |
| Team Members / Users | Resources (Project Desktop / Project Online) / Members (Planner)1:1 | Fully supported | |
| Attachment / Document | Document (SharePoint for Project Online) / Attachment (Planner)lossy | 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.
Forecast gotchas
No public pricing or self-serve trial
CSV-only data export covers a subset of objects
No documented public API for bulk operations
Custom Fields require field-level mapping at destination
Multi-user concurrent editing is limited
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 destination product confirmation
We audit the source Forecast account across active projects, phases, tasks, milestones, time registrations, resource assignments, Custom Fields, and Rate Cards. We confirm the target Microsoft PM product with the customer: Project Desktop (MPP files), Project Online PWA (noting the September 2026 retirement and the need for a subsequent Planner migration), or Planner Premium. The discovery output is a written migration scope, an object inventory with record counts, and a destination product confirmation signed by the customer's PMO lead before schema design begins.
Source extraction and data quality review
We extract Forecast schedule data via CSV export for Projects, Phases, Tasks, and Time Registrations. For Custom Fields, Rate Cards, and Resource Assignments (objects not covered by CSV), we use the Forecast API where credentials are available or request manual exports from the customer. We run a data quality review that identifies missing parent references, orphaned assignments, phase-task nesting gaps, and any milestone dates that fall outside their parent project range. We produce a data quality report and resolve gaps with the customer before designing the destination schema.
Destination schema design and sandbox import
We design the destination schema in the customer's target Microsoft PM product. For Project Desktop, this means structuring the MPP file with Summary Tasks (from Forecast Phases), task hierarchy, custom fields, resource sheet, and calendar. For Project Online, this means configuring the PWA with project detail pages, custom fields, enterprise resources, and lookup tables. For Planner Premium, this means structuring Plans with Buckets or Sections and confirming the custom field compatibility. We run a sandbox import (a development or test environment) before production migration, validate record counts and nesting, and hand the reconciliation checklist to the customer's PMO lead for sign-off.
Owner and resource reconciliation
We extract every distinct Forecast team member referenced on tasks, assignments, and time registrations and match them by email to the destination resource pool. In Project Desktop, resources are entered in the Resource Sheet. In Project Online, resources are provisioned in the Resource Center (or synced from Entra ID). In Planner, members are added to the Plan from the Microsoft 365 tenant. Any unmapped users go to a reconciliation queue for the customer's admin to provision before record import resumes. Migration cannot proceed past this step because resource references are required on task assignments.
Production migration in dependency order
We run production migration in this sequence: (1) resources and team members, (2) projects with project-level custom fields, (3) phases mapped to Summary Tasks or Buckets within each project, (4) tasks with full hierarchy, dates, durations, and task-level custom fields, (5) task predecessors for dependency preservation, (6) resource assignments linked to the migrated resource pool, (7) milestones with zero-duration flags and target dates, (8) time registrations mapped to task work values with billable flags and rates held as custom fields. For Project Online, each phase uses the CSOM or REST API with batch chunking and exponential backoff. For Project Desktop, we build the MPP file programmatically via the MSProject Object Model or XML import. For Planner, we use the Planner API with Plan and Bucket creation followed by task import.
Cutover, validation, and Workflow rebuild handoff
We freeze Forecast writes during cutover, run a final delta migration of any records modified during the migration window, and deliver a row-count reconciliation report across all object types. We provide a side-by-side validation comparing source record counts and a sample spot-check of 25-50 records against the Forecast source data. We deliver the Workflow and Rate Card inventory document to the customer's admin team for post-migration rebuild in Power Automate (Project Online/Planner) or manual re-entry (Rate Cards). We offer a one-week hypercare window for reconciliation issues raised by the PMO team. We do not rebuild Forecast Workflows as Power Automate flows inside the migration scope.
Platform deep dives
Forecast
Source
Strengths
Weaknesses
Microsoft Project
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 1 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 Forecast and Microsoft Project.
Object compatibility
1 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
Forecast: Not publicly documented.
Data volume sensitivity
Forecast 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 Forecast to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your Forecast 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 Forecast
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.