Project Management migration
Field-level mapping, validation, and rollback between CAMMS and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
CAMMS
Source
Microsoft Project
Destination
Compatibility
5 of 10
objects map 1:1 between CAMMS and Microsoft Project.
Complexity
CModerate
Timeline
4-6 weeks
Overview
Moving from CAMMS to Microsoft Project is a structural migration constrained by the absence of a public API on the source side. CAMMS stores Projects, Tasks, Risks, Issues, Budgets, Meetings, and Documents across separate modules with cross-object referential links, while Microsoft Project uses a single project-centric model with Tasks as the primary scheduling unit and no native Risk or Issue objects. We begin every engagement with an export method assessment: if CAMMS is cloud-hosted with no API access, we coordinate a structured data export request through CAMMS support before any field mapping begins. We sequence the export in dependency order — Projects and Budgets first to anchor cost rollups, then Risks and Issues as task-level custom fields, then Tasks with their parent-child hierarchy preserved — and run a parallel attachment pipeline that downloads files from CAMMS's document management layer and re-links them to their parent tasks after import into SharePoint. CAMMS approval workflows, stage gates, and custom approval chains have no Microsoft Project equivalent; we deliver a written inventory of these for the customer's admin to rebuild in Power Automate. Migrations for portfolios under 50 active projects and two modules land in the four-to-six-week range; portfolios exceeding 200 projects across multiple modules extend to ten-to-fourteen weeks due to export coordination time and SharePoint document migration overhead.
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 CAMMS 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.
CAMMS
Project
Microsoft Project
Project
1:1CAMMS Projects are the top-level containers in the hierarchy and map directly to Microsoft Project Project. We extract project name, description, project owner, start and finish dates, status, cost centre, and any custom project-level properties. Sub-projects in CAMMS map to sub-projects in Microsoft Project, preserving the hierarchy structure. Project status values (Active, On Hold, Closed) map to the corresponding Project Online or Project for Microsoft 365 status field. The project-level owner maps to a Resource record that we create before task import so that the OwnerId reference is satisfied at migration time.
CAMMS
Task
Microsoft Project
Task
1:1CAMMS Tasks belong to Projects and carry status, assignees, start and end dates, effort estimates, and effort units. We map task structures preserving parent-child relationships and the full WBS hierarchy. Summary tasks in CAMMS become summary tasks in Microsoft Project; regular tasks map directly. Milestones in CAMMS (tasks with zero duration or a dedicated Milestone flag) become Microsoft Project milestones with both the Milestone checkbox and a duration of zero. Task-level attachments require a separate file-handling pipeline after the task import completes.
CAMMS
Risk
Microsoft Project
Task (custom fields)
lossyCAMMS Risks are linked to Projects and contain likelihood, impact, owner, mitigation plan, and status. Microsoft Project has no native Risk object, so we carry Risk data as custom fields on the associated task or as a custom enterprise text field on the project. We extract the full risk register from CAMMS and create a custom task-level field structure with fields for Risk Title, Likelihood (High/Medium/Low), Impact (High/Medium/Low), Owner, Status, Mitigation Plan, and Due Date. We create a separate Risks Register view in Microsoft Project that surfaces these custom fields in a tabular format for risk-tracking workflows. CAMMS's risk-to-issue associations require explicit cross-object mapping as a custom text field on the Issue record.
CAMMS
Issue
Microsoft Project
Task (custom fields)
lossyCAMMS Issues are related but distinct from Risks and carry status workflow, priority, owner, and linked project context. We map Issues similarly to Risks — as custom fields on the associated task — with fields for Issue Title, Status, Priority (Critical/High/Medium/Low), Owner, Description, and Linked Project. Issue-to-Risk associations migrate as a text field containing the related Risk ID. If the customer maintains a high volume of active Issues, we recommend creating a separate Issues Register SharePoint list linked from the project for ongoing management post-migration.
CAMMS
Budget
Microsoft Project
Cost fields on Project and Task
1:manyCAMMS Budget entries track planned cost against actuals per project or work package, including cost codes, budget periods, and variance. We extract budget lines including cost codes, planned amounts, and actuals, and map planned budget amounts to the Microsoft Project task Fixed Cost fields or resource-based cost fields depending on whether the budget is task-level or summary-level. Variance data migrates as a custom cost field variance__c. Cost code schemas vary by CAMMS deployment and may require a custom field for the code reference. CAMMS Budget status (Approved, Pending, Over Budget) migrates as a custom picklist field on the project.
CAMMS
Meeting
Microsoft Project
Task (notes) + SharePoint list
1:1CAMMS Meeting records contain agenda items, attendees, and minutes linked to the originating project. Microsoft Project has no native meeting object, so we carry meeting content as task notes on a dedicated Meeting Notes task or as a SharePoint list linked from the project SharePoint site. Attendee lists migrate as resource assignments on the Meeting Notes task. If the organisation relies heavily on the CAMMS Meetings module, we recommend setting up a recurring agenda and minutes template in Microsoft Teams connected to the project SharePoint site post-migration.
CAMMS
Document
Microsoft Project
SharePoint Document Library
1:1Documents attached to CAMMS Projects, Tasks, Risks, and Issues are stored in CAMMS's document management layer and must be exported as files separately from the record data. We run a parallel attachment export pipeline that downloads files in their original format, recreates the folder hierarchy in our staging environment, and re-links each file to its parent task after import into Microsoft Project's connected SharePoint site. Large portfolios with hundreds of attachments require additional storage provisioning and transfer time. We verify all re-links after migration against the original CAMMS document manifest.
CAMMS
User and Resource
Microsoft Project
Resource
1:1CAMMS User accounts, resource allocations, and utilisation data are extracted from the workforce module. Role-based access assignments map to Microsoft Project Resources. Resource names, email addresses, and role titles migrate to Resource records in Microsoft Project. If CAMMS stores utilisation percentages or allocation hours per project, we map these to assignment fields or a custom resource field. Inactive CAMMS users are created as inactive Resources in Microsoft Project to preserve historical assignment data. The customer's Microsoft 365 tenant admin provisions the underlying User records in Entra ID if they do not already exist.
CAMMS
Custom Field
Microsoft Project
Custom field or SharePoint column
lossyCAMMS custom fields defined by individual deployments are not governed by a stable schema and have no documented export mechanism. We do not migrate custom fields automatically; we ask customers to provide a written inventory of all active custom fields, their data types, and their current values before scoping. We then map each one individually to Microsoft Project custom fields (Text, Number, Date, Picklist) on the appropriate object. Any custom fields with no Microsoft Project equivalent are flagged as manual carry-over items and documented for the customer's admin.
CAMMS
Approval Workflow
Microsoft Project
Power Automate (rebuild)
lossyCAMMS approval workflows and stage-gate definitions per project type have no direct Microsoft Project equivalent. Microsoft Project Online and Project for Microsoft 365 do not expose native approval chain builders inside the project schedule. We deliver a written inventory of every active CAMMS approval workflow with its stage gates, escalation paths, and sign-off conditions, and the customer's admin rebuilds these in Power Automate connected to the project SharePoint site or Project Online's approval features. This is explicitly outside our migration scope as standard delivery.
| CAMMS | Microsoft Project | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Risk | Task (custom fields)lossy | Fully supported | |
| Issue | Task (custom fields)lossy | Fully supported | |
| Budget | Cost fields on Project and Task1:many | Fully supported | |
| Meeting | Task (notes) + SharePoint list1:1 | Fully supported | |
| Document | SharePoint Document Library1:1 | Fully supported | |
| User and Resource | Resource1:1 | Fully supported | |
| Custom Field | Custom field or SharePoint columnlossy | Fully supported | |
| Approval Workflow | Power Automate (rebuild)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.
CAMMS gotchas
No public API forces manual or database-level export
Custom fields lack a stable schema for export
On-premise deployments require IT coordination for database access
Attachment export requires separate file-handling pipeline
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
Export method assessment and data extraction
We begin every CAMMS engagement by assessing the available export method. For cloud-hosted CAMMS with no API access, we coordinate a structured data export request through CAMMS support and agree on a delivery format (CSV, Excel, or XML) and delivery timeline. For on-premise deployments, we coordinate with the customer's IT team for database-level access, including VPN provisioning, database credential setup, and a scheduled export window outside of business hours to avoid locking production tables. We plan for a two-week lead time on on-premise database exports. The export runs in dependency order: Projects and Budgets first, then Risks and Issues, then Tasks and Milestones, then Meetings and Documents. We validate the exported data against a row-count manifest before beginning transformation.
Schema design and custom field inventory
We design the destination schema in Microsoft Project and the connected SharePoint site. This includes creating Microsoft Project enterprise custom fields for Risk and Issue data (Title, Likelihood, Impact, Owner, Status, Mitigation Plan, Priority), Budget metadata fields (Cost Code, Budget Amount, Actual Amount, Variance), and any custom fields from the CAMMS inventory. We configure SharePoint lists for Document Registers and Meeting Notes if the organisation has high volumes of these records. Schema design is validated in a test Microsoft Project environment before production migration begins. Custom field inventory from the customer is required before this step is complete.
Dependency mapping and WBS reconstruction
We analyse the CAMMS export to identify the Work Breakdown Structure hierarchy — which tasks belong to which parent tasks, which sub-projects belong to which parent project, and which tasks are milestones. We build a dependency map that preserves the WBS numbering, parent-child relationships, and task start/finish constraints from CAMMS. We also map CAMMS Risk-to-Task and Issue-to-Task associations so that risk and issue data lands on the correct task after import. Any circular dependency detection happens here and is resolved in coordination with the customer's project manager.
Resource and owner reconciliation
We extract every distinct CAMMS user and resource referenced on Projects, Tasks, Risks, Issues, and Meetings and match them against the Microsoft 365 tenant's Entra ID user list. Resources without a matching Entra ID user are flagged in a reconciliation queue for the customer's admin to provision before record import. We create Microsoft Project Resource records for all active CAMMS resources, mapping role titles, utilisation percentages, and cost rates where available. Resource Sheet preparation must be complete before the first project plan import begins because Owner and Resource assignments are required on tasks.
Project plan import in dependency order
We run production import in record-dependency order: Project plans first (with summary tasks, milestones, and task hierarchy reconstructed from the WBS map), then Budget data mapped to task Fixed Cost and resource cost fields, then Risk and Issue custom fields on each task, then Meeting notes as task notes or linked SharePoint list entries. Each phase emits a row-count reconciliation report before the next phase begins. We use Microsoft Project's MPP import, CSV import, or Project Online REST API depending on the destination tier. Validation includes checking task hierarchy, start and finish dates, dependencies, and milestone positions against the CAMMS source data for a representative sample of projects.
Attachment export and SharePoint re-link
We run the parallel attachment export pipeline concurrently with the record migration. Files are downloaded from CAMMS's document management layer in their original format, the folder hierarchy is recreated in the staging environment, and the file-to-record mapping manifest is verified against the CAMMS document export. After record migration is validated, we upload files to the corresponding SharePoint document library and recreate folder structures under the parent Project site. Each file is re-linked to its parent task or project using SharePoint column metadata or a project-level document index. Re-link verification is done against the original CAMMS document manifest, and any missing files are flagged for the customer's admin to locate in CAMMS or CAMMS archive storage.
Cutover, validation, and approval workflow handoff
We freeze CAMMS writes during cutover, run a final delta migration of any records modified during the migration window, then enable Microsoft Project as the system of record. We deliver the CAMMS approval workflow inventory document to the customer's admin team with Power Automate rebuild recommendations. We support a one-week hypercare window where we resolve any data reconciliation issues raised by the project team. We do not rebuild CAMMS approval workflows as Power Automate flows inside the migration scope; that is a separate engagement.
Platform deep dives
CAMMS
Source
Strengths
Weaknesses
Microsoft Project
Destination
Strengths
Weaknesses
Complexity grading
Moderate Project Management migration. 1 of 8 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across CAMMS and Microsoft Project.
Object compatibility
1 of 8 objects need a manual workaround.
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
CAMMS: Not publicly documented.
Data volume sensitivity
CAMMS 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 CAMMS to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your CAMMS 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 CAMMS
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.