CRM migration

Migrate from PHP CRM to Nutshell

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

PHP CRM logo

PHP CRM

Source

Nutshell

Destination

Nutshell logo

Compatibility

67%

8 of 12

objects map 1:1 between PHP CRM and Nutshell.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

PHP CRM to Nutshell is a migration from a self-hosted, documentation-thin platform to a cloud-native CRM with solid support and an active import ecosystem. PHP CRM does not publish API rate limits, endpoint schemas, or a public developer reference; we work around this with direct credential-based extraction or admin-panel CSV exports. PHP CRM has no native Nutshell integration listed in either platform's migration tooling, so the path runs through FlitStack AI's staging layer: we enumerate every custom field in the source deployment, map to Nutshell's typed fields and custom field limits by tier, and sequence parent records (Companies, People) before child records (Deals, Tasks, Notes). File attachments stored on the PHP CRM filesystem cannot be extracted via documented API and are exported to local storage for manual re-upload post-migration. Automated workflows and business logic in PHP CRM are application-layer code not exposed via API and do not migrate; we deliver a written inventory of every active rule for the customer to rebuild in Nutshell.

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

PHP CRM logo

PHP CRM

What's pushing teams away

  • Extremely limited online presence with very few user reviews makes it difficult to assess long-term reliability and support quality.
  • Advanced feature setup complexity frustrates less technical users despite the interface being described as user-friendly for basic navigation.
  • Performance issues reported in G2 reviews suggest the platform may struggle under heavier data volumes or concurrent user loads.
  • Lack of transparent API documentation and community resources makes integrations and custom development high-effort for internal teams.

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 PHP CRM objects map to Nutshell

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

PHP CRM

Contact

maps to

Nutshell

Person

1:1
Fully supported

PHP CRM Contact records map to Nutshell People. Standard fields (name, email, phone, address) map directly. We extract every custom field present on Contact in the source deployment and map to Nutshell People custom fields or the Notes field for unstructured data. Contacts are imported after Companies to satisfy Nutshell's company association on People.

PHP CRM

Company

maps to

Nutshell

Company

1:1
Fully supported

PHP CRM Company records map 1:1 to Nutshell Company. Company name, domain, address, and industry fields migrate directly. Nutshell's People-Company association is resolved by matching the domain or company name from the source Contact record. We import Companies first as the parent entity before any associated People records.

PHP CRM

Deal

maps to

Nutshell

Lead

1:1
Fully supported

PHP CRM Deals map to Nutshell Leads. Deal value, stage, expected close date, and owner assignment transfer to the Lead's monetary value, status, expected close, and owner fields. We enumerate the actual pipeline and stage values present in the source PHP CRM deployment and map them to Nutshell's Lead status values, flagging any stages with no direct Nutshell equivalent for customer review.

PHP CRM

Pipeline

maps to

Nutshell

Lead Status

lossy
Fully supported

PHP CRM's custom pipeline definitions map to Nutshell's Lead status values and a single lead pipeline. Since Nutshell organizes around People, Companies, and Leads rather than multiple deal pipelines, we flatten the source pipeline structure into a single Nutshell Lead stream and preserve the original pipeline name in a custom field for reporting.

PHP CRM

Pipeline Stage

maps to

Nutshell

Lead Status Value

lossy
Fully supported

PHP CRM stage names and order vary by deployment configuration. We extract the full stage list from the source instance, map each stage to a Nutshell Lead status value, and flag any stages with no direct equivalent. The customer reviews stage mapping during discovery before any data moves.

PHP CRM

Task

maps to

Nutshell

Task

1:1
Fully supported

PHP CRM Tasks map to Nutshell Tasks. Due date, assignee, status, and linked entity (Person, Company, Deal/Lead) transfer directly. Entity linkage in Nutshell uses the Nutshell-assigned ID for the target record, which we resolve after parent record migration completes. Task status values are mapped from PHP CRM's internal status codes to Nutshell's open/closed states.

PHP CRM

Note

maps to

Nutshell

Note

1:1
Fully supported

PHP CRM Notes attach free-text content to any entity (Contact, Company, Deal). Notes migrate as Nutshell Note records linked via the target entity's ID after parent resolution. Rich text formatting is preserved where PHP CRM stores it as HTML.

PHP CRM

