CRM migration

Migrate from Firmao CRM to Nutshell

Field-level mapping, validation, and rollback between Firmao CRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.

Firmao CRM logo

Firmao CRM

Source

Nutshell

Destination

Nutshell logo

Compatibility

80%

8 of 10

objects map 1:1 between Firmao CRM and Nutshell.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Firmao CRM to Nutshell is a schema-reduction migration. Firmao's platform combines CRM with ERP-adjacent capabilities (invoicing, warehouse stock, production modules) that Nutshell, a purpose-built CRM, does not replicate. We migrate the CRM core (People, Companies, Deals, Tasks) and map custom fields using dot-notation keys from Firmao into Nutshell's custom field definitions. ERP objects—invoices, warehouse inventory, projects, and courier integrations—have no Nutshell equivalent and are flagged for manual export. Engagement history (calls, emails, meetings) and file attachments are not exposed via Firmao's public API and cannot migrate programmatically. We sequence the import to satisfy Nutshell's requirement that Companies exist before People and that Deals are established before Task associations, using company name matching where internal IDs are not exposed in the source API response. Workflows, automations, and invoice templates do not migrate; we deliver a written inventory of Firmao automations requiring rebuild in Nutshell or as a separate automation project.

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

Firmao CRM logo

Firmao CRM

What's pushing teams away

  • Customization requires technical knowledge — configuring the system to fit unique business workflows is cited as a barrier for non-technical administrators.
  • Basic tier feels feature-limited; users report needing to upgrade to Professional or Enterprise to access custom fields, deal tracking, and Gantt/Kanban diagrams.
  • No publicly documented rate limits means migration tooling must handle undocumented throttling conservatively, which can slow large data transfers.
  • The platform's heavy ERP-adjacent feature set creates complexity for teams that only need a straightforward CRM, leading to feature-overload frustration.

Choosing

Nutshell logo

Nutshell

What's pulling them in

  • Lowest cost entry point among mid-market CRMs—Foundation plan starts at $13/user/month, making it accessible for teams validating CRM fit before committing.
  • Integrated sales automation and email sequencing on Pro plans without requiring a separate email marketing platform, per verified Capterra reviews.
  • Consistently praised for intuitive interface and fast onboarding, with case studies reporting 100% team adoption rates within initial deployment periods.
  • Strong customer support responsiveness cited across G2 reviews, with dedicated support tiers available on Enterprise plans.
  • Native integrations with WhatsApp, Facebook Messenger, Instagram, and Slack reduce reliance on third-party middleware for common communication channels.

Object mapping

How Firmao CRM objects map to Nutshell

Each row shows how a Firmao CRM object lands in Nutshell, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Firmao CRM

Contact

maps to

Nutshell

Person

1:1
Fully supported

Firmao Contact records map to Nutshell Person. Standard fields (name, email, phone, address) map directly. Custom contact fields using Firmao dot-notation (customFields.customN) migrate to Nutshell custom fields on Person, but only after Nutshell custom fields are pre-created in Settings with matching data types. Tags stored as comma-separated values on the Firmao contact record map to Nutshell Person tags. We use email as the dedupe key during import and flag any duplicate emails for customer review before insert.

Firmao CRM

Company

maps to

Nutshell

Company

1:1
Fully supported

Firmao Company records map directly to Nutshell Company. Company name is the primary field and is used as the dedupe key. We import Companies first so that Person-Company associations are resolved at the time of Person insert. Firmao's multi-currency support maps to Nutshell's currency field on Company if the destination Nutshell account uses multi-currency. Address, website, industry, and employee count fields migrate directly where populated.

Firmao CRM

Deal

maps to

Nutshell

Deal

1:1
Fully supported

Firmao Deals map to Nutshell Deals. This mapping is gated by the customer's active Firmao plan tier—Deals are accessible only on Professional and above. If the customer is on a Standard plan during scoping, we confirm this before migration and ask them to upgrade or acknowledge the exclusion. Deal name, value, stage, owner, and expected close date map directly. Nutshell's Deal record type does not support a visual pipeline layout migration; the pipeline configuration is documented for the customer admin to configure post-migration.

Firmao CRM

Task

