Project Management migration

Migrate from Redmine to Microsoft Project

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

Redmine logo

Redmine

Source

Microsoft Project

Destination

Microsoft Project logo

Compatibility

60%

6 of 10

objects map 1:1 between Redmine and Microsoft Project.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Redmine to Microsoft Project is a paradigm migration, not a direct record copy. Redmine organizes work around Issues inside Projects with a flexible tracker system; Microsoft Project organizes work around Tasks inside a Project Plan with start/end dates, dependencies, and resource assignments. We extract Redmine data via its REST API (or direct database access for large exports), transform the issue hierarchy into a task dependency graph, map Redmine Users to MS Project Resources, and reconstruct time-tracking data as Task Usage entries. Custom Fields require explicit value mapping since MS Project supports a narrower set of field types than Redmine. Note that Microsoft Project Online retires September 30, 2026; teams migrating from Redmine typically target Project Plan 3 or Project desktop, not Project Online. Workflows, Wiki pages, Forums, and News entries do not migrate; we deliver a written inventory of these objects for the customer's PMO to rebuild or archive in Microsoft SharePoint.

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

Redmine logo

Redmine

What's pushing teams away

  • Installation and initial configuration are consistently described as difficult, with a steep learning curve for server administrators new to Ruby on Rails.
  • The user interface is widely criticized as dated and unintuitive, with cluttered project screens and confusing role-based permission setup.
  • Email notifications lag and feel outdated compared to modern real-time collaboration tools, frustrating teams expecting Slack-style updates.
  • Performance degrades with large numbers of projects and issues, and no native mobile app forces reliance on a mobile-unfriendly web interface.
  • Hidden costs accumulate through required hosting fees, paid plugins for enterprise features, and ongoing IT maintenance overhead.

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 Redmine objects map to Microsoft Project

Each row shows how a Redmine 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.

Redmine

Project

maps to

Microsoft Project

Project (MPP file or Project for the web)

1:1
Fully supported

Each Redmine Project maps to one Microsoft Project plan (MPP file or Project for the web project). Subprojects in Redmine become summary tasks or separate linked subprojects in MS Project depending on the customer's preference. We extract project metadata including name, identifier, description, homepage, and public/private flag. Parent-child project hierarchy is preserved by either creating nested projects (Project for the web) or summary tasks (MPP file).

Redmine

Issue

maps to

Microsoft Project

Task

1:1
Fully supported

Redmine Issues map directly to MS Project Tasks. We extract subject as Task Name, description as Notes, start_date as Start, due_date as Finish, estimated_hours as Estimated Hours (if using Project custom fields), done_ratio as Percent Complete, and priority as a numeric priority flag. Parent Issues become Summary Tasks with child Issues as subtasks. The Redmine tracker (Bug, Feature, Support) is preserved in a custom Task field since MS Project has no native tracker equivalent. Issue ID is stored in a custom field for cross-reference.

Redmine

Version

maps to

Microsoft Project

Milestone or Summary Task

1:1
Fully supported

Redmine Versions (milestones) map to MS Project Milestones (zero-duration tasks with a milestone flag) or to summary tasks grouping related issues. We map version name to milestone name, version description to Notes, and version due date to the milestone Finish date. Versions without a due date are mapped as summary tasks. Active versus closed status is preserved in a custom field.

Redmine

Time Entry

maps to

Microsoft Project

Task Usage (hours per task)

1:many
Fully supported

Multiple Redmine Time Entries for a single Issue aggregate into one task duration entry in MS Project. We sum hours per Issue per User and assign to the corresponding Task as hours in the Task Usage view. Activity type (development, design, research) is stored as a text field on the assignment. Time entries without a linked Issue are flagged during discovery for manual mapping to a task or exclusion.

Redmine

User

maps to

Microsoft Project

Resource

1:1
Fully supported

Redmine Users map to MS Project Resources. We extract first name, last name, email, and admin flag. The admin flag maps to a custom Resource field. Redmine does not store hourly cost rates, so resource rates must be provided by the customer or defaults set. Generic Resources (equipment, rooms) can be created for non-user entities if needed. Inactive Redmine users are mapped to inactive Resources.

Redmine

Issue Assignment

maps to

Microsoft Project

Task Assignment

1:1
Fully supported

Redmine Issue assignee (user_id) maps to MS Project Task assignment on the corresponding Task. We resolve the Redmine user to the MS Project Resource by email match. Multiple assignees on a single Issue are split into multiple Task assignments with an equal or customer-specified split of the task duration. No assignment mapping exists for Issues with no assignee; these tasks are created as unassigned.

Redmine

Issue Relations

maps to

Microsoft Project

Task Dependencies

1:1
Fully supported

