Project Management migration
Field-level mapping, validation, and rollback between BrightWork and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
BrightWork
Source
Microsoft Project
Destination
Compatibility
4 of 11
objects map 1:1 between BrightWork and Microsoft Project.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from BrightWork to Microsoft Project is a SharePoint-extraction-first migration because BrightWork has no public REST API—data lives inside SharePoint list structures (Project Areas, Tasks, RAID logs, Status Reports) and must be pulled via authenticated SharePoint session before re-materializing in Microsoft Project. We handle the SharePoint versioning quirks that affect column type serialization (Managed Metadata, Person fields, lookups), flag custom field type conflicts across Project Areas before import, and preserve predecessor relationships and task hierarchy. Microsoft Project does not have a native portfolio dashboard or structured status report—Portfolio Status Reports from BrightWork surface as project-level summary tasks or a written document for the PMO to rebuild post-migration. RAID logs (Risks, Assumptions, Issues, Dependencies) migrate as Notes, custom fields, or summary tasks depending on the target Project tier. BrightWork workflows, Power Automate flows tied to SharePoint, and SharePoint permission structures do not migrate; we deliver a written inventory of these for the customer's admin to rebuild.
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 BrightWork 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.
BrightWork
Project
Microsoft Project
Project (MPP file or Project Online Project Site)
1:1BrightWork Projects map directly to Microsoft Project plan files or Project Online project sites. We preserve project name, description, planned start, planned finish, and the Project Manager from the SharePoint Project Area's site permissions. The Project Manager email is recorded in a Project-level custom text field because MS Project does not store a PM as a typed User field at the project level.
BrightWork
Program
Microsoft Project
Multiple MPP files or Project Online sites (no native Program object)
1:manyBrightWork Programs group multiple Projects and roll up to a portfolio-level Status Report. Microsoft Project has no native Program object. We split the Program into separate MPP files (one per child Project) and create a Program-level master summary document listing all child projects, their statuses, and their owners. The customer uses the master document or a SharePoint site as the Program container post-migration.
BrightWork
Task
Microsoft Project
Task
1:1BrightWork Tasks map 1:1 to Microsoft Project Tasks with name, start date, finish date, duration, percent complete, priority, and assigned owner preserved. Predecessor links from BrightWork's predecessor field migrate to the predecessor column in MS Project using the standard FS/SS/FF dependency notation. Parent-child task hierarchy (WBS) is preserved by maintaining the outline level from SharePoint.
BrightWork
Portfolio Status Report
Microsoft Project
Summary Tasks or External Document
lossyBrightWork aggregates project status into portfolio-level Status Reports with health indicators, milestone summaries, and issue flags. Microsoft Project does not have a native status report object. We extract each Status Report as a structured JSON summary and write it as a summary task at the top of each child project's MPP file, with health and RAG status in custom fields. A separate written status report register is delivered for the PMO admin to rebuild as a Power BI dashboard or SharePoint page.
BrightWork
RAID Log: Risk
Microsoft Project
Custom Fields or Task Notes
1:manyBrightWork Risks are structured list items with owner, probability, impact, and mitigation fields. Microsoft Project has no native Risk object. We merge all Risks into the destination Project by creating custom text fields (Risk Owner, Risk Probability, Risk Impact, Mitigation Plan) and populating them on the relevant summary task, or by attaching a Risks.docx export as a document link. The customer chooses strategy during scoping.
BrightWork
RAID Log: Issue
Microsoft Project
Task Notes or Custom Fields
1:manyBrightWork Issues are structured list items with owner, priority, status, and resolution fields. We merge Issues into the destination Project by creating custom fields (Issue Owner, Issue Priority, Issue Status, Resolution) on the affected task, or by attaching an Issues.docx export. This mirrors the Risk approach for consistency.
BrightWork
RAID Log: Assumption
Microsoft Project
Task Notes (text)
1:manyBrightWork Assumptions are typically free-text or single-field list entries. We attach Assumptions as formatted Notes on the related task or on a dedicated Summary task for the project. There is no native Assumption object in Microsoft Project.
BrightWork
RAID Log: Dependency
Microsoft Project
Predecessor Links or External Task
lossyBrightWork Dependencies track cross-project or external linkages. Internal predecessor links migrate as MS Project predecessor relationships. External dependencies (where the target project is not in the migration scope) migrate as a text custom field External Dependencies listing the target system and project name for manual rebuild in MS Project.
BrightWork
Custom Fields
Microsoft Project
Enterprise Custom Fields or Inline Custom Fields
lossyBrightWork custom fields are SharePoint list columns defined per Project Area, which means the same field name may have different data types across projects (for example, Project A defines Priority as a Choice field; Project B defines Priority as a text field). We export the column definitions for each Project Area, identify type conflicts across the migration scope, and surface them for customer resolution before import. Where types align, we create matching MS Project Enterprise custom fields. Where they conflict, we default to text.
BrightWork
Attachment
Microsoft Project
Document Link or External File Reference
1:1BrightWork stores file attachments in SharePoint document libraries within each Project Area. We extract the binary files and produce a document register mapping each file to its parent task (or project) and the SharePoint path. During import, we place files in a shared network location or SharePoint Online library and link them from MS Project via the Hyperlinks field or a document reference custom field. We do not embed binary files directly into MPP files.
BrightWork
Time Entry
Microsoft Project
Task Actual Work or Assignment
1:1BrightWork time entries log hours against Tasks with date and user association. Microsoft Project stores work on task assignments (Assignment Actual Work field) rather than as standalone time entry records. We map each time entry to the corresponding task assignment and set the Actual Work and Actual Start fields. If the destination is Project Online, we also write to TimesheetMyTasks to surface entries in the Project Online timesheet experience.
| BrightWork | Microsoft Project | Compatibility | |
|---|---|---|---|
| Project | Project (MPP file or Project Online Project Site)1:1 | Fully supported | |
| Program | Multiple MPP files or Project Online sites (no native Program object)1:many | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Portfolio Status Report | Summary Tasks or External Documentlossy | Fully supported | |
| RAID Log: Risk | Custom Fields or Task Notes1:many | Fully supported | |
| RAID Log: Issue | Task Notes or Custom Fields1:many | Fully supported | |
| RAID Log: Assumption | Task Notes (text)1:many | Fully supported | |
| RAID Log: Dependency | Predecessor Links or External Tasklossy | Fully supported | |
| Custom Fields | Enterprise Custom Fields or Inline Custom Fieldslossy | Mapping required | |
| Attachment | Document Link or External File Reference1:1 | Fully supported | |
| Time Entry | Task Actual Work or Assignment1: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.
BrightWork gotchas
No public REST API for programmatic data access
SharePoint versioning can break list export formats
Custom fields are SharePoint list columns, not a defined schema
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
SharePoint access provisioning and version detection
We confirm access to every BrightWork Project Area SharePoint site in scope and detect the SharePoint version (SharePoint Online/Microsoft 365 or SharePoint 2019 on-premise). We export the column schema for every SharePoint list (Tasks, RAID logs, Status Reports, custom lists) and the document library structure for attachments. If any Project Area site is inaccessible, we surface the gap for the customer's SharePoint admin to grant read access before extraction begins.
Schema extraction and custom field conflict analysis
We extract all list column definitions (field names, data types, required flags, default values) for every Project Area. We build a unified field map collapsing duplicate field names across Project Areas and flagging type conflicts. We present the conflict matrix to the customer's PMO lead and agree on a resolution strategy: default to text for conflicting fields, or skip conflicting fields and note them in the gap report. We also extract RAID log schemas (Risks, Assumptions, Issues, Dependencies) to design the target custom field structure in MS Project.
Data extraction and transformation
We extract all task records, predecessor links, RAID log entries, time entries, and Status Report data from SharePoint lists via authenticated session queries. We transform the extracted data into MS Project-compatible column mapping, resolve the parent-child outline levels from SharePoint, and map predecessor field values to MS Project predecessor notation. For attachments, we extract binary files and build a document register mapping each file to its parent task and the SharePoint source path. The extraction produces a structured staging dataset ready for MS Project import.
Custom field creation and program splitting
For each target MPP file or Project Online site, we create the MS Project custom fields (using Enterprise custom fields if the destination is Project Online) matching the resolved field map. We split Programs into individual project files and generate the Program master register. We set up the MS Project resource pool if the customer has an existing Project Online resource management setup; otherwise we create a resource sheet within each MPP file. We apply the RAID log strategy (custom fields or Notes) agreed in scoping.
Staging import and reconciliation
We import the transformed dataset into a staging MS Project environment—either a set of test MPP files or a non-production Project Online instance. We reconcile record counts against the source extraction log: tasks in, parent-child relationships intact, predecessors resolved, RAID entries attached, attachments registered. We spot-check 25-50 records for field-level accuracy against the SharePoint source. The customer's PMO lead reviews and signs off the staging result before production migration begins.
Production import and document delivery
We run the production import in dependency order: Project summary records, then Tasks with predecessor links and assignment data, then RAID log entries, then time entries, then document register. Each phase emits a row-count reconciliation report. We deliver the final set of MPP files (or Project Online project sites) alongside the Program master register, Status Report summary document, RAID export documents, and attachment register. We deliver the Power Automate and SharePoint workflow inventory for admin rebuild. We do not migrate SharePoint permissions or resource pools as these require manual rebuild in MS Project.
Platform deep dives
BrightWork
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 BrightWork 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
BrightWork: Not publicly documented.
Data volume sensitivity
BrightWork 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 BrightWork to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your BrightWork 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 BrightWork
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.