maps to

Nutshell

Task

1:1
Fully supported

Firmao Tasks map to Nutshell Tasks. Task name, due date, status, and priority migrate directly. Task associations to Contacts or Deals in Firmao use the subClass/subId envelope structure—since Firmao does not expose internal IDs in the GET response, we use contact name matching and deal name matching to resolve associations. We import Deals before Tasks to satisfy the lookup resolution order and flag any Tasks with unresolved associations for customer review.

Firmao CRM

Product

maps to

Nutshell

Product (optional)

lossy
Fully supported

Firmao Products map to Nutshell Products if the destination Nutshell plan supports the Products feature. Product name, SKU, and base price migrate directly. Per-warehouse stock levels in Firmao are stored as subClass=warehouse entries on the Product object and are not a standalone entity; we extract netPriceInStore and currentStoreState per subId and flag warehouse-level inventory as a manual export for the customer because Nutshell Products does not support warehouse-level stock tracking natively.

Firmao CRM

User

maps to

Nutshell

User

1:1
Fully supported

Firmao Users export via /svc/v1/user and include name, email, and role. Owner assignments on Deals and Tasks resolve by email match against Nutshell's user list. We extract all distinct owner emails and confirm that corresponding Nutshell users exist or are provisioned before migration begins. Any Firmao owner without a matching Nutshell user is placed in a reconciliation queue.

Firmao CRM

Invoice

maps to

Nutshell

None (flag for manual export)

1:1
Fully supported

Firmao Invoices (VAT invoices, bills, receipts, accounting notes) have no equivalent object in Nutshell, which is a CRM without invoicing capabilities. We export the invoice header and line item structure as a structured CSV and flag the file for the customer's accounting team to import into their chosen accounting platform (QuickBooks, Xero, FreshBooks, or equivalent). Invoice associations to Contacts and Deals in Firmao are preserved in the exported CSV for reference.

Firmao CRM

Warehouse

maps to

Nutshell

None (flag for manual export)

1:1
Fully supported

Warehouse is a subClass of the Product object in Firmao rather than a top-level entity. Net price per store and current stock state are extracted as subId entries per product during export, but Nutshell Products does not support warehouse-level inventory. We flag the warehouse-stock export as a manual handoff and note the product-to-warehouse mapping in the export manifest for the customer's inventory management team.

Firmao CRM

Project

maps to

Nutshell

None (flag for manual export)

1:1
Fully supported

Firmao Projects (available on Professional and above) include name, description, dates, and task associations. Gantt and Kanban visual layout data does not migrate. We export project metadata as a CSV and flag the records for the customer's project management team to migrate to a dedicated PM tool (Asana, Monday.com, Jira, or equivalent) if required. Project-task associations are preserved as a flat list in the export for reference mapping.

Firmao CRM

Custom Field (Deals, Contacts, Companies)

maps to

Nutshell

Custom Field

lossy
Fully supported

Firmao custom fields (available on Professional and above) use dot-notation keys (customFields.custom5, customFields.custom12) that are not self-documenting in the API response. We retrieve a sample record via GET first to enumerate which custom fields are populated, then cross-reference with the import documentation the customer provides. Fields with no values in the sample are flagged as potentially deleted and excluded. Before migration, Nutshell custom fields must be created in Settings with the appropriate data type (text, number, date, picklist, checkbox); we provide a custom field creation checklist as part of the pre-migration deliverable.

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.

Firmao CRM logo

Firmao CRM gotchas

High

Tier-gated objects cause silent import failures

Medium

Custom field keys are dynamic and not self-documenting

Medium

Parent-child object import order is mandatory

Low

Warehouse stock state is subClass-embedded, not top-level

Low

API login is auto-generated and tied to company ID

Nutshell logo

Nutshell gotchas

High

Contact tier limits enforced on import

Medium

No bulk API endpoint requires paginated extraction

Medium

Email sequences not exportable via API

Medium

Foundation plan disables key sales features

