Skip to content

Import a Microsoft Project file

All plans Member

A Microsoft Project schedule represents days or weeks of someone’s planning work. Re-keying it by hand into a new tool is the surest way to lose detail (the half-day dependency lag, the resource you forgot to add, the baseline you set in week one). Onplana’s importer reads the .mpp file directly so the plan, the costs, and the dependency graph land intact — and the few things that do not import cleanly (resources matched by email, zero-cost lines, calendar exceptions) are surfaced as warnings rather than silently dropped.

The Onplana import screen, showing the five-step wizard (Upload, Field Mapping, Preview, Resources, Import), the list of supported file formats, and the area to drop a Microsoft Project file.
  • .mpp (recommended). The native Microsoft Project binary. Just upload the file you already have, no export step. Microsoft Project 2003 and earlier are not supported.
  • .xml (MSPDI). Project’s “Save as XML” format, useful when you only have an XML export.
  • .mpx and .xer. Older interchange and Primavera formats.

The upload size limit is 50 MB for the main importer, which covers every real-world project we have seen. If your file is larger, the size is usually a sign of embedded images or notes that are not part of the schedule; trimming those in Microsoft Project first is faster than chunking the import.

  1. Project: name, start and end dates, description.
  2. Tasks: titles, start and due dates, percent complete (mapped to status and progress), and priority.
  3. The work breakdown structure: the full parent and child hierarchy is rebuilt as subtasks.
  4. Milestones: preserved with their dates and shown as diamond markers on the Gantt chart.
  5. Dependencies: all four link types (finish-to-start, start-to-start, finish-to-finish, start-to-finish) with their lag in days.
  6. Resources: team members are matched to your organization by email. People who do not match an existing member are listed as warnings rather than created automatically.
  7. Costs and custom fields: planned, fixed, and baseline costs, plus Project’s custom columns, come across where present.
  1. Open Migrate from the navigation (or go to /migrate).
  2. Upload your file. Onplana detects the format automatically, you do not pick the type.
  3. Review the field mapping Onplana proposes and adjust if a column should map differently.
  4. Confirm the resource matching step: matched people join the project, unmatched names are flagged.
  5. Review the summary and create the project.

Planning a wider move off Microsoft Project? The migration overview on the main site covers timelines, what carries over, and how Onplana pricing compares.

  1. Invite the resources first, then import. Onplana matches MS Project resources to Onplana users by email. If you import before the team has Onplana accounts, every resource lands in the warnings list and you have to re-match them by hand afterward. Five minutes of Invite your team beforehand saves an hour of cleanup.
  2. Pre-save the file in modern MS Project format. Project 2003 and earlier binaries are not supported. If you’re not sure, open the file in any modern Microsoft Project (2007+) and Save As to bump the version. The same trick fixes files exported from ancient Project Server installations.
  3. Capture a baseline immediately after import. As soon as the plan looks right, take a baseline. This pins the imported schedule as your line in the sand; every future change is visible against it. The earlier you do this, the more useful the variance reports get.
  4. Plan a portfolio migration as half a day per ten projects. Single-project imports take five minutes once you’re warmed up. Portfolio migrations slow down on three things: resource re-matching across projects, custom-field naming consistency, and cross-project dependencies (which import within a single project but must be re-linked across projects by hand).
  • “Hanger” tasks in the imported Gantt (no predecessor, no successor, in the middle of the schedule). Usually means MS Project carried an implicit dependency that didn’t make it into the file. Add the link in Onplana; the Gantt is the fastest surface for spotting these because the bar sits at an unexpected date.
  • Negative-lag dependencies look wrong. MS Project sometimes stores lead time as a negative lag value. Onplana imports the number as-is. If a successor seems to start “too early,” check the dependency lag in days; a 2-day lead is -2, not the duration of the predecessor.
  • My costs did not import. MS Project treats a zero cost as “no cost configured” rather than “$0 confirmed”, so zero-cost lines come across as empty. If you genuinely want $0 to mean $0, set the cost in MS Project to a small marker value (e.g. $0.01) before importing, or set it post-import.
  • Resources show as duplicates. Two causes: (a) the email in MS Project doesn’t match the Onplana email (case-sensitive matching on the local part); (b) the resource is a generic role name (“Engineer 1”) rather than a person. The matching screen lets you either link to an existing Onplana member or skip the resource entirely; pick skip for generic roles.
  • The import says “size exceeded”. Strip embedded images, large task notes, and old Project history before retrying. Most “huge” .mpp files shrink dramatically after a Project clean-up.
  • Import + Baselines. Capture a baseline the moment the import completes. Every later change shows on the Gantt against the original imported plan, which is the cleanest way to see scope drift after the migration.
  • Import + Rate cards. Configure Rate cards before the team starts logging time against the imported project, so the cost side of earned-value math reconciles with MS Project’s planned cost from day one.
  • Import + custom fields. MS Project’s ExtendedAttributes import as per-project custom fields, not org-wide. If a field matters across every project, promote it to org-wide after the first import (see Scope custom fields to one project).
ToolPath into Onplana
Microsoft Project (.mpp, .mpx, .xml MSPDI)Direct import here
Project Online / Project ServerUse Migrate from Project Online (read the OData feed directly)
Primavera P6 (.xer)Direct import here
MS PlannerNo file import; recreate using Create your first project — Planner schedules are small enough that AI Kickstart handles them in minutes
SmartsheetExport to Excel; recreate in Onplana. Onplana can import an Excel-shaped CSV when wrapped as MSPDI XML; direct CSV import is on the roadmap.

Will importing change my original Microsoft Project file? No. The upload is read only; your .mpp file is untouched. Onplana creates a brand new project from a copy of the data.

Why are some of my team listed as warnings instead of added? Resources are matched by email address. If someone’s email in Microsoft Project does not match their Onplana account, they are flagged so you can add them by hand rather than creating a duplicate person.

My costs did not import. Why? Microsoft Project treats a zero cost as “no cost configured”, so blank and zero-cost lines come across as empty. Lines with a real cost value import into the project’s planned cost.

Do I need a paid plan to import? No, import works on every plan. Some of what comes across (the Gantt chart, custom fields) is only visible on the plans that include those features, but the underlying data is always imported.

Can I import the same file twice (e.g. after I fix something in MS Project)? Each import creates a new project. The cleanest pattern is: import, adjust, baseline. If you re-import to pick up upstream changes, either delete the previous attempt first or treat the new import as the canonical one and archive the earlier one.

What if my MS Project file is on SharePoint or Project Server? Download it to your machine first, then upload. Onplana’s importer needs the file on your device; it does not read from SharePoint or Project Server directly. For Project Online specifically, the Project Online migration path is faster because it reads the OData feed.