Redmine Issue Relations (blocks, blocked by, follows, precedes, duplicated by) map to MS Project Task Dependencies (Finish-to-Start, Start-to-Start, Finish-to-Finish, Start-to-Finish). Redmine relation types map as follows: 'precedes' becomes Finish-to-Start; 'blocks' and 'blocked by' become Finish-to-Start with direction adjusted; 'relates to' becomes Finish-to-Start. Lag time is preserved where applicable. Relations referencing Issues in different Redmine projects are mapped to cross-project dependencies in MS Project if both projects are included in migration.

Redmine

Custom Field

maps to

Microsoft Project

Custom Field or Text Field

lossy
Fully supported

Redmine Custom Fields defined per Issue are mapped to MS Project Task Custom Fields where possible. Text, numeric, date, boolean, and list (enumeration) custom field types have direct equivalents. User-type and Version-type custom fields require lookup resolution or are mapped to text fields with the referenced value as a string. Multi-select list fields in Redmine are mapped to text fields with comma-separated values. Custom Field definitions are retrieved via /custom_fields.json before any data extraction begins.

Redmine

Attachment

maps to

Microsoft Project

Hyperlink or Document Library

lossy
Fully supported

Redmine file attachments (stored on the filesystem under /files) are enumerated during discovery, copied from the Redmine server, and re-uploaded as hyperlinks on the corresponding MS Project Task Notes field or as files in a linked SharePoint document library. The destination approach is agreed upon during scoping. File content is not embedded inside the MPP file due to size constraints.

Redmine

Tracker

maps to

Microsoft Project

Custom Task Field

lossy
Fully supported

Redmine Trackers (Bug, Feature, Support, and any custom trackers) do not have a native equivalent in MS Project. We create a Task-level custom text field named 'Redmine_Tracker' and populate it with the original tracker name from each Issue. This preserves the categorization for reporting and filtering in Microsoft Project. Custom tracker definitions (tracker-level custom fields) require manual recreation in MS Project if needed.

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.

Redmine logo

Redmine gotchas

High

No built-in CSV import function for Issues

High

Uploaded files stored on filesystem, not in the database

Medium

CSV exports exclude issue history and journals

Medium

Custom field definitions require a separate API call

Medium

REST API disabled by default on most installations

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

  • Redmine REST API is read-only and must be explicitly enabled

    Redmine ships with its REST API disabled by default. API-based migration requires the administrator to enable it in Administration > Settings > API before we can extract data programmatically. We check API availability during discovery and fall back to direct database access (MySQL or PostgreSQL) if the API is unavailable or returns insufficient data for custom fields and attachments. Direct DB access requires read credentials to the Redmine database and introduces a brief period of read-only access during extraction. This step is always confirmed before migration proceeds.

  • MS Project lacks native issue-tracker semantics for trackers, statuses, and priorities

    Microsoft Project is a scheduling tool, not an issue tracker. Redmine Issue Status (New, In Progress, Resolved, Closed) and Priority (Low, Normal, High, Urgent) have no native equivalents in MS Project's task model. We map status to a numeric value in a custom field and priorities to the built-in Priority field (1-10 scale). Trackers (Bug, Feature, Support) map to a custom text field as noted above. If the customer requires rich issue workflow tracking (Kanban-style status boards, SLA timers, issue escalation rules), those capabilities do not exist natively in MS Project and require a separate ticket management tool or a Power Apps custom solution.

  • CSV exports from Redmine exclude issue history, journals, and time entries

    Redmine's built-in CSV export for Issues captures only the current state of each record. Every status-change journal entry, inline comment, and logged time entry is excluded from CSV. We address this by extracting journals (issue history) and time_entries from separate database tables or API endpoints, and combining them into a supplemental migration deliverable. The journal entries are delivered as a CSV file linked to Issue IDs for the customer's admin to import into a companion system or SharePoint list if required for audit.

  • File attachments require separate filesystem extraction

    Redmine stores uploaded files on disk under the /files directory (or a configured storage path), not as BLOBs in the database. A database-only migration will lose all attachments. We explicitly enumerate the /files directory during discovery, enumerate file metadata from the attachments table, copy the files from the Redmine server, and deliver them as a named file archive organized by Project > Issue ID. Re-attachment to MS Project Tasks is handled as hyperlinks or as a SharePoint document library linked from the project.

  • Microsoft Project Online retires September 30, 2026

    If the destination is Project Online (the cloud PWA variant), this pair page assumes the customer is migrating to Project Plan 3 (desktop and web access) or Project desktop standalone, not Project Online. We confirm the target product during scoping because the data model differs between Project Online (SharePoint-backed) and MPP files (local or OneDrive-synced). Organizations targeting Project desktop need a file management strategy for sharing plans across teams, which we address in the handoff documentation.

