Project Management migration
Field-level mapping, validation, and rollback between Z-Stream and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
Z-Stream
Source
Microsoft Project
Destination
Compatibility
9 of 12
objects map 1:1 between Z-Stream and Microsoft Project.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Migrating from Z-Stream to Microsoft Project begins with a constraint that shapes every downstream decision: Z-Stream publishes no documented REST or bulk API, so every migration depends entirely on what the customer can manually export from the Z-Stream web interface. We scope exactly which data types are present in the export, whether the format (CSV, XLSX, or native format) covers all objects, and whether the destination Microsoft Project tier (Project Online with PWA, Project for the Web, or desktop Project Plan) can receive the structured data. We map Z-Stream Projects to Microsoft Project projects, task hierarchies to summary and sub-tasks with start and finish dates, milestones to milestone tasks, and Kanban status columns to custom field picklists. Time entries from Z-Stream carry forward as Task Notes or as custom duration fields depending on the destination tier. We do not migrate Z-Stream automations, client portal configurations, budget module data (unless exported as structured fields), or risk register entries that are not present in the export file. The Microsoft Project destination is complex because Project Online retires September 30, 2026, which means most new migrations land on Project for the Web (part of Microsoft Planner) or Project Desktop Plan 3/5; we align destination tier selection during scoping to avoid migrating into a product being retired.
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 Z-Stream 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.
Z-Stream
Project
Microsoft Project
Project
1:1Z-Stream Projects map directly to Microsoft Project project files (.mpp), Project Online projects, or Project for the Web projects depending on the destination tier selected during scoping. We preserve project name, description, start date, finish date, and project-level custom fields. If the destination is Project Online PWA, we provision the project via the PWA REST API and set the project-level Enterprise Custom Fields from the Z-Stream export. If the destination is Project Desktop Plan 3/5, we generate an .mpp-compatible file structure. Projects are the first object imported to satisfy task and resource lookup dependencies.
Z-Stream
Task
Microsoft Project
Task
1:1Z-Stream Tasks map to Microsoft Project tasks with Name, Start, Finish, Duration, and assigned Resources. Z-Stream priority values map to Microsoft Project Priority field (integer 0-1000). Description migrates as task Notes. If Z-Stream Tasks have estimated hours, we set Duration as a fixed-duration work entry or as time-phased hours in PWA. Task-level custom fields from Z-Stream map to Enterprise Custom Fields on the Task entity in PWA, or to custom columns in Project Desktop. Summary tasks in Microsoft Project represent Z-Stream Tasks that have child Subtasks; we convert the hierarchy by indenting the child Subtask rows under the parent Task row.
Z-Stream
Subtask
Microsoft Project
Task (indented)
1:manyZ-Stream Subtasks attach to a parent Task and carry the same field set (title, description, assignee, due date, priority, status). Microsoft Project has no separate Subtask object; Subtasks are child Tasks indented under their parent Task in the outline structure. We preserve the parent-child relationship by setting the Outline Level and Parent Task fields. If the destination is Project Online PWA, we handle outline hierarchy via the TaskHierarchy endpoint. If the destination is Project Desktop, we reconstruct the WBS (Work Breakdown Structure) by setting the WBS code format to match the Z-Stream parent-subtask ID chain.
Z-Stream
Milestone
Microsoft Project
Task (Milestone)
1:1Z-Stream Milestones are standalone objects tied to Projects with a name, date, and optional description. Microsoft Project represents milestones as tasks with zero duration and the Milestone flag set to Yes. We create a task with the Z-Stream milestone name, set the Finish date to the Z-Stream milestone date, set Duration to 0d, and set the Milestone field to Yes. If the destination is Project for the Web (Planner), which does not have a native milestone object, we represent milestones as Tasks with a custom milestone_flag checkbox custom field set to true and the task marked as a milestone in the Planner timeline.
Z-Stream
User
Microsoft Project
User / Resource
1:1Z-Stream Users map by email address and display name to Microsoft Project Resources. In Project Online PWA, Resources correspond to Enterprise Resources in the PWA Resource Center; we provision them via the PWA REST API and set the email as the Res.Email value. In Project Desktop Plan, we add them as Resources in the Resource Sheet. Role and permission levels from Z-Stream carry as custom Resource fields (e.g., Resource_Skill or Resource_Department). Archived or inactive Z-Stream Users migrate as inactive Resources to preserve historical assignment data.
Z-Stream
Time Entry
Microsoft Project
Task Hours / Assignment
1:1Z-Stream Time Entries are tied to Tasks and Users with hours, date, and optional notes. Microsoft Project Desktop and PWA track time differently: in PWA, timesheet entries map to Project Online Timesheets via the PWA REST API; in Project Desktop, time entry data migrates as Assignment Actual Work on the relevant Task-Resource assignment. We map the Z-Stream hours, date, and notes to the corresponding Assignment fields. If the destination is Project for the Web (Planner), which has no native time-tracking object, we carry time entry data as Task Notes or as a custom time_entry JSON property on the task for admin reference.
Z-Stream
Attachment
Microsoft Project
Document / SharePoint
1:1Z-Stream Attachments are stored as file references with a filename, blob or URL, and parent object association. We download all exported attachment files, rename them using a Z-Stream-project-prefixed convention, and upload them to the destination. In Project Online, attachments attach to tasks via the PWA REST API or are stored in the associated SharePoint document library. In Project for the Web, attachments upload to the underlying Dataverse storage. We reconstruct the Z-Stream folder structure by project as SharePoint folders or Planner buckets and flag any binary files exceeding 50 MB for chunked upload.
Z-Stream
Custom Field
Microsoft Project
Enterprise Custom Field / Custom Column
lossyZ-Stream supports custom fields on Projects and Tasks. We discover the full custom field schema during scoping and generate a mapping table against the destination custom field definitions. In Project Online PWA, Enterprise Custom Fields are defined in PWA Server Settings (Custom Fields and Lookup Tables) and require provisioning before data import; we do this as a prerequisite step. In Project Desktop, custom columns map directly as text, number, or date columns without schema provisioning. Dropdown (picklist) custom fields in Z-Stream map to Lookup Tables in PWA or drop-down columns in Project Desktop. Multi-select values map to text fields with comma-delimited values unless a multi-value lookup table exists in PWA.
Z-Stream
Gantt Chart Data
Microsoft Project
Task Dates and Dependencies
lossyZ-Stream Gantt layout is derived from task start dates, end dates, and Kanban ordering. Microsoft Project requires explicit dependency links (Finish-to-Start by default, or Start-to-Start where the Z-Stream sequence implies a lag). We extract the Z-Stream task sequence order from the Kanban board export or from the Gantt view data, then reconstruct dependencies by linking each task to its predecessor in the sequence with Finish-to-Start links. Any milestone dependencies map as finish-date constraints. We do not import Z-Stream dependency type labels (e.g., Finish-to-Start vs Start-to-Start) because Z-Stream does not expose explicit dependency type in its export; we infer from task ordering and set FS links by default with a 0-day lag unless date overlap implies SS.
Z-Stream
Kanban Board
Microsoft Project
Task Status / Custom Field
1:1Z-Stream Kanban columns correspond to custom status values on Tasks, with column-specific color labels. Microsoft Project Tasks have a Status field (Scheduled, In Progress, Completed, Delayed, Cancelled) and a custom Percent Complete. We map Z-Stream column names and color codes to Microsoft Project Task Custom Fields as a picklist column_custom_status__c. Column order is preserved as the display order value. If the destination is Project Online PWA, we use a Task Custom Field with a lookup table matching the Z-Stream column names and color hex codes stored as the lookup table's description field.
Z-Stream
Budget and Risk Register
Microsoft Project
Custom Fields / Project Summary Task
1:1Z-Stream Budget amounts and risk entries are stored as structured fields within Projects or as separate list objects. Microsoft Project does not have a native risk register or budget tracking object; these are represented via custom fields or as separate SharePoint lists linked via the project. We map Z-Stream budget amounts to a custom numeric field (Budget_Cost__c) on the project, and risk entries to a custom task group or a linked SharePoint list. If the customer has a large risk register in Z-Stream, we recommend a parallel SharePoint list with a risk_id cross-reference stored as a custom project field. We do not migrate risk scoring matrices as they cannot be represented in Microsoft Project without a custom Power Apps integration.
Z-Stream
Comment
Microsoft Project
Task Note
1:1Z-Stream Comments attach to Tasks with an author, timestamp, and body. Microsoft Project Tasks have a Notes field (rich text) but no threaded comment object. We import Z-Stream Comments as Task Notes, prepending each comment with the author name and timestamp in a quoted block to preserve attribution and chronology. If multiple comments exist on a single task, we append them in chronological order separated by a horizontal rule. We flag any task with more than 10 comments for manual review post-migration to verify readability in the flattened Notes format.
| Z-Stream | Microsoft Project | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Subtask | Task (indented)1:many | Fully supported | |
| Milestone | Task (Milestone)1:1 | Fully supported | |
| User | User / Resource1:1 | Fully supported | |
| Time Entry | Task Hours / Assignment1:1 | Fully supported | |
| Attachment | Document / SharePoint1:1 | Fully supported | |
| Custom Field | Enterprise Custom Field / Custom Columnlossy | Fully supported | |
| Gantt Chart Data | Task Dates and Dependencieslossy | Mapping required | |
| Kanban Board | Task Status / Custom Field1:1 | Fully supported | |
| Budget and Risk Register | Custom Fields / Project Summary Task1:1 | Fully supported | |
| Comment | Task Note1: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.
Z-Stream gotchas
No public API means migrations are export-file-only
No free trial or free plan confirmed
Unverified pricing tier details across sources
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 export completeness audit
We request a test export from Z-Stream covering all data types: Projects, Tasks, Subtasks, Milestones, Users, Time Entries, Attachments, and any exported custom fields. We inspect the column headers and sample rows for each export file and compare against the object inventory. We also ask the customer to confirm which Z-Stream features are actively used (Kanban boards, budget module, risk register, client portal, workflow automation) so that we can flag which data is present, absent, or requires manual supplementation. We confirm the destination Microsoft Project tier (Project for the Web, Project Online PWA, or Project Desktop Plan 3/5) and document any retirement risk if the destination is Project Online. The discovery output is a written Migration Scope document listing every object, its presence or absence in the export, and the mapping approach for each.
Destination schema provisioning and custom field design
If the destination is Project Online PWA, we provision all Enterprise Custom Fields, Lookup Tables, and Resource definitions in PWA Server Settings before any data import. We map Z-Stream custom field names and types to PWA field definitions (Text, Number, Cost, Date, Flag, Lookup). If the destination is Project for the Web or Project Desktop, we document the column schema and skip PWA provisioning. We also design the WBS code mask to match the Z-Stream project-task-subtask ID chain if the hierarchy depth exceeds three levels. We create the project in the destination (via PWA REST API for PWA, or by creating a new project in Project for the Web) and set the project-level fields from the Z-Stream export.
Export normalization and dependency reconstruction
We normalize the Z-Stream export files into a staging format compatible with the destination import method. For Project Online PWA, we generate the import via the PWA REST API (for projects, tasks, assignments) or bulk CSV via the PWA upload endpoint. For Project Desktop, we generate an .xml or .xlsx file conforming to the Microsoft Project import schema. During normalization, we reconstruct Gantt dependencies by inferring Finish-to-Start links from the Z-Stream task sequence and date overlaps, and we flatten Z-Stream subtasks into the Microsoft Project outline hierarchy. We flag any ambiguous dependency for manual validation and include the dependency inference log in the mapping documentation.
Sandbox or pilot migration and reconciliation
We run a full migration into a pilot environment (a test Project Online site, a test Project for the Web workspace, or a test .mpp file) using production-like data volume. The customer's project manager reconciles record counts (Projects in, Tasks in, Subtasks in, Milestones in), spot-checks 20-30 tasks for correct date sequencing and dependency structure, and validates that custom fields populated correctly. We also validate that time entries, budget amounts, and risk entries carried forward if present in the export. Any mapping corrections, incorrect date sequences, or missing dependencies are documented and corrected before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Resources (provisioned via PWA or added to Resource Sheet), Projects (via PWA REST API or new Project), Tasks (with Outline Level and parent reference), Milestones (zero-duration tasks with milestone flag), Dependencies (reconstructed from sequence and date overlap), Custom Fields (populated via PWA REST API or custom column), Time Entries (as Assignment Actual Work or Task Notes depending on destination), and Attachments (downloaded from Z-Stream and uploaded to SharePoint or Dataverse). Each phase emits a row-count reconciliation report before the next phase begins. We freeze Z-Stream writes during cutover or accept that delta changes require a second manual export cycle.
Cutover, validation, and handoff documentation
We freeze Z-Stream write access during cutover, run a final delta migration of any records modified during the migration window, then enable the Microsoft Project destination as the system of record. We deliver a Migration Summary Report including record counts per object, any unmapped fields, any data that required manual supplementation, and the dependency inference log. We do not migrate Z-Stream automations, workflow configurations, client portal settings, or budget module data that was not present in the export; these are documented in a separate Rebuild Inventory for the customer's admin team to address post-migration. We support a one-week hypercare window where we resolve any data integrity issues raised by the project team.
Platform deep dives
Z-Stream
Source
Strengths
Weaknesses
Microsoft Project
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 3 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 Z-Stream and Microsoft Project.
Object compatibility
3 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
Z-Stream: Not publicly documented.
Data volume sensitivity
Z-Stream 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 Z-Stream to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your Z-Stream 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 Z-Stream
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.