CRM migration

Migrate from Xpressdocs to Nutshell

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

Xpressdocs logo

Xpressdocs

Source

Nutshell

Destination

Nutshell logo

Compatibility

60%

6 of 10

objects map 1:1 between Xpressdocs and Nutshell.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Xpressdocs and Nutshell serve fundamentally different functions — Xpressdocs is a brand management and print-on-demand platform with storefronts, product catalogs, and direct-mail automation; Nutshell is a sales CRM for SMBs that manages people, accounts, deals, and activities. The migration is not a like-for-like swap but a data reduction into a CRM model. We extract contacts and contact lists, product print-catalog data, historical orders, and user accounts, then map them into Nutshell's People, Companies, Deals, and Activities objects. Print templates, storefront branding assets, AmazingMail trigger rules, listing feed data, and custom image gallery binaries do not migrate as records; we deliver a written handoff inventory for each. Xpressdocs does not publish a bulk export API, so we sequence extraction across its per-object endpoints with pagination and coordinate a pre-migration data request to Xpressdocs support to supplement what the API surfaces.

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

Xpressdocs logo

Xpressdocs

What's pushing teams away

  • Multiple G2 reviewers cite pricing as significantly higher than comparable alternatives like Sendoso or Printfection, especially for organizations with large contact lists or high print volumes.
  • G2 reviews report the platform is not intuitive and that quick searches are difficult, with users needing time to learn the navigation and order flow before becoming productive.
  • Customer support interactions are described as unhelpful in multiple G2 reviews, with mentions of abrupt chat endings and slow response times creating frustration during critical order or migration issues.
  • The free DIY tier is limited to generic templates only, and unlocking custom print templates and SSO requires jumping to the $200/month Starter tier, creating a barrier for small teams evaluating the platform.

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

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

Xpressdocs

Contact List

maps to

Nutshell

People (Nutshell Contacts) + Tag or List

1:many
Fully supported

Xpressdocs contact lists are flat groupings of contacts used for direct-mail campaigns. We export each contact list separately and map contacts into Nutshell People records, preserving list membership as Tags on each Person record. If the customer uses list names as a primary segmentation dimension, we create Nutshell Tags (e.g., Tag: storefront-name-listname) to replicate the segmentation logic. Multi-list contacts are de-duplicated by email address and cross-referenced to avoid creating duplicate People records.

Xpressdocs

Contact

maps to

Nutshell

Person

1:1
Fully supported

Individual contact records migrate to Nutshell Person with name fields, email address, phone, physical mailing address (critical for direct-mail campaign recipients), and any custom contact properties mapped to Nutshell custom fields on Person. The Nutshell Person is created before any associated Company record to satisfy the lookup relationship. We flag contacts without email addresses for the customer to resolve manually, since Nutshell requires an email for CRM-level contact records.

Xpressdocs

Storefront

maps to

Nutshell

Company

lossy
Fully supported

Xpressdocs Storefronts are brand containers tied to specific locations or agents. We map storefronts to Nutshell Company records, using the storefront name as the Company name and the primary contact from that storefront as the linked Person. This preserves the storefront-to-contact relationship in the CRM model. If a storefront has multiple contacts, we link the primary contact to the Company and attach the remaining contacts as related People with a Tag identifying their storefront.

Xpressdocs

Product (Print Catalog)

maps to

Nutshell

Custom Fields on Deal or Product

lossy
Fully supported

