Project Management migration
Field-level mapping, validation, and rollback between TeamGantt and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
TeamGantt
Source
Microsoft Project
Destination
Compatibility
8 of 13
objects map 1:1 between TeamGantt and Microsoft Project.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from TeamGantt to Microsoft Project is a Gantt-centric migration where the scheduling semantics differ significantly between the two platforms. TeamGantt stores project dates as task-derived inferences (no explicit project start/end fields), manages resource assignments through a Workloads report gated behind Pro/Unlimited, and exposes baselines as named snapshots tied to specific plan tiers. Microsoft Project uses explicit project start dates, a per-assignment calendar and work-spread model, and multi-baseline storage within each plan file. We resolve the date-derivation gap by using the earliest task start date as the project anchor, map Workloads assignments to Task.Assignment objects, and handle the Workloads paywall by falling back to CSV-derived assignment data when the API returns a 403. We do not migrate TeamGantt's Gantt views, automation rules, or template library as code; we deliver a written inventory of these for the customer's project manager to rebuild in Microsoft Project. Both tools are English-only at the UI layer but handle Unicode in task names correctly throughout the export and import pipeline.
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 TeamGantt 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.
TeamGantt
Project
Microsoft Project
Project
1:1TeamGantt Projects map directly to Microsoft Project .mpp files. TeamGantt derives project start and end dates from the earliest and latest task dates respectively; Microsoft Project has explicit ProjectStartDate and ProjectFinishDate fields. We use the earliest task start date as the project anchor date in Microsoft Project, set the ProjectStartDate accordingly, and note the inferred-date behavior in the mapping spec so the project manager can verify the schedule alignment in Microsoft Project before finalizing.
TeamGantt
Task
Microsoft Project
Task
1:1TeamGantt Tasks map to Microsoft Project Tasks with Name, Start, Finish, Duration, PercentComplete, Notes, and custom fields preserved. Task hierarchy (subgroups and subtasks) maps to Microsoft Project outline levels using the ID and OutlineLevel fields; parent-child date dependencies are maintained by setting the parent task's constraints based on the earliest child start and latest child finish. TeamGantt's percent-complete rolls up automatically through the outline hierarchy in Microsoft Project.
TeamGantt
Dependency
Microsoft Project
PredecessorLink
1:1TeamGantt task dependencies map to Microsoft Project PredecessorLink records. We translate the dependency type (Finish-to-Start, Start-to-Start, Finish-to-Finish, Start-to-Finish) to the Microsoft Project PredecessorType field (FF, FS, SF, SS) and carry lag or lead time as the Delay field on the PredecessorLink. Circular dependency detection runs during the transform phase; any circular references are flagged in the mapping spec for the customer to resolve before the successor records import.
TeamGantt
Milestone
Microsoft Project
Task (IsMilestone = True)
1:1TeamGantt Milestones (zero-duration markers with a name and date) map to Microsoft Project Tasks with the IsMilestone field set to Yes and Duration set to 0. The milestone date maps to both Start and Finish fields on the Microsoft Project task row. Milestone names and parent project associations are preserved in the Name and Summary fields.
TeamGantt
Baseline
Microsoft Project
Baseline (Baseline0 through Baseline10)
lossyTeamGantt baseline snapshots (Pro/Unlimited only) map to Microsoft Project's multi-baseline slots. We read each named baseline from TeamGantt, match it to an available BaselineN field in Microsoft Project, and write the Start, Finish, and Work values for each task under that baseline. If the source TeamGantt account is on Basic or Standard and baselines are absent, we skip this mapping and flag it in the scope document. We preserve up to 10 named baselines; additional TeamGantt baselines beyond this require customer review to decide which are the highest priority for import.
TeamGantt
User (Task Resource)
Microsoft Project
Resource
1:1TeamGantt task assignees (Users) map to Microsoft Project Resource records. Each user is created as a Resource with the Name from TeamGantt and Email as the ID or material label. Resources are created before task imports so that the assignment lookups are satisfied. TeamGantt Guest users without full account status are mapped as material Resources with zero Max Units to distinguish them from billable human Resources.
TeamGantt
Workloads
Microsoft Project
Assignment (AssignmentUnits and AssignmentWork)
1:1TeamGantt Workloads report data (per-user task assignments and hours, Pro/Unlimited only) maps to Microsoft Project Assignment records on each Task. The AssignmentUnits field represents the allocation percentage; AssignmentWork represents total hours. If the source TeamGantt account is on Basic or Standard and the API returns 403 on the Workloads endpoint, we fall back to CSV export data and reconstruct assignment records from the task-assignee mapping in the CSV. We note this fallback in the mapping spec and reconcile the assignment row counts against the total task count during validation.
TeamGantt
Time Entry
Microsoft Project
Assignment (AssignmentActualWork)
1:1TeamGantt time entries (tracked hours on tasks, accessible via API and CSV) map to Microsoft Project AssignmentActualWork on the corresponding Task-Resource assignment pair. Actual work is set in hours aligned to the project's calendar. Planned hours from TeamGantt's time tracking map to AssignmentWork; actual tracked hours map to AssignmentActualWork. If TeamGantt uses hourly estimation without actual time tracking, AssignmentWork carries the estimate and ActualWork remains blank.
TeamGantt
Checklist
Microsoft Project
Note (structured)
lossyTeamGantt checklist items on tasks are serialized as a structured Note in Microsoft Project with a checklist-header prefix and checkbox markers. Completion status is represented as [x] or [ ] prefixes. We preserve the full checklist structure, item order, and completion flag. If the customer uses Microsoft Project's native Checklist field (Project Plan 3+), we map directly to that field instead of Note.
TeamGantt
Discussion
Microsoft Project
Note
1:1TeamGantt discussion threads attached to tasks (comment text, author name, timestamp) map to Microsoft Project Task Notes prefixed with the author name and timestamp. We preserve the full comment history in chronological order. Microsoft Project does not have a threaded discussion model, so multi-comment threads are collapsed into a single Note record with each comment on its own line. The customer's project manager reviews note formatting after migration.
TeamGantt
Custom Field (project-level)
Microsoft Project
Custom Field (project summary)
lossyTeamGantt project-level custom fields map to Microsoft Project project summary task custom fields. We discover each custom field's data type (text, number, date, dropdown) from the TeamGantt API and map to the equivalent Microsoft Project field type. Project-level custom fields in Microsoft Project display on the Project Information dialog and are accessible in reporting views. We configure the custom field definitions in the .mpp file before task data imports.
TeamGantt
Custom Field (task-level)
Microsoft Project
Custom Field (task)
lossyTeamGantt task-level custom fields map to Microsoft Project task custom fields (Text1-30, Number1-20, Date1-10, Flag1-20). We assign each TeamGantt custom field to an available Microsoft Project custom field slot, preserving data type fidelity. If a TeamGantt custom field is a multi-select label, we map it to a Text field; if it is a date, we map it to a Date field. We document the full custom field assignment map for the customer's admin to rename the field aliases to match their internal naming convention in Microsoft Project.
TeamGantt
Label
Microsoft Project
Text or Flag Custom Field
lossyTeamGantt Labels (categorization tags on tasks) map to a Microsoft Project Text custom field. If the customer has fewer than 20 unique labels, we map to a dedicated Text field; if labels are used for status flags (e.g., 'At Risk', 'Blocked'), we map to a Flag field instead. Label assignment is per-task and preserved in the custom field value on each task row. We note the full label-to-value mapping in the mapping spec for the customer to verify and rename post-migration.
| TeamGantt | Microsoft Project | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Dependency | PredecessorLink1:1 | Fully supported | |
| Milestone | Task (IsMilestone = True)1:1 | Fully supported | |
| Baseline | Baseline (Baseline0 through Baseline10)lossy | Fully supported | |
| User (Task Resource) | Resource1:1 | Fully supported | |
| Workloads | Assignment (AssignmentUnits and AssignmentWork)1:1 | Mapping required | |
| Time Entry | Assignment (AssignmentActualWork)1:1 | Fully supported | |
| Checklist | Note (structured)lossy | Fully supported | |
| Discussion | Note1:1 | Fully supported | |
| Custom Field (project-level) | Custom Field (project summary)lossy | Fully supported | |
| Custom Field (task-level) | Custom Field (task)lossy | Fully supported | |
| Label | Text or Flag Custom Fieldlossy | 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.
TeamGantt gotchas
Project billing model charges per project on Basic tier
Workloads report requires Pro or Unlimited plan
Free plan exports are limited to CSV with no API access
Project start date is inferred, not set explicitly
Time zone and language handling for non-Latin characters
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 plan tier audit
We audit the source TeamGantt account across plan tier (Free/Basic/Standard/Pro/Unlimited), project count, task hierarchy depth, active baselines, user count with assignment scope, Workloads accessibility (API vs 403), time entry completeness, and custom field inventory. We check whether the account is on a trial or active paid plan to confirm API access. The discovery output is a written migration scope document listing each object, its source API endpoint, row counts, any paywall constraints, and a pre-flight checklist for the customer to upgrade temporarily if API access is missing.
Dependency extraction and circular reference resolution
We extract all task dependencies from the TeamGantt API (predecessor, successor, type, lag time) and build a dependency graph for each project. Circular dependency detection runs as a pre-import validation step; any cycles are flagged in the mapping spec with the specific task IDs and the dependency pair causing the cycle, for the customer's project manager to resolve in TeamGantt before we proceed. Lag time is captured as Delay values on the PredecessorLink records during the transform phase.
Baseline and Workloads fallback planning
If the source account is on Pro or Unlimited, we extract all saved baseline snapshots from the TeamGantt API and map each to an available Microsoft Project BaselineN slot. If the account is on Basic or Standard, we document the absence of baseline data in the scope document and advise the customer on the implications for schedule comparison post-migration. For Workloads, we attempt the API endpoint first; on 403, we extract assignee data from the CSV export and reconstruct the assignment structure, noting the hour-allocation delta in the reconciliation report.
Microsoft Project schema preparation and custom field assignment
We configure the destination .mpp file before data import: setting the project start date, configuring the project calendar, creating custom field definitions for all TeamGantt custom fields and labels, and reserving baseline slots for Pro/Unlimited accounts. We create Resource records for each distinct user assignee before task import so that assignment lookups are satisfied at import time. If the customer uses Project Plan 3 or Plan 5, we configure enterprise custom fields; for Project Standard, we use the standard custom field slots (Text1-30, Number1-20, Date1-10, Flag1-20).
Data import in dependency order with reconciliation
We import data in record-dependency order: Resources first, then Summary Tasks (parent groups), then child Tasks, then Milestones, then PredecessorLinks (after all tasks are present), then Assignments, then Time Entries, then Baselines, then Notes and Discussions. Each phase emits a row-count reconciliation report comparing source API row counts to destination inserted counts. PredecessorLink import is held until after all tasks are loaded so that the predecessor task IDs resolve correctly. Activity timestamps on Notes preserve the original TeamGantt posting date.
Cutover, validation, and rebuild handoff
We freeze writes in TeamGantt during the cutover window, run a final delta migration for any records modified during the migration, then deliver the final .mpp file(s) to the customer. We provide a mapping spec that documents every custom field assignment, baseline slot usage, resource allocation summary, and any data that could not migrate (with reason). We do not migrate TeamGantt automation rules, Gantt view configurations, templates, or reporting views as these are destination-platform constructs; the mapping spec serves as the reference for the project manager to rebuild these in Microsoft Project.
Platform deep dives
TeamGantt
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 TeamGantt 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
TeamGantt: Not publicly documented.
Data volume sensitivity
TeamGantt 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 TeamGantt to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your TeamGantt 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 TeamGantt
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.