Activity

maps to

Nutshell

Activity (calls, emails, meetings)

1:1
Fully supported

PHP CRM Activity records (calls, emails, meetings) vary in schema by deployment. We enumerate the actual activity fields present in the source instance and map call logs, email records, and meeting entries to Nutshell's activity timeline. Nutshell's activity tracking uses a linked log structure per Person or Company. The customer chooses whether to import the full activity history or the most recent 12-24 months based on data volume.

PHP CRM

Custom Field (all objects)

maps to

Nutshell

Custom Field

lossy
Fully supported

PHP CRM allows user-defined custom fields on all standard objects with no standardized taxonomy. We run a mandatory discovery phase that enumerates every custom field present across all objects in the source deployment. Each custom field is typed (text, number, date, dropdown, checkbox) and mapped to the equivalent Nutshell custom field type. Nutshell's custom field limit varies by plan (Foundation has a lower ceiling; Pro and above support more). We flag any fields that would exceed Nutshell's tier ceiling for customer review.

PHP CRM

User/Owner

maps to

Nutshell

User

1:1
Fully supported

PHP CRM User records (owners assigned to Deals and Tasks) map to Nutshell Users by email matching. We extract every distinct owner referenced on records and attempt email-based lookup in the Nutshell destination. Users without a match enter a reconciliation queue for the customer to provision in Nutshell before record import resumes.

PHP CRM

Tag/Label

maps to

Nutshell

Tag

lossy
Fully supported

PHP CRM tags label records for segmentation and vary per instance. We extract the full tag vocabulary and map to Nutshell Tags on People, Companies, and Leads. The customer reviews the tag taxonomy during discovery to confirm coverage.

PHP CRM

Attachment

maps to

Nutshell

Attachment (manual re-upload)

1:1
Fully supported

PHP CRM stores file attachments on the local filesystem or cloud storage path, not through a documented API endpoint. We export attachments to a local directory for customer review and advise re-uploading via Nutshell's bulk file tools or manual attachment flow post-migration. This is a manual step outside the automated migration scope.

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.

PHP CRM logo

PHP CRM gotchas

High

No publicly documented API rate limits or endpoints

High

Attachment and file storage not accessible via API

Medium

Custom field taxonomy varies per deployment

Medium

Workflows and automations are not portable

Low

Limited review corpus for accurate benchmarking

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

  • PHP CRM has no publicly documented API rate limits or endpoint schemas

    PHP CRM exposes a developer tools page but publishes no rate limits, endpoint schemas, or authentication documentation publicly. Without documented limits, we pace extraction conservatively to avoid triggering unknown throttling rules that could interrupt a live migration. For PHP CRM instances where credentials are not available or the API access is restricted, we fall back to CSV export via the admin panel, which requires an additional data-normalization step before Nutshell import.

  • PHP CRM is not a supported source in Nutshell's import ecosystem

    Nutshell's native Import2 integration supports 27 CRMs (Salesforce, HubSpot, Pipedrive, Zoho, and others listed on support.nutshell.com) but PHP CRM is not among them. FlitStack AI bridges this gap with a custom extraction and staging pipeline. We do not rely on Nutshell's native import tool for this migration, which means we handle field mapping, type conversion, and validation in our own staging layer rather than through Nutshell's guided importer.

  • File attachments are not accessible via PHP CRM API or standard export

    PHP CRM stores file attachments on the local server filesystem or configured cloud storage path, with no documented API export method. We cannot programmatically extract attachments within the migration pipeline. We export all identifiable attachment paths to a local directory organized by record ID for the customer's review. Re-uploading to Nutshell is a post-migration manual step using Nutshell's per-record file attachment tool or bulk re-import workflow.

  • Custom field taxonomy varies per PHP CRM deployment

    PHP CRM allows user-defined custom fields on all standard objects without enforcing any standardized naming or typing convention. Each PHP CRM deployment has a unique inventory of custom fields with arbitrary names. We run a mandatory discovery phase that enumerates every custom field present in the source instance and maps each to a typed Nutshell custom field. Nutshell's custom field limits are plan-dependent, and fields that exceed the destination tier ceiling are flagged for customer decision before migration begins.

  • Workflows and automations in PHP CRM are not API-exportable

    Automated workflow rules, business logic, and admin-configured triggers in PHP CRM live in application-layer PHP code or admin rules that are not exposed via API. We do not migrate automations as code. Every migration plan includes a written inventory of the automation patterns identified during discovery (rule triggers, conditions, and actions) so that the customer's admin can rebuild them in Nutshell's workflow builder. This inventory is delivered before cutover so that critical revenue workflows can be prioritized for manual recreation.