Xpressdocs print products (postcards, brochures, door hangers, business cards) with paper type, coating, and pricing do not have a direct Nutshell equivalent since Nutshell has no native product catalog object in its CRM tier. We map product data to custom fields on Nutshell Deal records or to a Nutshell Product configuration (if the customer uses Nutshell's built-in Product feature). Product definitions are preserved as a reference table delivered alongside the migration for the customer's admin to configure post-import.

Xpressdocs

Order

maps to

Nutshell

Activity (Note or Task) on Person or Deal

1:1
Fully supported

Xpressdocs order history with fulfillment status, delivery method, line items, and contact recipients migrates to Nutshell as Activity records (Notes or Tasks) attached to the relevant Person or Deal. Each order generates a Note with the order number, date, products ordered, quantity, and fulfillment status. If the order is tied to a Deal in Nutshell, we link the Activity to that Deal for pipeline reporting context.

Xpressdocs

Users and Access Roles

maps to

Nutshell

Users

1:1
Mapping required

Xpressdocs storefront users and their role assignments (Admin, Designer, Orderer) map to Nutshell Users by email match. Role naming conventions differ between platforms, so we map by permission level rather than by name: Xpressdocs Admin maps to a Nutshell admin User, Designer maps to a standard Nutshell User with appropriate record access, and Orderer maps to a Nutshell User with read and write access to People and Deals. We flag any Xpressdocs users without email addresses for manual provisioning.

Xpressdocs

Listing Feed (Real Estate)

maps to

Nutshell

Custom Fields on Company or Person

lossy
Fully supported

The Xpressdocs JSON Listing Feed API maintains property records with Agent, Property, Open House, Buyer/Seller, and Picture objects that are not native CRM concepts. We export listing feed data separately from contact lists and map property fields to custom fields on the Nutshell Company or Person record associated with the listing agent. Listing associations are preserved as Notes on the Person record. This data requires a custom field configuration step in Nutshell before migration.

Xpressdocs

AmazingMail Triggers

maps to

Nutshell

Written Inventory Document

1:1
Fully supported

AmazingMail direct-mail triggers are rule-based campaigns tied to CRM events (service reminders, birthdays, appointment completions) configured against an external CRM. We document each trigger definition (trigger event, contact segment, mailer type, cadence) in a written inventory delivered alongside the migration. These rules do not migrate as automation — Nutshell's CRM layer does not include marketing automation. The customer's admin rebuilds triggers in Nutshell's activity follow-up model or a connected marketing automation tool.

Xpressdocs

Templates

maps to

Nutshell

Written Inventory Document

1:1
Mapping required

Marketing templates (brand-approved postcard, brochure, and door-hanger designs stored per-storefront) are Xpressdocs platform assets, not structured database records. We document the template library per storefront, including template name, variable-data placeholder fields, and the associated product type. Actual template files are not exportable through the API. The customer downloads template assets directly from Xpressdocs for re-upload to their new print fulfillment vendor.

Xpressdocs

Custom Image Gallery

maps to

Nutshell

Written File Transfer Instructions

1:1
Mapping required

Brand-specific image galleries in Xpressdocs are stored as platform assets, not structured database records. We export the asset metadata and URL references in a written handoff document. Image files must be transferred separately via direct download from Xpressdocs or requested from Xpressdocs support, since the image binaries are not exposed through the standard export endpoints.

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.

Xpressdocs logo

Xpressdocs gotchas

Medium

Module activation and per-module implementation fees stack quickly

Medium

Listing Feed data lives in a separate schema from contacts

Low

Storefront branding assets require separate transfer

High

No public bulk data export API documented

Medium

AmazingMail trigger rules are tied to external CRM event hooks

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

  • Xpressdocs lacks a documented public bulk export API

    Xpressdocs does not publicly document a bulk export or comprehensive data dump endpoint. The documented APIs (Contacts/CRM, Listing Feed, Photo Services, Order Integration) are purpose-built for specific integration flows, not general data extraction. We work around this by leveraging per-object API endpoints with pagination and sequencing, but customers leaving the platform should request a full data export directly from Xpressdocs support before initiating a migration. Programmatic extraction of full account data is not guaranteed, and any gaps found during scoping are flagged before migration begins.

  • Print-catalog products have no native Nutshell equivalent

    Xpressdocs print products (with paper type, coating, quantity tiers, and pricing) do not map to a standard Nutshell object. Nutshell's CRM layer has no product catalog feature in lower tiers. We map product definitions to custom fields on Deal records or deliver them as a reference table for manual configuration. The customer must decide during scoping whether product data belongs on Deal records, as a separate Nutshell Product configuration, or as a custom external reference document.

  • Listing Feed data lives in a separate schema from contacts

    The JSON Listing Feed API (used for real estate clients) maintains its own data schema with Agent, Property, Open House, Buyer/Seller, and Picture objects that are not part of the standard Contacts/CRM export. We export both the listing feed schema and the contact list separately and reconcile associations between agents and listings during the mapping phase, since joins between these two data sources are not automatic. This requires custom field configuration in Nutshell before migration.

  • AmazingMail trigger rules are not portable automation code

    Automated direct-mail triggers in AmazingMail are configured against events from an external CRM or platform. When migrating away from Xpressdocs, the trigger logic — which contacts receive which mailer based on which event — is not automatically portable. We document each trigger definition in a written inventory delivered alongside the migration, but re-implementation must be done manually in Nutshell's activity follow-up model or a connected marketing automation platform. We do not migrate automation logic as executable code.

  • Contacts without email addresses require manual resolution

    Nutshell CRM records require an email address for standard People records. Xpressdocs contact lists used for direct-mail campaigns may include recipients with physical mailing addresses only, especially for real estate open house mailers or printed appointment reminders. We flag email-less contacts during extraction and deliver them as a separate reconciliation list. The customer's admin resolves whether to add email addresses manually, create a stub record without email, or exclude them from the migration.

Migration approach

Six steps for a successful Xpressdocs to Nutshell data migration

  1. Pre-migration Xpressdocs data request and API scoping

    We submit a data export request to Xpressdocs support on the customer's behalf to supplement what the API surfaces. Simultaneously, we run discovery across all per-object API endpoints to inventory contacts, products, orders, storefronts, users, and any active listing feed connections. We identify which Xpressdocs modules are active (Automated Property Marketing, XpressConnection, eProcurement) and flag module-specific data requiring separate configuration. The discovery output is a written migration scope with a record-count estimate per object type.

  2. Nutshell custom field and tag configuration

    We configure Nutshell before any data moves. This includes creating custom fields on Person (for contact properties not in the standard Nutshell schema), Company (for storefront and listing feed fields), and Deal (for print product and order reference fields). We create Tags for contact list segmentation and configure the Tag taxonomy based on the Xpressdocs storefront and contact list hierarchy. The Nutshell admin grants the migration user appropriate field-level access and validates that required fields are not blocking import.

  3. Sandbox extraction and mapping validation

    We run a sample extraction against the Xpressdocs API using a subset of records (up to 100 random contacts and associated orders) and import them into a Nutshell trial or sandbox environment. The customer reviews the mapped records, validates that custom field labels are correct, confirms that Tags reflect the intended segmentation, and approves the mapping rules before production extraction begins. Mapping corrections at this stage prevent errors in the full production migration.

  4. Owner and user provisioning in Nutshell

    We extract every distinct Xpressdocs user referenced on contact and order records and match by email against the Nutshell destination User table. Any Xpressdocs user without a matching Nutshell User is queued for manual provisioning by the customer's Nutshell admin. User provisioning must complete before Person and Activity records are imported, since Nutshell uses OwnerId references on most standard objects.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Nutshell Users (validated before migration), Companies (from Xpressdocs storefronts), Persons (from Xpressdocs contacts, with CompanyId resolved), Tags (for contact list segmentation), Deals (with any product reference fields populated), Activities (orders migrated as Notes or Tasks on Person or Deal), and listing feed data (as custom fields on Company or Person). Each phase emits a row-count reconciliation report before the next phase begins. We use Nutshell's REST API for record inserts with rate-limit handling and exponential backoff.

  6. Cutover, validation, and workflow handoff

    We freeze writes in Xpressdocs during cutover and run a final delta migration of any records created or modified during the migration window. We deliver the AmazingMail trigger inventory, template library reference, and custom image gallery file transfer instructions to the customer's admin. We support a 72-hour hypercare window for reconciliation issues. We do not rebuild Xpressdocs marketing workflows or automations in Nutshell; that work is documented and handled by the customer's admin or a separate marketing automation engagement.

Platform deep dives

Context on both ends of the pair

Xpressdocs logo

Xpressdocs

Source

Strengths

  • Same-day print fulfillment for orders placed before 4 PM CT with in-house production and shipping.
  • Branched storefront architecture supports brand-consistent ordering across hundreds of locations.
  • MLS data integration via JSON Listing Feed automates property marketing for real estate clients.
  • Variable-data direct mail automation (AmazingMail) triggers campaigns from CRM events like service reminders and birthdays.
  • Photo Services API and Custom Image Gallery centralize brand-approved imagery for franchise and multi-location use.

Weaknesses

  • Pricing is described as high relative to competitors in multiple G2 reviews, with fewer promotional options at comparable price points.
  • The learning curve is steep, with users citing non-intuitive navigation and difficulty performing quick searches in G2 reviews.
  • Customer support quality is inconsistent, with G2 reviewers reporting unhelpful representatives and poor follow-through.
  • Module fees, implementation fees, and tier-gated features create a higher total cost than the base subscription price suggests.
  • The platform lacks a public-facing bulk API or comprehensive data export documentation, limiting programmatic data extraction.
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. 1 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 Xpressdocs and Nutshell.

  • Object compatibility

    B

    1 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

    Xpressdocs: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Xpressdocs 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, 2,000 products, and 5,000 orders with straightforward storefront and contact list structures. Migrations with high order volumes, multi-storefront contact list splits, listing feed data requiring reconciliation, or more than twenty custom Nutshell fields move to four to eight weeks. Timeline depends on Xpressdocs API response speed, data volume, and how quickly the customer's admin provisions Nutshell users for owner reconciliation.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Xpressdocs.
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