Pair-specific challenges

  • Firmao tier gating blocks Deal and custom field export

    Deals and custom field definitions in Firmao are gated to Professional tier ($29/user/month) and above. If the customer's active Firmao plan is Standard, the API will return Deals and custom field definitions inconsistently or silently omit them. We confirm the customer's active plan tier during scoping and audit the API response for the presence of deal records and custom field keys before proceeding. If the customer is on Standard, we ask them to upgrade to Professional before the migration import begins, or we document the exclusion scope and proceed without Deals and custom fields.

  • Parent-child sequencing is mandatory for Contact-Company and Task-Deal

    Firmao's API does not expose internal record IDs in GET responses, which means we cannot use ID-based foreign key references during import. Contact-Company associations resolve by companyName matching, and Task-Deal associations resolve by dealName or dealValue matching. This requires Companies to import before Contacts and Deals to import before Tasks. We provide a sequencing manifest before migration begins so the customer can verify the relationship map. If duplicate company names exist in Firmao, we flag the collision for deduplication before import to prevent association errors.

  • Engagement history and attachments are not API-exportable from Firmao

    Firmao does not expose email history, call logs, meeting records, or activity timelines as discrete API objects. File attachments stored in Firmao's cloud vault (2GB on Standard, 10GB on Professional) are also not accessible via the public REST API. We cannot migrate engagement history or file attachments programmatically. We flag both as manual export tasks for the customer: email history can be exported from the Firmao UI manually, and file attachment URLs can be documented for manual re-upload to Nutshell's activity records post-migration. This limitation is documented in the pre-migration scope document.

  • Firmao custom field keys require cross-referencing with documentation

    Firmao's custom field keys (customFields.customN) are dynamic and have no human-readable labels in the API response. We retrieve a sample record via GET to enumerate populated custom fields, but we must cross-reference with the customer-provided import documentation to assign human-readable names. If the customer does not have access to the data import help file or cannot identify which custom field corresponds to which business meaning, we flag ambiguous fields as unlabeled and exclude them from migration to prevent data from landing in the wrong Nutshell custom field.

  • Firmao API password rotation breaks active migration immediately

    The Firmao API password is tied to the organization's Firmao ID and must be explicitly generated in Integrations > API. If the customer rotates this password during the migration window, the active API connection is interrupted with no grace period. We request the current API credentials at migration start and explicitly request that the customer do not rotate the password until after the final validation step completes. We also note that the API login cannot be set to a custom value, so credentials are bound to the organization and cannot be shared across environments.

Migration approach

Six steps for a successful Firmao CRM to Nutshell data migration

  1. Plan tier audit and scope confirmation

    We audit the customer's active Firmao plan tier via the API response to confirm whether Deals, custom fields, Projects, and the invoicing module are accessible. We extract a sample of 50 records per object (Contact, Company, Deal, Task, Product) to enumerate custom field keys, identify parent-child relationship patterns, and flag duplicate company names and deal names that will require disambiguation. We confirm the Nutshell plan tier and verify that Products, custom fields, and Deals are supported on the destination plan. The scope document lists every object we migrate, every object we flag for manual export, and every exclusion (attachments, engagement history, workflows) with the reason.

  2. Pre-create Nutshell custom fields and configure schema

    Before any data import, we create Nutshell custom fields in Settings for every populated Firmao custom field key we identified in the sample audit. We assign the appropriate Nutshell field type (text, number, date, picklist, checkbox) based on the data values observed in the Firmao sample. We document the custom field creation checklist as a pre-migration deliverable so the customer admin can verify the field list. Nutshell's Import2 pipeline requires that destination custom fields exist before field mapping, so this step must complete before the import file is generated.

  3. Export and transform records in dependency order

    We export Firmao records in the following order: Companies first, then Contacts (with companyName resolved), then Deals, then Tasks (with dealName resolved). Products export with warehouse subClass data flattened as separate rows per subId. Users export by email for owner resolution. During transform, we apply the Firmao-to-Nutshell field mapping, strip unsupported characters, normalize date formats to ISO 8601, and flag any record that fails validation rules (required field missing, invalid email format, duplicate dedupe key) in a separate error manifest for customer review before insert.

  4. Sandbox migration and reconciliation

    We run the full migration into Nutshell using the Import2 pipeline with a test dataset that mirrors production volume. The customer reconciles record counts (People in, Companies in, Deals in, Tasks in), spot-checks 20-30 random records against the Firmao source, and signs off the mapping before production migration begins. Any custom field mapping corrections, duplicate disambiguation decisions, and association fixes happen in the sandbox step. We do not run production migration until the customer has reviewed and approved the sandbox reconciliation report.

  5. Production migration and cutover

    We run the production migration in the same dependency order used in sandbox: Companies, then Contacts, then Deals, then Tasks, then Products. Each phase emits a row-count reconciliation report before the next phase begins. We freeze writes in Firmao during the final cutover window, run a delta migration for any records modified during the migration, and enable Nutshell as the system of record. We deliver the ERP export manifest (Invoices, Warehouse stock, Projects) as structured CSV files for the customer's accounting and operations teams to handle manually. We deliver the automation inventory document listing every Firmao workflow and automation with its trigger, conditions, and actions for the customer's admin to rebuild in Nutshell or as a separate automation project.

  6. Validation, handoff, and post-migration support

    We run a post-migration validation comparing record counts and sampling key fields against the Firmao source. We verify that Deal-Company associations are intact, that Task-Deal associations are resolved, and that owner assignments match by email. We deliver the automation inventory document and the ERP export manifest as separate files from the migration deliverables. We support a three-day hypercare window for reconciliation issues raised by the customer's team. We do not rebuild Firmao automations as Nutshell workflows inside the migration scope; that work is documented separately for the customer's admin.