Migration approach

Six steps for a successful PHP CRM to Nutshell data migration

  1. Discovery and data audit

    We audit the source PHP CRM deployment for record counts (People, Companies, Leads, Tasks, Notes, Activities), custom field inventory across all object types, pipeline and stage configuration, owner/user list, and attachment directory paths. Since PHP CRM has no public API documentation, we request admin-panel access or credentials to test extraction endpoints and observe throttling behavior. The discovery output is a written migration scope with record counts, a full custom field enumeration list, and a recommended CSV-first or API-first extraction strategy.

  2. Custom field enumeration and schema design

    We enumerate every custom field present in the source PHP CRM instance across People, Companies, Leads, Tasks, and Notes. Each field is typed (text, number, date, dropdown, checkbox) and mapped to the equivalent Nutshell custom field type. We check the customer's Nutshell plan for custom field limits and flag any fields that exceed the tier ceiling. Nutshell's schema (People custom fields, Company custom fields, Lead status values) is configured before any data moves.

  3. CSV extraction and data cleansing

    For PHP CRM instances without reliable API access, we extract via CSV from the admin panel. We normalize the CSV output (encoding, date formats, phone number formatting, address standardization) before writing to the FlitStack AI staging layer. We deduplicate records by email on People and by domain on Companies, flag duplicates for customer resolution, and remove records with critical missing fields (blank name and no email on People) before import.

  4. Sandbox validation and mapping sign-off

    We run a validation migration into a Nutshell trial or staging environment using a representative data sample (at least 50 records per object type). The customer reviews the mapped records and confirms field alignment. Any custom field corrections, stage mapping changes, or entity relationship adjustments happen in this phase. We do not run a full production migration until the customer signs off the mapping configuration.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Companies first, then People (with Company ID resolved), then Leads (with Owner resolved), then Tasks and Notes (with target entity ID resolved), then Activity history. Each phase emits a row-count reconciliation report before the next phase begins. We use Nutshell's documented API for record creation with batch chunking and exponential backoff to respect any rate limits we observe during extraction.

  6. Cutover, validation, and attachment handoff

    We freeze PHP CRM writes during cutover and run a final delta migration of any records modified during the migration window. We validate record counts and run a spot-check of 25-50 records against the source. Attachment paths are delivered as a structured directory for manual re-upload. The Workflow and automation inventory document is handed off to the customer. We support a three-day post-cutover window for reconciliation issues before closing the migration engagement.

Platform deep dives

Context on both ends of the pair

PHP CRM logo

PHP CRM

Source

Strengths

  • Free open-source self-hosted option with full source code access for modification and audit.
  • Managed cloud hosting from $120/year is low cost compared to per-seat SaaS alternatives.
  • REST API available for lead capture from websites and external integrations.
  • Fully customizable codebase allows adding or modifying modules without vendor constraints.
  • Self-hosted data on customer server provides complete data sovereignty and compliance flexibility.

Weaknesses

  • Very limited online reviews and community presence makes due diligence difficult.
  • API documentation is not publicly detailed, requiring direct access to the developer tools page for integration planning.
  • Small team or niche market positioning raises concerns about long-term product support and development roadmap.
  • Advanced customization requires PHP development expertise, limiting adoption to teams with technical resources.
  • Performance issues reported in reviews suggest potential scaling limitations under heavier workloads.
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 PHP 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

    PHP CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most PHP CRM to Nutshell migrations complete in two to four weeks for accounts under 10,000 People and 2,000 Deals with no unusual custom field complexity. PHP CRM's undocumented API or lack of credentials can extend discovery and extraction by one to two weeks. Migrations with high custom field counts, multiple pipeline configurations, or large activity histories requiring field-by-field enumeration run four to eight weeks. Timeline depends on data volume, custom field count, and whether API extraction is available or CSV export is required.

Adjacent paths

Related migrations to explore

Ready when you are

Move from PHP 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