Project Management migration

Migrate from ]project-open[ to Microsoft Project

Field-level mapping, validation, and rollback between ]project-open[ and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.

]project-open[ logo

]project-open[

Source

Microsoft Project

Destination

Microsoft Project logo

Compatibility

90%

9 of 10

objects map 1:1 between ]project-open[ and Microsoft Project.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from ]project-open[ to Microsoft Project is a scoped project-data migration, not a full platform replacement. ]project-open[ bundles project management with ERP-level financials, CRM, ticketing, and timesheet tracking in a single integrated stack. Microsoft Project is a scheduling and resource-management tool — it has no native equivalent for costs, invoices, companies, tickets, or timesheet billing rates. We extract all schedulable data (projects, tasks, resources, assignments, calendars, and baseline snapshots) from the ]project-open[ PostgreSQL backend, map it to the Microsoft Project data model, and validate against the destination before cutover. We do not migrate workflows, custom reports, ticketing queues, financial records, or CRM data — these require a separate inventory and a different destination system. The migration runs entirely against the source database because ]project-open[ exposes no public REST or SOAP API.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

]project-open[ logo

]project-open[

What's pushing teams away

  • The user interface is dated and the learning curve is steep, requiring significant training investment before teams can operate productively — a common reason teams migrate to more modern SaaS alternatives.
  • Self-hosting and maintaining ]project-open[ demands dedicated technical resources for server management, upgrades, and troubleshooting, which becomes a burden for organizations without an in-house DevOps capability.
  • Performance degrades with large data volumes and complex module configurations, pushing organizations with growing datasets toward platforms that handle scale more gracefully without intensive tuning.
  • Enterprise support and commercial extension costs become expensive at scale, eroding the cost advantage that initially attracted teams to the open-source Community Edition.

Choosing

Microsoft Project logo

Microsoft Project

What's pulling them in

  • Organizations already running Microsoft 365 and Azure AD adopt Microsoft PPM because it slots into existing identity, Teams, and SharePoint infrastructure without requiring a separate identity provider or SSO vendor.
  • Enterprise PMOs choose it for critical-path scheduling, baseline comparison, cross-project dependencies, and resource utilization reporting that standalone PM tools cannot replicate at this depth.
  • Project Online's integration with Power BI gives portfolio-level dashboards and cost-rollup reporting that satisfies executive governance requirements without third-party BI tooling.
  • Government, financial services, and healthcare organizations select it because FedRAMP, ISO 27001, and SOC 2 compliance certifications meet enterprise procurement requirements out of the box.
  • Large IT departments default to it as the market-leader in project portfolio management software, often driven by corporate licensing agreements that bundle it with other Microsoft 365 seats.

Object mapping

How ]project-open[ objects map to Microsoft Project

Each row shows how a ]project-open[ 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.

]project-open[

Project

maps to

Microsoft Project

Project

1:1
Fully supported

]project-open[ project_id maps to a new Microsoft Project (.mpp) plan or Project for the web project. We extract project_name, project_status_id (potential/active/closed), start_date, end_date, percent_complete, and any baseline or forecast cost fields. The acs_objects hierarchy preserves parent-child project groupings. If the customer uses Project for the web (Planner consolidation target), we use the Microsoft Graph API to create projects; for Project Desktop, we build a validated .mpp file from the extracted schema.

]project-open[

Task

maps to

Microsoft Project

Task

1:1
Fully supported

Tasks are stored by task_id referencing the project tree. We traverse the task tree by querying task and the parent-child relationship fields, then write each task into Microsoft Project with the correct WBS hierarchy, outline level, duration, start/finish dates, and predecessor/successor dependencies. The Microsoft Project predecessor field maps from ]project-open['s task dependency records stored in im_timesheet_task_dependency or equivalent dependency tables. Constraint dates, delay (lag), and task type (fixed duration, fixed work, fixed units) are mapped from the source task_type and constraint configuration.

]project-open[

Resource / Team Member

maps to

Microsoft Project

Resource

1:1
Fully supported

]project-open[ stores resource assignments via acs_rels and the im_timesheet module. We extract user_id, first_names, last_name, and email from the acs_users table, and map availability and calendar data from im_timesheet_plan entries. Assignments in Microsoft Project require the resource to exist in the resource sheet before assignment records are written. We create Resources from the user list, set Max Units to 100% by default, and optionally import cost rates from any im_cost_center_rates data if the customer requests cost-based resource planning in Microsoft Project.

]project-open[

Task Assignment

maps to

Microsoft Project

Assignment

1:1
Fully supported

]project-open[ task assignments (user to task with hours or percentage) live in im_timesheet_task_initial_metric or im_timesheet_tasks. We map these to Microsoft Project Assignment records (Task ID + Resource ID) with the Work field set from the source hours. Assignment-level actual work, remaining work, and actual start/finish dates migrate if source data is available in the timesheet or cost tracking module.

]project-open[

Project Calendar

maps to

Microsoft Project

Project Calendar / Base Calendar

1:1
Fully supported

]project-open[ stores working hours and exceptions in im_hours_per_day and im_calendar_exception tables. We reconstruct a Microsoft Project calendar from these records, setting the base calendar working time and exceptions (holidays, non-working days) to preserve the project schedule accuracy. Resource calendars in Microsoft Project are set to the default Standard calendar unless source data provides per-resource exceptions.

]project-open[

Custom Fields

maps to

Microsoft Project

Enterprise Custom Fields (outline text, flag, number, date, cost, duration)

lossy
Mapping required

]project-open[ dynamic custom attributes per project or task are discovered by querying the attribute storage tables before migration. We create Microsoft Project Enterprise Custom Fields with matching types (Text, Flag, Number, Date, Cost, Duration) in the destination. Outline Text custom fields are used for ]project-open[ category or classification fields. The mapping is limited to 10 custom fields per object type on Project for the web; Project Desktop has no such limit. Customers with more than 10 custom fields per type must prioritise the highest-value fields or use Project Plan 5 with Project Online which has a higher custom field ceiling.

]project-open[

Company

maps to

Microsoft Project

— no equivalent

1:1
Fully supported

Companies in ]project-open[ (im_companies) store customer and provider records with object_type_id, company_status_id, and contact links. Microsoft Project has no company or account object. We do not migrate companies as records. If the customer requires company context on tasks, we can write company name or ID into a custom text field on the task or project for reference. Full company and contact data should be migrated to a CRM system separately.

]project-open[

Ticket

maps to

Microsoft Project

— no equivalent

1:1
Fully supported

Tickets (im_tickets) with ticket_status_id, ticket_type_id, assignees, and conversation threads have no Microsoft Project equivalent. Project management systems do not track support tickets as a core object. We do not migrate tickets. We can export ticket records to a CSV for the customer's review and recommend a helpdesk system (Zendesk, Freshdesk, or ServiceNow) for ticket data. Issue tracking that is purely project-level (blockers, risks) can be written into a Microsoft Project task with a custom flag or note field.

]project-open[

Cost / Invoice

maps to

Microsoft Project

— no equivalent

1:1
Fully supported

Financial records in ]project-open[ (im_costs with variable_cost_p, invoice amounts, billing status) map to project cost fields in Microsoft Project at best (cost type, total cost, budget). However, invoice generation, billing workflow, accounts payable/receivable, and cost-centre hierarchies have no Microsoft Project equivalent. We do not migrate financial records. We can export them to CSV and map any project-level budget costs to Microsoft Project task or summary cost fields if the source data is structured accordingly.

]project-open[

Timesheet Entry

maps to

Microsoft Project

— no equivalent

1:1
Fully supported

Timesheet hours logged against projects and users (im_timesheet costing entries) do not map to Microsoft Project native objects. Actual work data in Microsoft Project is assignment-level and is used for earned value analysis, not for billing or financial reporting. We do not migrate timesheet billing records. If the customer needs actual work hours imported, we can write them as actual work on Microsoft Project assignments, but this overwrites any hours already tracked post-migration.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

]project-open[ logo

]project-open[ gotchas

High

No public API forces direct PostgreSQL database access

Medium

Boolean fields use 't'/'f' char values not native booleans

Medium

Complex acs_objects inheritance and acs_rels traversal

Medium

Custom fields require pre-migration field discovery and mapping

Low

Date and datetime storage formats vary across modules

Microsoft Project logo

Microsoft Project gotchas

High

Project for the web is being retired and merged into Microsoft Planner

Medium

Planner-tier portfolio features are incomplete despite Plan 5 labeling

Medium

Web app constraint controls are weaker than the Windows desktop client

High

Project requires a separate license not bundled with standard Microsoft 365

Medium

Project Online API is edition-gated and inconsistently documented

Pair-specific challenges

  • Financial, CRM, and ticket data have no Microsoft Project equivalent

    ]project-open[ bundles ERP-level financials (invoices, cost centres, billing rates), CRM (companies, contacts), and ticketing alongside project management. Microsoft Project is a scheduling and resource-management tool. We do not migrate companies, contacts, tickets, invoices, cost-centre rates, or timesheet billing data. These records must move to a separate system — a CRM for companies and contacts, a helpdesk for tickets, and a financial system for invoices. We flag these as out-of-scope during discovery and deliver a written inventory so the customer's admin knows exactly what data is excluded.

  • No public API on ]project-open[ requires direct database access

    ]project-open[ exposes no documented public REST or SOAP API. Every migration must connect directly to the PostgreSQL backend. We require read-only database credentials and network access to the database server. The schema is well-documented but structurally complex — entities inherit from acs_objects, relationships live in acs_rels or join tables, and boolean fields store 't'/'f' as bpchar(1) columns. We handle this by establishing a scoped read-only connection, executing SQL queries against the documented schema, and converting boolean fields explicitly during transformation.

  • Project for the web is consolidating into Microsoft Planner

    Microsoft announced in May 2025 that Project for the web (the browser-based product) will retire in August 2025 and be replaced by Microsoft Planner. Project Desktop and Project Online (PWA) are not affected. If the customer intends to migrate to Project for the web, we must clarify whether the target is Planner (new name for Project for the web), Project Online (PWA, retiring September 2026), or Project Desktop (standalone). The target product determines the import method: Microsoft Graph API for Planner, SharePoint PWA API for Project Online, or MPP file generation for Project Desktop.

  • Custom field discovery must run before mapping is finalised

    ]project-open[ allows unrestricted dynamic custom attributes per Business Object stored beyond the standard table columns. These are discovered only by querying the dynamic attribute storage for each object type. We run a full attribute discovery pass against all project and task objects before writing any mapping specification. Without this step, custom fields are silently dropped. The custom field discovery pass adds 3-5 business days to the discovery phase and is included in our standard scope.

  • Boolean fields require explicit 't'/'f' to true/false conversion

    Throughout the ]project-open[ schema, boolean fields use bpchar(1) columns with '_p' postfixes (e.g., variable_cost_p) containing literal 't' or 'f' characters rather than native PostgreSQL boolean types. We apply CASE-based conversion during the transform phase so the destination receives proper boolean values. This affects cost type fields, billing flags, and task-level booleans. The conversion is routine but must be explicit in the SQL extraction query — it does not happen automatically.

Migration approach

Six steps for a successful ]project-open[ to Microsoft Project data migration

  1. Database access and schema discovery

    We receive read-only database credentials from the customer and establish a scoped PostgreSQL connection to the ]project-open[ instance. We run schema discovery queries against acs_objects, acs_rels, the task and project tables, im_timesheet modules, im_costs, and im_tickets. We identify every distinct table that stores migratable data, map foreign-key relationships, and run the custom attribute discovery pass against all project and task objects. The output is a complete data inventory and a schema dependency graph.

  2. Destination product clarification and field mapping design

    We confirm the target Microsoft product with the customer: Project Desktop (.mpp output), Project for the web / Planner (Microsoft Graph API), or Project Online PWA (SharePoint REST API). We design the field mapping for each migratable object — project, task, resource, assignment, calendar, and custom fields — against the destination data model. Objects without a destination equivalent (companies, tickets, costs, timesheet billing records) are flagged in a written Exclusion Inventory delivered before migration begins.

  3. Data extraction and transformation

    We execute SQL extraction queries against the ]project-open[ PostgreSQL database, preserving the acs_objects hierarchy for project groupings and traversing acs_rels for user-to-project assignments. We convert all '_p' boolean fields from 't'/'f' to true/false during extraction. Dates are normalised to UTC. Custom attribute discovery results are merged into the extraction output. The transformed dataset is staged in a secure, isolated environment before any write to the destination.

  4. Sandbox or pilot import

    For Project Desktop migrations, we generate a pilot .mpp file and share it with the customer's project manager for visual validation — confirming task hierarchy, WBS numbering, dependencies, resource names, and date accuracy. For Project for the web and Project Online, we run a pilot import against a test environment using the Microsoft Graph API or PWA API, then reconcile the output against the source extract. Corrections to the field mapping are applied before the full production migration.

  5. Production cutover

    We freeze writes to ]project-open[ during the cutover window, extract a final delta of any records created or modified since the initial extraction, and merge the delta into the destination. We run production import in dependency order: project and calendar first, then resources, then tasks and assignments. Custom fields are applied last. We produce a row-count reconciliation report and a mapping coverage report confirming which source fields landed in the destination and which were excluded per scope.

  6. Handoff and Exclusion Inventory delivery

    We deliver the reconciled project file(s) to the customer with a mapping summary. We also deliver the written Exclusion Inventory — a complete list of source objects that were not migrated, the reason for exclusion, and the recommended alternative system for each. We do not rebuild ]project-open[ workflows, reports, or automations in Microsoft Project as part of the migration scope. We support a one-week post-cutover window for data questions and validation issues raised during user acceptance testing.

Platform deep dives

Context on both ends of the pair

]project-open[ logo

]project-open[

Source

Strengths

  • Covers the full project lifecycle — planning, execution, financial controlling, and billing — in a single integrated platform.
  • Open-source Community Edition is free with no per-seat or per-feature licensing costs.
  • Modular architecture lets organizations activate only the functional areas they need, reducing complexity for simpler deployments.
  • ERP-level financial management including timesheet tracking, cost accounting, and invoice generation.
  • Strong documentation of the underlying data model allows technical teams to audit and understand data structure without vendor dependency.

Weaknesses

  • No public REST API — all migrations require direct database access to the PostgreSQL backend.
  • Interface is widely described as dated and difficult to navigate, increasing onboarding time significantly.
  • Self-hosting requires dedicated technical resources for installation, maintenance, and upgrades.
  • Performance degrades with large data volumes or heavily configured module setups.
  • Commercial Professional and Enterprise editions are required for advanced reporting and official support, adding cost that offsets the free Community Edition advantage.
Microsoft Project logo

Microsoft Project

Destination

Strengths

  • Deep critical-path scheduling with baseline comparison and cross-project dependency tracking unmatched by lighter PM tools.
  • Native Azure AD authentication, Teams integration, and Power BI reporting sit on infrastructure enterprises already license and manage.
  • Enterprise governance controls including demand intake workflows, resource request approval, and portfolio-level capacity analysis.
  • Supports both Waterfall and Agile methodologies within the same project, accommodating hybrid delivery teams.
  • Scalable from Project Plan 1 for small teams to Project Server on-premises for regulated industries with strict data-sovereignty requirements.

Weaknesses

  • Ease-of-use scores trail the category average by a wide margin; onboarding friction frustrates new users consistently across G2 and Capterra reviews.
  • Pricing ranks 42nd of 49 tools in its category — the total cost of ownership including IT administration and training is rarely recovered for small or mid-market teams.
  • No built-in client portal, external stakeholder sharing, or proofing workflow, limiting use cases to internal PMO environments only.
  • The web interface (Project for the web / Planner Premium) has materially weaker constraint controls and resource auto-leveling than the Windows desktop client.
  • Project for the web is being consolidated into Microsoft Planner, creating uncertainty about which product tier will host project portfolio data long-term.

Complexity grading

How hard is this migration?

Standard Project Management migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across ]project-open[ and Microsoft Project.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    ]project-open[: Not applicable — no public API.

  • Data volume sensitivity

    B

    ]project-open[ doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your ]project-open[ to Microsoft Project migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about ]project-open[ to Microsoft Project data migrations

Answers to the questions buyers ask most during ]project-open[ to Microsoft Project migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your ]project-open[ to Microsoft Project migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for environments under 50 projects and 5,000 tasks with straightforward task hierarchies and no complex custom attribute discovery. Migrations with many cross-project dependencies, resource-pool mapping across teams, or discovery of dozens of custom fields per object type extend to eight to twelve weeks. The timeline also depends on how quickly the customer provisions database access and resolves the target product question (Project Desktop, Project for the web/Planner, or Project Online).

Adjacent paths

Related migrations to explore

Ready when you are

Move from ]project-open[.
Land in Microsoft Project, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day