Platform deep dives

Context on both ends of the pair

Firmao CRM logo

Firmao CRM

Source

Strengths

  • Generous free trial (14 days) with full feature access lets teams validate fit before committing to a paid tier.
  • Per-seat pricing with no per-contact billing means unlimited contacts on any plan — ideal for high-contact-volume SMBs.
  • Cloud storage included in every tier (2–10GB) reduces the need for a separate document management tool.
  • Multi-language and multi-currency support makes it viable for teams operating across European markets.
  • Android and iOS mobile apps provide field access for sales teams working outside the office.

Weaknesses

  • Rate limits are not publicly documented, which forces migration tooling to probe-and-backoff cautiously and slows large data transfers.
  • ERP-adjacent complexity (production, courier integrations, warehouse stock) is overkill for teams seeking a pure CRM tool.
  • Custom fields require a Professional or higher tier, gating basic users from one of the most common CRM customization needs.
  • No bulk API endpoint means large migrations must be executed via repeated single-record POST requests, extending transfer timelines.
Nutshell logo

Nutshell

Destination

Strengths

  • Simple, intuitive interface with minimal learning curve for sales teams new to CRM
  • Per-seat pricing is transparent and predictable, with annual billing reducing monthly cost
  • Full data export tool available for all account data including backups
  • Open JSON-RPC API allows programmatic access to all core objects
  • Native multichannel engagement (email, SMS, WhatsApp) without third-party add-ons for communication

Weaknesses

  • Reporting and analytics are considered weak, requiring manual Excel exports for detailed analysis
  • No bulk API endpoint—migration requires paginated API reads that must be rate-limited carefully
  • JSON-RPC API is less common than REST, requiring custom integration code compared to standard REST CRMs
  • Add-on costs (Forms, Nutshell IQ, Email Marketing) are per-company charges that stack on top of per-seat pricing
  • Feature restrictions on entry-level plans mean teams often need mid-tier to get basic automation

Complexity grading

How hard is this migration?

Standard CRM migration. 3 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 Firmao CRM and Nutshell.

  • Object compatibility

    B

    3 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

    Firmao CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Firmao CRM to Nutshell 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 Firmao CRM to Nutshell data migrations

Answers to the questions buyers ask most during Firmao CRM to Nutshell migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Firmao CRM to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between two and four weeks for accounts under 10,000 contacts and 2,000 deals with no complex custom field mapping. Migrations with active custom fields across Deals, Contacts, and Companies, a populated product catalog with warehouse subClass data to extract, or duplicate disambiguation work move into five to eight weeks because of the custom field pre-creation step, sandbox reconciliation, and delta migration. Discovery and scoping adds one to two weeks before migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Firmao CRM.
Land in Nutshell, 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