Migration approach

Six steps for a successful Redmine to Microsoft Project data migration

  1. Discovery and target product confirmation

    We audit the Redmine instance via API or direct DB access to enumerate Projects, subprojects, Issues, Versions, Time Entries, Users, Custom Fields, Trackers, Issue Relations, and Attachments. We confirm the destination product (Project desktop, Project Plan 3, or Project for the web) during scoping because each has a different import path. We also confirm whether the customer is consolidating multiple Redmine instances into one Microsoft Project plan or keeping a one-to-one project mapping. The discovery output is a written scope document with estimated row counts per object and a data quality assessment.

  2. API and access preparation

    We verify that the Redmine REST API is enabled and accessible, or prepare read-only database credentials for direct MySQL or PostgreSQL access if the API is disabled. We confirm that the migration user has access to the attachments directory and that all source data can be reached in a single extraction session. For Project for the web destinations, we provision a Microsoft 365 environment and confirm API permissions for the FlitStack AI migration service. For desktop MPP destinations, we prepare the target workstation with a supported MS Project version.

  3. Schema and mapping design

    We design the object mapping: Redmine Projects to MS Project plans, Issues to Tasks with parent-child hierarchy from subprojects and parent Issues, Versions to Milestones, Users to Resources, Time Entries to Task Usage entries, and Issue Relations to Task Dependencies. We create the custom field definitions in MS Project for Tracker, Issue Status, and any Redmine Custom Fields that require preservation. For Project for the web, we deploy fields via the Planner API; for desktop, we configure the custom fields in the MPP template before import.

  4. Data extraction and transformation

    We extract all source objects in dependency order: Projects first, then Versions, then Users, then Issues with parent references and custom field values, then Issue Relations, then Time Entries, then Attachments. We transform each record using the mapping design, compute task hierarchy (summary tasks from parent Issues and subprojects), resolve user-to-resource assignments, and build the dependency graph from Issue Relations. All transformation logic is logged to a migration trace file for reconciliation. Any Issue with a missing parent is flagged for manual parent assignment or mapped as a top-level task.

  5. Validation and sandbox import

    For Project for the web, we perform a trial import into a non-production environment to validate task hierarchy, dependency rendering, resource assignment, and custom field population. For desktop MS Project, we import into a test MPP file and share it with the customer's PM lead for manual review. We reconcile row counts (Issues in, Tasks out; Time Entries in, Task Usage hours out) and spot-check five to ten records per project against the source. Any mapping corrections are applied to the transform script before the production import.

  6. Production import and file handoff

    We run the production import in a single cutover window or a phased cutover by project if the customer has active work in multiple Redmine projects. For desktop MPP files, we deliver the final MPP files organized by project with a readme documenting the mapping, custom field definitions, and any issues encountered during import. For Project for the web, we import via the Planner or Project API and confirm all tasks, dependencies, and resources appear in the target environment. We deliver the attachment archive and journal CSV as supplemental files. We do not rebuild Redmine Wiki pages, Forums, News, or automations in MS Project; these are documented in the handoff package for the customer's PMO to address separately.

Platform deep dives

Context on both ends of the pair

Redmine logo

Redmine

Source

Strengths

  • Completely free with no licensing or user-count constraints.
  • Self-hosted with full source-code access and no vendor lock-in.
  • Rich built-in feature set: Gantt charts, time tracking, wikis, forums, VCS integration.
  • Large community plugin ecosystem extending functionality.
  • Supports 49 languages, cross-platform, and multiple databases.

Weaknesses

  • No native bulk import UI—data entry relies on CSV exports or direct DB access.
  • REST API is read-only by default and must be explicitly enabled by an administrator.
  • Dated, unintuitive interface with steep initial learning curve.
  • No mobile app; mobile web experience is poor.
  • Performance degrades with large data volumes.
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. 2 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 Redmine and Microsoft Project.

  • Object compatibility

    B

    2 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

    Redmine: Not publicly documented; varies by host server configuration.

  • Data volume sensitivity

    B

    Redmine doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Redmine 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 Redmine to Microsoft Project data migrations

Answers to the questions buyers ask most during Redmine to Microsoft Project migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Redmine 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 up to five Redmine projects with fewer than 10,000 issues and no complex custom field definitions. Migrations with many subprojects, extensive milestone structures, bulk file attachments, or multiple Redmine instances consolidated into one Microsoft Project plan move to seven to eleven weeks because of the dependency mapping complexity and validation time. The Microsoft Project Online retirement in September 2026 creates urgency for some organizations; we can accommodate accelerated timelines with additional scoping resources if needed.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Redmine.
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