Migrate your OpenProject data
Self-hostable open-source project management platform with Gantt charts, agile boards, time tracking, and cost reporting. Popular with teams seeking data sovereignty and an open-source Jira alternative.
In its favor
Why people choose OpenProject
The signal that keeps OpenProject on the shortlist. Sourced from G2, Capterra, and customer scoping calls.
Full open-source Community edition with no per-user cost makes it attractive for budget-conscious teams that want data sovereignty on their own infrastructure.
All-in-one feature coverage including Gantt charts, Kanban boards, Scrum backlogs, time tracking, and cost reporting in a single tool reduces tool sprawl.
Active Jira migration tooling under development signals commitment to attracting teams leaving Atlassian, with Jira Migrator arriving in v17.2.
GPLv3 license and self-hosting option give teams complete control over their data without vendor lock-in, a key differentiator for regulated industries.
Modern Angular frontend with responsive design appeals to teams finding Redmine's interface outdated, per direct comparison content.
Steep initial setup and configuration overhead frustrates non-technical teams; onboarding time is repeatedly cited as a pain point in reviews.
Per-user pricing in Enterprise tiers becomes expensive at scale, pushing teams toward cheaper or free alternatives as headcount grows.
Missing or incomplete features like PDF export column limitations, days-only time logging, and Excel cost report gaps drive teams to solutions with richer reporting.
API v3 is acknowledged by OpenProject as still under development with not all resources and actions accessible via API, limiting automation and migration tooling.
Enterprise Cloud minimum of 5 users and on-premises minimum of 25 users creates a barrier for small teams evaluating the platform.
Reasons to switch
Why people leave OpenProject
The recurring reasons buyers give for replacing OpenProject. Presented as facts, not knocks.
Platform scorecard
Strengths, weaknesses, and where OpenProject fits
Grades across six dimensions, plus a SWOT-style view of where the platform shines and where it falls short.
SWOT — strengths, weaknesses, and use-case fit
Strengths
Weaknesses
Where it works
Where it struggles
Pricing tiers
OpenProject pricing overview
OpenProject uses a per-user, per-month pricing model for both Enterprise cloud and on-premises editions. The Community edition is completely free with no user limits. Educational institutions and NGOs qualify for special discounted rates. Minimum user requirements are 5 for cloud and 25 for on-premises Enterprise.
Community
Tier 1 of 3
Free
What's included
Need help selecting your Project Management?
Book a free 30 minute consultationPricing is informational. FlitStack AI does not bill on OpenProject's schedule — see our quote-based pricing →
What gets migrated
OpenProject object support
Object-by-object support for OpenProject migrations. Per-pair details surface during scoping.
Projects
Fully supportedProjects are the top-level workspace containers in OpenProject. They control permissions via Member-Role assignments and host activated Modules. We map them 1:1 across migrations, preserving project hierarchy (parent-child relationships) and project-level custom fields. As of v17, Projects share the workspace concept with Programs and Portfolios.
Work Packages
Fully supportedWork Packages are the core task/issue object in OpenProject. They carry Type, Status, Priority, Assignee, Responsible, Dates, Estimated/Hours, custom field values, and parent-child relationships. We preserve all standard fields and map custom fields as name-value pairs. Attachment references are carried over; actual file migration depends on file storage handling.
Custom Fields
Mapping requiredOpenProject supports unlimited custom fields of various types (text, number, list, user, date, boolean, etc.) per project or globally. Since custom field definitions are instance-specific, we handle them as dynamic schema during migration—discovering available fields per project and mapping values to the destination's equivalent definitions.
Boards
Fully supportedBoards (Kanban-style views) in OpenProject are derived from work package queries and store column configuration as view metadata. We preserve board structure and column-to-status mappings during migration. Advanced Action Boards with auto-assignment rules are migrated as configuration blocks.
Time Entries
Mapping requiredTime Entries are logged against Work Packages with hours, cost type, and rate. Time entry display is restricted to hours (days-only is not natively supported). We map hours correctly but flag any day-based calculations as requiring post-migration adjustment. Enterprise time-entry field restrictions apply based on plan tier.
Cost Entries
Mapping requiredCost Entries track unit costs and rates against work packages. Cost types are configurable per instance. We preserve cost entry amounts and associated cost types but require explicit cost type mapping when source and destination use different currency or cost type configurations.
Versions
Fully supportedVersions (milestones or sprints in OpenProject) group Work Packages and carry target dates. We map Versions 1:1 and preserve their date ranges and associated work package counts. Version sharing across projects is supported and preserved.
Wikis
Fully supportedWiki pages within Projects store formatted content and can embed work package lists. We migrate wiki content as structured text blocks and preserve embedded work package references as cross-document links. File attachments within wikis follow the standard attachment migration path.
Documents
Fully supportedDocuments are project-level file containers with title, description, and attached files. We migrate document metadata and their attached files. Large binary files may require out-of-band transfer with reference remapping.
Forums
Fully supportedForums and their Messages (forum posts) are migrated preserving thread structure, author, and post timestamps. Forum permissions inherit from project membership and are mapped accordingly.
Attachments
Mapping requiredAttachments on Work Packages, Wiki pages, and Documents are stored either in the database (for small files) or on disk (for larger files). We migrate attachment metadata and handle disk-path remapping when moving between self-hosted instances. File size limits may apply based on destination configuration.
Users
Fully supportedUsers in OpenProject carry email, name, login, admin status, and global roles. We map user accounts 1:1 and reassign work package ownership, time entries, and comments to the corresponding migrated user. Enterprise plans include LDAP group sync and 2FA as add-ons.
Members
Fully supportedMembers are user-project assignments carrying a Role. Roles define permission sets. We preserve the Member-Role mapping per project, ensuring that permission structures survive migration intact.
Work Package Types
Mapping requiredTypes (Task, Bug, Feature, Phase, Milestone, etc.) are customizable per project. We map Type names and preserve Type-specific field configurations (which fields are visible/required per Type). When the destination has different Type names, we create a Type mapping table during scoping.
Statuses
Mapping requiredStatuses (New, In Progress, Closed, etc.) and their workflow transitions are configurable per Type. We map Status values and preserve workflow rules. Custom statuses require explicit mapping to destination Status IDs.
| Object | Support | Notes |
|---|---|---|
| Projects | Fully supported | Projects are the top-level workspace containers in OpenProject. They control permissions via Member-Role assignments and host activated Modules. We map them 1:1 across migrations, preserving project hierarchy (parent-child relationships) and project-level custom fields. As of v17, Projects share the workspace concept with Programs and Portfolios. |
| Work Packages | Fully supported | Work Packages are the core task/issue object in OpenProject. They carry Type, Status, Priority, Assignee, Responsible, Dates, Estimated/Hours, custom field values, and parent-child relationships. We preserve all standard fields and map custom fields as name-value pairs. Attachment references are carried over; actual file migration depends on file storage handling. |
| Custom Fields | Mapping required | OpenProject supports unlimited custom fields of various types (text, number, list, user, date, boolean, etc.) per project or globally. Since custom field definitions are instance-specific, we handle them as dynamic schema during migration—discovering available fields per project and mapping values to the destination's equivalent definitions. |
| Boards | Fully supported | Boards (Kanban-style views) in OpenProject are derived from work package queries and store column configuration as view metadata. We preserve board structure and column-to-status mappings during migration. Advanced Action Boards with auto-assignment rules are migrated as configuration blocks. |
| Time Entries | Mapping required | Time Entries are logged against Work Packages with hours, cost type, and rate. Time entry display is restricted to hours (days-only is not natively supported). We map hours correctly but flag any day-based calculations as requiring post-migration adjustment. Enterprise time-entry field restrictions apply based on plan tier. |
| Cost Entries | Mapping required | Cost Entries track unit costs and rates against work packages. Cost types are configurable per instance. We preserve cost entry amounts and associated cost types but require explicit cost type mapping when source and destination use different currency or cost type configurations. |
| Versions | Fully supported | Versions (milestones or sprints in OpenProject) group Work Packages and carry target dates. We map Versions 1:1 and preserve their date ranges and associated work package counts. Version sharing across projects is supported and preserved. |
| Wikis | Fully supported | Wiki pages within Projects store formatted content and can embed work package lists. We migrate wiki content as structured text blocks and preserve embedded work package references as cross-document links. File attachments within wikis follow the standard attachment migration path. |
| Documents | Fully supported | Documents are project-level file containers with title, description, and attached files. We migrate document metadata and their attached files. Large binary files may require out-of-band transfer with reference remapping. |
| Forums | Fully supported | Forums and their Messages (forum posts) are migrated preserving thread structure, author, and post timestamps. Forum permissions inherit from project membership and are mapped accordingly. |
| Attachments | Mapping required | Attachments on Work Packages, Wiki pages, and Documents are stored either in the database (for small files) or on disk (for larger files). We migrate attachment metadata and handle disk-path remapping when moving between self-hosted instances. File size limits may apply based on destination configuration. |
| Users | Fully supported | Users in OpenProject carry email, name, login, admin status, and global roles. We map user accounts 1:1 and reassign work package ownership, time entries, and comments to the corresponding migrated user. Enterprise plans include LDAP group sync and 2FA as add-ons. |
| Members | Fully supported | Members are user-project assignments carrying a Role. Roles define permission sets. We preserve the Member-Role mapping per project, ensuring that permission structures survive migration intact. |
| Work Package Types | Mapping required | Types (Task, Bug, Feature, Phase, Milestone, etc.) are customizable per project. We map Type names and preserve Type-specific field configurations (which fields are visible/required per Type). When the destination has different Type names, we create a Type mapping table during scoping. |
| Statuses | Mapping required | Statuses (New, In Progress, Closed, etc.) and their workflow transitions are configurable per Type. We map Status values and preserve workflow rules. Custom statuses require explicit mapping to destination Status IDs. |
Gotchas
What to watch for in OpenProject migrations
Issues we've hit on past OpenProject migrations, tagged by severity. FlitStack AI handles every one — surfacing them up front because buyer engineering teams want to know.
Work package export limit of 500 applies to CSV/XLS/Atom
API v3 is not fully implemented
Time entries support hours only, not days
Custom fields are instance-specific and not portable as-is
Enterprise add-ons tier changes effective May 2025
| Severity | Issue |
|---|---|
| High | Work package export limit of 500 applies to CSV/XLS/Atom |
| High | API v3 is not fully implemented |
| Medium | Time entries support hours only, not days |
| Medium | Custom fields are instance-specific and not portable as-is |
| Low | Enterprise add-ons tier changes effective May 2025 |
Leaving OpenProject?
Where OpenProject customers move next
5 destinations OpenProject can migrate to.
How a OpenProject migration works
Four steps, OpenProject-specific
Connect
API key or OAuth 2.0 (self-hosted instances) into OpenProject. Scopes limited to read-only on the data we move.
Map
We translate OpenProject-specific structures (custom fields, objects, value lists) to the destination's model.
Sample
Test with a 50–200 record subset to validate OpenProject quirks before production.
Migrate
Full migration with OpenProject rate-limit handling. Rollback available throughout.
FAQ
OpenProject migration FAQ
Answers to the questions buyers ask most during OpenProject migration scoping. Not seeing yours? Book a call.
Can't find your answer?
Walk through your OpenProject migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationOther project management tools we support
Ready when you are
Migrate OpenProject.
Without the rebuild.
Free scoping call with a migration engineer. Tell us about your OpenProject setup and destination — written quote back within a business day.