Project Management migration
Field-level mapping, validation, and rollback between Mosaic and Asana. We move data and schema; workflows are rebuilt natively in Asana.
Mosaic
Source
Asana
Destination
Compatibility
8 of 12
objects map 1:1 between Mosaic and Asana.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Mosaic is an FP&A platform built around Projects, Clients, Employees, and Time Entries; Asana is a task-based project management tool built around Workspaces, Teams, Projects, Tasks, and Subtasks. These are fundamentally different data models. We migrate the structural records — the clients and projects that Mosaic uses as containers — into Asana Teams and Projects, and we map employee rosters to Asana member Profiles. Time entries become Tasks with due dates, durations, and assignees. We do not migrate custom formulas or variance analysis metrics because Mosaic does not expose a public API; we treat those as manual-rebuild scope. We do not migrate workflows, automations, or reports. We do not transfer integration credentials with Gusto, ERPs, or other connected systems; we document which integrations were active so the customer can re-establish them in Asana.
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 Mosaic 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.
Mosaic
Client
Asana
Team or Project
1:1Mosaic Clients represent the organizations associated with projects. We map client records to Asana Teams (for organizational grouping of members) or to Projects (for project-level client association), depending on the customer's scoping preference. Client name becomes the Team or Project name. If Mosaic client records contain contact details and billing information, those map to Asana custom fields on the Project. The client-to-project association is preserved as a Project-level custom field referencing the client name.
Mosaic
Project
Asana
Project
1:1Mosaic Projects are the primary planning containers holding budget, revenue, and resource allocation data. We export project metadata including name, status, start and end dates, and associated client. In Asana, the project is created with the same name and dates. Budget and revenue fields from Mosaic map to Asana custom number fields. Resource allocation data maps to custom fields or becomes a project-level task for tracking.
Mosaic
Phase
Asana
Section
1:1Mosaic Phases subdivide projects into logical stages. We preserve phase names, date ranges, and phase-to-project relationships. In Asana, each phase becomes a Section within the project. Phase date ranges map to Section header metadata or to a set of dated tasks representing the phase timeline.
Mosaic
Employee
Asana
User (Member Profile)
1:1Mosaic Employee records are pulled from integrated HRIS systems such as Gusto and include names, departments, roles, start dates, and salary information. We export the employee roster and map names and emails to Asana member Profiles. Departments map to Asana Teams or to custom fields on the user's profile. Compensation and salary fields do not have an Asana native equivalent; we map them to custom number or currency fields on the user's profile, or to a custom compensation Project visible only to designated admins.
Mosaic
Time Entry
Asana
Task
1:manyMosaic Time Entries log labor against projects and phases with employee, project, date, hours, and billing rate. We convert each time entry to an Asana Task assigned to the corresponding employee User, with the project as the parent Project. Hours and billing rate become custom fields on the task. Date becomes the task due date or start date. If Mosaic time entries span multiple phases, each phase becomes a subtask. This transformation requires resolving the employee-to-user lookup before time entry import begins.
Mosaic
Custom Metric
Asana
Custom Field (Calculated)
lossyMosaic Custom Metrics use user-defined formulas for variance analysis and KPI tracking. We evaluate each formula during migration scoping, document its logic, and recreate equivalent Asana calculated fields or custom formula fields from Premium tier. Complex multi-step formulas may require manual verification post-import. We do not migrate formulas as executable code; we deliver a written formula inventory for the customer's admin to implement in Asana.
Mosaic
Project Budget
Asana
Custom Fields or Project Goal
lossyMosaic project budgets contain revenue forecasts, cost budgets, and variance thresholds. These are mapped to Asana Custom Fields (number type for budget amounts) or to Project Goals at the Premium tier. The budget variance calculation from Mosaic becomes a formula field in Asana. Customers using Mosaic's budget rollup features should expect to re-implement those in Asana Goals or in a connected BI tool.
Mosaic
Client Contact
Asana
Project Member or Custom Field
lossyMosaic client records may contain contact person names and email addresses separate from the client organization record. We map these to Asana Project Members (invited as guests or members to the project) or to custom fields on the project for contact tracking. This is a configuration decision made during scoping based on whether the client contact needs to receive Asana task notifications.
Mosaic
Employee Department
Asana
Team
1:1Mosaic employee departments map to Asana Teams. Each department becomes a Team, with employees added as members. Teams allow cross-project visibility for department members and enable workload management features in Asana Premium and Business tiers. Department hierarchies in Mosaic flatten to a single Team level in Asana unless the customer specifies a nested team structure during scoping.
Mosaic
Integration: Gusto
Asana
Not migrated
1:1Mosaic's native Gusto integration pulls live employee and compensation data. OAuth credentials and refresh tokens do not transfer across platforms. We document the integration configuration — which Gusto fields were mapped to Mosaic employee fields, sync frequency, and any field transformations applied — so the customer's admin can re-establish the connection in Asana or via a third-party integration tool. Compensation data that was synced from Gusto into Mosaic employee records migrates as part of the employee roster export.
Mosaic
Integration: Deltek
Asana
Not migrated
1:1Mosaic integrations with Deltek Vision, Vantagepoint, or Ajera (hosted or cloud) store connection credentials that do not transfer. If the customer is migrating between Deltek products within Mosaic, that is a Mosaic integration migration (handled by Mosaic's service on a 2-3 week timeline with 6-week advance notice). For migrations to Asana, we document the Deltek integration scope and field mappings so the customer can evaluate Asana-native ERP integrations or third-party connectors post-migration.
Mosaic
Reports
Asana
Not migrated
1:1Mosaic does not expose a public export API for variance analysis reports or dashboard configurations. These are stored in the application layer and cannot be programmatically extracted. We advise customers to screenshot and document their key Mosaic reports before migration begins, and we deliver a written report inventory listing every dashboard and chart configuration as a reference for manual rebuild in Asana's reporting tools or in a connected BI platform.
| Mosaic | Asana | Compatibility | |
|---|---|---|---|
| Client | Team or Project1:1 | Fully supported | |
| Project | Project1:1 | Fully supported | |
| Phase | Section1:1 | Fully supported | |
| Employee | User (Member Profile)1:1 | Fully supported | |
| Time Entry | Task1:many | Fully supported | |
| Custom Metric | Custom Field (Calculated)lossy | Fully supported | |
| Project Budget | Custom Fields or Project Goallossy | Fully supported | |
| Client Contact | Project Member or Custom Fieldlossy | Fully supported | |
| Employee Department | Team1:1 | Fully supported | |
| Integration: Gusto | Not migrated1:1 | Fully supported | |
| Integration: Deltek | Not migrated1:1 | Fully supported | |
| Reports | Not migrated1:1 | Not 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.
Mosaic gotchas
No public API for data export or migration
Custom formulas require manual verification at destination
Time entry migration requires stored procedure for Deltek targets
Integration credentials and OAuth tokens do not transfer
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
Scoping and export coordination with Mosaic
We conduct a discovery session with the customer to inventory every data type needed in Asana: clients, projects, phases, employees, time entries, custom metrics, and integration configurations. Because Mosaic has no public API, we coordinate with the customer to engage Mosaic's integration migration service or to export data via Mosaic's supported mechanisms. We document the export timeline (including the 6-week advance notice if Mosaic's migration service is required), confirm which data types are covered, and flag anything outside that path as manual-rebuild scope.
Asana workspace and team structure design
We design the Asana destination structure based on the Mosaic data inventory. Client organizations map to Asana Teams or Projects. Mosaic departments map to Teams for cross-project visibility. We configure custom fields for compensation data, billing rates, and budget amounts that have no native Asana equivalent. We set up the project hierarchy to reflect Mosaic's phase structure using Asana Sections and, where applicable, Subprojects. If the customer uses Asana Premium or Business, we configure Project Goals to approximate Mosaic budget goals.
Employee roster and user provisioning
We extract the Mosaic employee roster including names, emails, departments, roles, start dates, and compensation fields. Each employee maps to an Asana User profile. We match employees to existing Asana users by email or provision new member invitations. Departments map to Teams, and we assign employees to the appropriate Teams based on their Mosaic department. Compensation fields become custom fields on user profiles visible to designated admin roles only.
Project and client migration in dependency order
We migrate in record-dependency order: Teams (from departments), Projects (from Mosaic projects with client associations resolved), Sections (from phases), then tasks. Client records are created as Projects or Teams depending on whether the client is an organizational container or a project-level entity. The project-to-client relationship is preserved as a custom field on the project. Phase dates map to Section headers or to task date ranges within each section.
Time entry conversion and task creation
We convert each Mosaic time entry to an Asana Task. The task is assigned to the corresponding employee User, placed in the parent Project, and tagged to the relevant Section (phase). Hours and billing rate become custom number and currency fields on the task. The original Mosaic date becomes the task due date. For time entries spanning multiple phases, we create subtasks per phase. This phase requires the employee roster and project import to be complete first so that the User and Project lookups are available at task creation time.
Custom formula inventory and report handoff
We evaluate every Mosaic custom metric formula, document its logic in a written formula inventory with examples of expected outputs, and recreate equivalent calculated fields in Asana where supported. For formulas that cannot be expressed in Asana's formula syntax, we note the limitation and recommend a BI tool or spreadsheet as the reporting destination. We deliver the complete report inventory to the customer's admin for manual rebuild. We do not rebuild reports in Asana within the migration scope.
Integration documentation and re-connection support
We document every active Mosaic integration — Gusto, Deltek, ERP connectors, and any other connected systems — including which fields were mapped, sync frequency, and any transformation logic applied. OAuth tokens and connection credentials do not transfer. The customer uses this documentation to re-establish integrations in Asana via the Asana app directory, native API connections, or a third-party integration platform like Zapier or Workato. We do not configure Asana integrations within the migration scope but can provide a separate integration setup engagement.
Platform deep dives
Mosaic
Source
Strengths
Weaknesses
Asana
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Mosaic and Asana.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
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
Mosaic: Not publicly documented on the README portal — confirmed during scoping..
Data volume sensitivity
Mosaic 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 Mosaic to Asana migration scoping. Not seeing yours? Book a call.
Walk through your Mosaic 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 Mosaic
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.