Project Management migration
Field-level mapping, validation, and rollback between OnePlan and Asana. We move data and schema; workflows are rebuilt natively in Asana.
OnePlan
Source
Asana
Destination
Compatibility
9 of 12
objects map 1:1 between OnePlan and Asana.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from OnePlan to Asana is a migration from a portfolio-centric PPM platform to a task-centric work management platform. OnePlan's hierarchical plan types (Programs containing Projects containing Work Plans) map to Asana's Team-Project-Section-Task structure, and we resolve the structural translation during scoping. OnePlan lacks a documented public API, so we extract data via the Migration Tool CSV output and load it into Asana using the Asana REST API with batch processing. We flag that OnePlan's Migration Tool is append-only, cannot update existing records, and requires manual deduplication if the destination already contains data. Stage Gate Workflows, document attachments, and SharePoint-linked files do not migrate; we deliver a written inventory of these gaps for your admin to rebuild. Financial plan data and resource allocation over time migrate where Asana's data model can represent them, with custom fields carrying forward on a template-by-template basis rather than from a centralized configuration.
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 OnePlan object lands in Asana, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
OnePlan
Plan
Asana
Project
1:1OnePlan Plans map to Asana Projects. Plans contain the core metadata (name, description, status, start/end dates) that translates directly to Asana Project fields. We preserve the Plan type hierarchy by organizing Asana Projects into Teams that correspond to OnePlan Areas, and we use Asana's Project Sections to represent sub-plan groupings if the source uses multi-level Work Plan structures within a Plan. OnePlan's Plan-level custom fields map to Asana Project-level custom fields, applied per project from a template.
OnePlan
Work Plan
Asana
Section or Subproject
1:manyOnePlan Work Plans within a Plan can represent either task groupings or sub-projects. We map Work Plans that contain task lists to Asana Sections within the target Project for lightweight grouping, or to separate Asana Projects if the customer wants independent task assignment and reporting per Work Plan. This choice is made during scoping based on how the customer uses Work Plans for task ownership and progress tracking.
OnePlan
Task
Asana
Task
1:1OnePlan Work Plan Tasks migrate to Asana Tasks. OnePlan Estimated Start and Estimated End dates map to Asana Start Date and Due Date. Task dependencies migrate as Asana dependency links (Finish-to-Start only; Asana does not support other dependency types). Note that OnePlan's multiple resource assignments per task must resolve to Asana's single-assignee model; we create one Asana Task per OnePlan task and assign to the primary resource, with additional assignees noted in the task description or a custom multi-user field if the Advanced plan is in use.
OnePlan
Risk
Asana
Task with custom field
1:1OnePlan Risks migrate to Asana Tasks tagged with a custom Risk field (Asana Custom Field: Type = 'Risk'). Risk-specific properties (probability, impact, status, owner) migrate as Asana custom fields. Risks do not auto-rollup to a portfolio view in Asana the way they do in OnePlan; we document the risk register as a separate Asana Project or as a tagged view within the main project for the customer's PMO to maintain post-migration.
OnePlan
Issue
Asana
Task with custom field
1:1OnePlan Issues migrate to Asana Tasks tagged with a custom Issue field (Asana Custom Field: Type = 'Issue'). Issue properties (severity, status, owner, raised date) map to equivalent Asana custom fields. Like Risks, Issues do not have a native portfolio-level rollup in Asana; we recommend a dedicated Issues project or a tag-based filtered view.
OnePlan
Resource
Asana
User or Portfolio member
1:1OnePlan Resources map by email match to Asana Workspace Users. Resource properties (role, department, skill) migrate as Asana custom fields on the User profile or as Portfolio membership attributes. We resolve the resource lookup during import so that task assignments point to valid Asana User records. Resources without a matching Asana User go to a reconciliation queue for the customer's admin to provision.
OnePlan
Time-Phased Resource Plan Data
Asana
Portfolio Workload section
1:1OnePlan's resource allocation over time (allocation percentages by period) does not have a native Asana equivalent. Asana's Portfolio Workload view shows tasks assigned to users but does not store time-phased allocation percentages. We migrate the most recent period allocation as a static custom field on the User (e.g., current_allocation_pct) and include a written summary of the full time-phased allocation table for the customer's admin to use with a third-party resource management tool or a custom Asana integration if needed.
OnePlan
Time-Phased Financial Plan Data
Asana
Custom fields on Project
1:1OnePlan financial plan data (budget, actuals, forecast by period) migrates to Asana Project custom fields. We map the current period values (budget, actual spend, forecast) as numeric custom fields on the Project. Historical period data is included in a structured CSV deliverable that the customer's finance team can import into a spreadsheet or BI tool. Asana does not natively support financial period tracking; this is a known limitation that we document rather than attempting a partial workaround.
OnePlan
Custom Field (Text, Date, Number, Currency, Yes/No, Choice)
Asana
Custom Field
lossyOnePlan's seven custom field types map to equivalent Asana field types. We create Asana custom fields per Project using a migration template rather than from a centralized field library because Asana does not have org-wide custom field configuration. Each project's template defines which custom fields apply. Choice fields migrate as Asana Enum fields with the same options; Yes/No migrates as a Boolean Enum; Currency and Number map directly to Asana Number fields.
OnePlan
Custom Field (User type)
Asana
User custom field
lossyOnePlan User-type custom fields (pointing to a Resource) migrate to Asana User custom fields, available on Asana Advanced plan. The User reference resolves to the migrated Asana User record. If the destination Asana plan is Starter or below (no user custom fields), we fall back to a Text field storing the user's name as a string.
OnePlan
Area
Asana
Team
1:1OnePlan Areas (top-level organizational units) map to Asana Teams. Each Area becomes a Team in Asana, with the Plans within that Area becoming Projects within the corresponding Team. This preserves the top-level organizational structure from OnePlan while mapping to Asana's permission and sharing model.
OnePlan
Plan Details (form data)
Asana
Project custom fields
1:1OnePlan Plan Details form data associated with plans migrates as Asana Project custom fields. Custom form layouts do not migrate; we document the form fields and their values so the customer's admin can recreate the form structure in Asana using a Project template if needed.
| OnePlan | Asana | Compatibility | |
|---|---|---|---|
| Plan | Project1:1 | Fully supported | |
| Work Plan | Section or Subproject1:many | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Risk | Task with custom field1:1 | Fully supported | |
| Issue | Task with custom field1:1 | Fully supported | |
| Resource | User or Portfolio member1:1 | Fully supported | |
| Time-Phased Resource Plan Data | Portfolio Workload section1:1 | Fully supported | |
| Time-Phased Financial Plan Data | Custom fields on Project1:1 | Fully supported | |
| Custom Field (Text, Date, Number, Currency, Yes/No, Choice) | Custom Fieldlossy | Fully supported | |
| Custom Field (User type) | User custom fieldlossy | Fully supported | |
| Area | Team1:1 | Fully supported | |
| Plan Details (form data) | Project custom fields1: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.
OnePlan gotchas
Migration Tool append-only behavior blocks in-place updates
SharePoint authentication changes may break file access
Imported tasks do not auto-reschedule until a user opens the plan
50,000-row CSV limit constrains large portfolio migrations
Project Online programs require custom hierarchy mapping
Asana gotchas
Automation rules have no export representation
API rate limits cap bulk migration throughput
Portfolios are view-only objects that do not hold data
Custom field enum options cannot be updated via API
Subtasks do not appear in project views by default
Pair-specific challenges
Migration approach
Source audit and CSV extraction scoping
We audit the OnePlan source environment: enumerate all Plans, Work Plans, Tasks, Risks, Issues, Resources, Areas, and Plan Details forms. We assess custom field definitions per group and identify which ones are centralized (OnePlan admin-level) versus per-plan. We confirm the customer has OnePlan admin access to run the Migration Tool and extract CSV UTF-8 files. We estimate row counts per entity and flag if any single CSV will exceed the 50,000-row recommendation, which would require chunking. We also verify SharePoint authentication status because the Migration Tool reads from SharePoint or OneDrive, and Microsoft deprecated basic username/password authentication in April 2026.
Target schema design and Asana workspace setup
We design the Asana destination structure: Teams (mapped from OnePlan Areas), Projects (mapped from OnePlan Plans), Sections (mapped from Work Plans where appropriate), and custom fields per project template. We create the Asana custom fields for Risks, Issues, and financial/resource metadata. If the Advanced plan is in use, we configure User custom fields for multi-user assignments. We set up Asana Portfolio views that roll up Projects by Team for the PMO visibility the customer currently gets from OnePlan portfolios. We document the Asana field IDs that correspond to each OnePlan field for use during import.
CSV transformation and dependency sequencing
We transform the OnePlan CSV exports into import-ready JSON payloads for the Asana API. We resolve parent-record dependencies: Projects must exist before Tasks can be assigned to them, Sections must exist before Tasks can be placed in them, and Users must exist before Tasks can be assigned. We sequence the CSV batches by these dependencies. We apply the single-assignee resolution for tasks that had multiple OnePlan resources. We map OnePlan task dependencies to Asana dependency links, noting that only Finish-to-Start dependencies are supported in Asana; any other dependency types are dropped with a documented gap in the handoff.
Sandbox validation and record reconciliation
We run a full migration into a test Asana workspace using production-equivalent data volume. The customer's PMO lead reviews a sample of migrated Projects and Tasks against the OnePlan source, checking custom field values, date accuracy, risk/issue classification, and resource assignments. We reconcile record counts: Plans vs Projects, Tasks vs Tasks, Risks/Issues vs tagged Tasks, Resources vs matched Users. Any mapping corrections (wrong field, missing value, wrong assignee) are documented and applied before production migration. This step typically takes one to two weeks depending on customer review cycles.
Production migration and delta sync
We run the production migration in dependency order: Teams first, then Projects, then Sections, then Tasks with dependency links, then Risks and Issues as tagged Tasks, then Resources as User custom fields. Each phase emits a row-count reconciliation report. We run a final delta pass to capture any records modified in OnePlan during the migration window. We include a post-migration step requiring the customer's admin to open each migrated Project in Asana and save it, which triggers Asana's internal timeline recalculation (analogous to OnePlan's Estimated Start/End auto-reschedule behavior).
Cutover, validation, and handoff
We freeze writes to OnePlan during cutover, run the final delta migration, then mark Asana as the system of record. We deliver a migration inventory document covering: custom field mapping table, Stage Gate workflow gap inventory (to rebuild manually or via third-party app), attachment gap statement (documents not migrated), financial data handoff CSV, and resource allocation handoff CSV. We support a one-week hypercare window for reconciliation issues. We do not rebuild Stage Gate workflows, automations, or custom Asana apps as part of the standard migration scope; these are documented separately for the customer's admin or a separate engagement.
Platform deep dives
OnePlan
Source
Strengths
Weaknesses
Asana
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across OnePlan and Asana.
Object compatibility
1 of 8 objects need a manual workaround.
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
OnePlan: Not publicly documented.
Data volume sensitivity
OnePlan 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 OnePlan to Asana migration scoping. Not seeing yours? Book a call.
Walk through your OnePlan to Asana migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave OnePlan
Other ways to arrive at Asana
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.