Project Management migration
Field-level mapping, validation, and rollback between Teamwork.com and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
Teamwork.com
Source
Microsoft Project
Destination
Compatibility
8 of 12
objects map 1:1 between Teamwork.com and Microsoft Project.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Teamwork.com to Microsoft Project is a structural simplification because the platforms organize work differently. Teamwork.com is a client-services PM tool with nested Subtasks, Task Lists, billable Time Entries, and project-level Custom Fields. Microsoft Project centers on Gantt scheduling with summary tasks, predecessors for dependency chains, and a Resource sheet. We extract the full Teamwork hierarchy, flatten Subtasks into indented summary task rows in the destination MPP format, map Task List names to the top-level task grouping structure, and resolve predecessor links from any date-based dependencies recorded in Teamwork. Custom Fields require a Premium-equivalent plan on Teamwork.com before we can read them via API; we detect the subscription tier during scoping and flag inaccessible fields for manual documentation. We do not migrate Teamwork Automations, Client Portals, or Invoices because Microsoft Project does not support these as data objects — we deliver a written inventory of these records for the customer's project manager to reference during 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 Teamwork.com 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.
Teamwork.com
Project
Microsoft Project
Project (MPP file)
1:1Teamwork.com Projects map 1:1 to Microsoft Project MPP files. We preserve the project Name, Description, Start Date, and End Date as the project calendar start and finish. Project status (Active, Completed, On Hold) maps to the project-level state. If the customer uses multiple concurrent MPP files, we generate one MPP per Teamwork.com Project. MPP files with blank rows between tasks cause upload failure per Teamwork.com's own import documentation; we strip any null rows during export.
Teamwork.com
Task List
Microsoft Project
Summary Task row
1:manyTeamwork.com Task Lists are section headers within a Project that group related Tasks. Microsoft Project does not have a distinct Task List object type. We create a top-level Summary Task row per Task List with the Task List name, and indent all child Tasks beneath it. Task List-level start/due dates become the summary task's constraint dates. If the customer uses list-level milestones, these map to milestone rows under the relevant summary task.
Teamwork.com
Task
Microsoft Project
Task
1:1Teamwork.com Tasks map directly to Microsoft Project Task rows. Task Name, Description (mapped to Task Notes), Start Date (maps to Task Start and Baseline Start), Due Date (maps to Task Finish and Baseline Finish), Priority (mapped to a custom Priority field or Text1 column), and estimated time (Work field) transfer 1:1. Task Status (Active, Complete) maps to Percent Complete or Physical Percent Complete depending on the customer's progress-tracking preference.
Teamwork.com
Subtask
Microsoft Project
Indented Task (child row)
1:manyTeamwork.com Subtasks nested under a parent Task become indented child Task rows in Microsoft Project. The parent Task becomes a Summary Task with an outline level above its child rows. Subtask assignees, due dates, and estimated time carry forward to the child row. Microsoft Project does not auto-complete child tasks when a parent Summary Task is marked complete — this replicates Teamwork.com's native behavior where completing a parent does not cascade to subtasks.
Teamwork.com
Milestone
Microsoft Project
Milestone
1:1Milestones in Teamwork.com map directly to Milestone rows in Microsoft Project (Task with Milestone = Yes). Milestone names and dates preserve. Milestones linked to specific tasks in Teamwork.com retain their date anchor rather than being re-derived from the linked task timeline.
Teamwork.com
Custom Field (project-level)
Microsoft Project
Custom column (Text1-Text30)
lossyProject-level Custom Fields in Teamwork.com (available on Premium plan and above) map to custom Text columns in the destination MPP file. We read the Custom Field definitions via the V2 API during extraction, then write values to named custom columns. If the source account is on a Starter or Deliver plan, Custom Fields are API-inaccessible; we flag this during scoping and document the field names and types for manual column addition post-migration.
Teamwork.com
Custom Field (site-wide task)
Microsoft Project
Custom column (Text1-Text30)
lossySite-wide task Custom Fields (administrator-created, globally applied to tasks) require the same Premium-tier access. We retrieve both project-level and site-wide task Custom Fields via the V3 custom fields endpoint filtered by projectId, merge them, and map dropdown-type Custom Fields with their options array to ensure enumerated values are valid in the destination column.
Teamwork.com
Tag
Microsoft Project
Text column (e.g., Text1)
1:1Teamwork.com Tags are comma-separated string labels applied across Projects and Tasks. Microsoft Project does not have a native tag object. We map tags to a Text column in the MPP file with a 'Tags' column header. Multi-value tags are concatenated as a single comma-separated string, matching the behavior of Teamwork.com's native tag storage.
Teamwork.com
User / Team Member
Microsoft Project
Resource
1:1Teamwork.com Users with assigned tasks map to Microsoft Project Resources. The Resource Name maps from the user's Display Name, and the user's email address becomes the Resource Initials or Notes field for identification. Hourly cost rates from Teamwork.com transfer to the Resource Standard Rate field if the customer uses resource cost tracking. Teamwork.com Teams are grouping constructs that do not map to a Microsoft Project entity; we flatten team memberships to individual Resource assignments per task.
Teamwork.com
Task Assignment
Microsoft Project
Resource Assignment
1:1Teamwork.com task assignments (a user linked to a Task with optional allocation percentage) map to Microsoft Project Resource Assignments on the task row. The Assigned Resources column in Teamwork.com maps to the Names field on the Assignment row in Microsoft Project. Allocation percentage maps to Units on the assignment.
Teamwork.com
Time Entry
Microsoft Project
Work field (logged hours)
1:1Teamwork.com Time Entries linked to Tasks carry billable/non-billable flags, hourly rates, and logged durations. Microsoft Project has no native billing or time tracking object; we map the logged hours to the Work field on the corresponding Task, with the billable flag preserved in a custom Notes entry or a Text column. If the customer requires billable vs non-billable differentiation, we document it for reconstruction in a separate time-tracking tool or Project Online resource plan.
Teamwork.com
Comment
Microsoft Project
Task Notes (appended)
1:1Teamwork.com Comments on Tasks include author attribution, timestamp, and formatted text. Microsoft Project Task Notes is a single rich-text field per task. We append all comments to the task Notes field in chronological order with author and timestamp headers. Nested comment threads are flattened to maintain the conversation order. Large comment volumes per task may require truncation or a companion document for review.
| Teamwork.com | Microsoft Project | Compatibility | |
|---|---|---|---|
| Project | Project (MPP file)1:1 | Fully supported | |
| Task List | Summary Task row1:many | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Subtask | Indented Task (child row)1:many | Fully supported | |
| Milestone | Milestone1:1 | Fully supported | |
| Custom Field (project-level) | Custom column (Text1-Text30)lossy | Fully supported | |
| Custom Field (site-wide task) | Custom column (Text1-Text30)lossy | Fully supported | |
| Tag | Text column (e.g., Text1)1:1 | Fully supported | |
| User / Team Member | Resource1:1 | Fully supported | |
| Task Assignment | Resource Assignment1:1 | Fully supported | |
| Time Entry | Work field (logged hours)1:1 | Fully supported | |
| Comment | Task Notes (appended)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.
Teamwork.com gotchas
Custom Fields are locked behind the Premium subscription tier
API returns different field sets depending on endpoint version
Project-level and site-wide custom fields are distinct schema entities
Completing parent tasks does not cascade to subtasks
Rate limits are per-user-seat multiplier, not fixed
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
Subscription tier verification and scoping
We authenticate against the Teamwork.com API and verify the account subscription tier. If the account is Starter or Deliver tier, we check for Custom Field accessibility via the V2 API custom fields endpoint and flag any inaccessible field definitions. We inventory all Projects, Task Lists, Tasks, Subtasks, Milestones, Tags, Users, and Time Entries, and capture record counts per object type. We identify the Custom Field scope (project-level vs site-wide) and document the Premium-tier requirement if Custom Fields are present on Starter or Deliver accounts.
Hierarchy extraction and subtask flattening design
We extract the full Teamwork.com task hierarchy as a nested structure keyed by parent task ID. We identify the mapping pattern: Task Lists become Summary Task rows, Tasks become task rows at the appropriate outline level, and Subtasks become indented child rows. We apply Teamwork.com's subtask notation rules (single-character prefixes like # and - for subtasks, double-character for sub-subtasks) during extraction to preserve nesting depth. We also extract predecessor candidates from task ordering and date-offset logic for the predecessor reconstruction report.
Resource and assignment mapping
We extract all Teamwork.com Users referenced in task assignments and map them to Microsoft Project Resources. We carry forward display names, email addresses (for identification), and hourly cost rates to the Resource Standard Rate field. We flag any User referenced in an assignment that does not have a display name set in Teamwork.com to avoid blank Resource entries in the destination.
Time Entry reconciliation and Work field population
We aggregate Time Entries by linked Task ID and sum logged durations. We map total hours to the Work field on each Task row and preserve the billable/non-billable flag and hourly rate in a custom Notes entry or Text column. We cross-check total Work hours against estimated time (if present) and flag any significant discrepancies for the customer's review before MPP generation.
MPP file generation and predecessor inference
We generate the MPP file structure using the extracted hierarchy, resource assignments, milestone dates, and Work values. We apply the inferred predecessor links from the predecessor reconstruction analysis, defaulting to Finish-to-Start dependency type for date-offset relationships. We set baseline start and finish dates from the original Task Start and Due Date fields. We add custom Text columns for Tags, Custom Field values, and billable flags where applicable. We validate that no blank rows exist in the task list before finalizing the MPP.
Cutover and automation inventory delivery
We deliver the generated MPP files, the predecessor reconstruction report, the Custom Field gap report (listing any inaccessible fields and their definitions), and the automation inventory document. We run a final delta check on the Teamwork.com source for any records modified during the migration window and apply last-changes to the MPP before cutover. We do not provide post-migration project management support or Microsoft Project training as standard scope; these are separate engagements.
Platform deep dives
Teamwork.com
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 Teamwork.com 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
Teamwork.com: Rate limits scale with user seat count; base quota units per hour multiplied by number of seats on the account.
Data volume sensitivity
Teamwork.com exposes a bulk API — large-volume migrations stream efficiently.
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 Teamwork.com to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your Teamwork.com 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 Teamwork.com
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.