CRM migration
Field-level mapping, validation, and rollback between ServiceMax and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
ServiceMax
Source
Twenty CRM
Destination
Compatibility
13 of 14
objects map 1:1 between ServiceMax and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
ServiceMax organizes field service data around Work Orders, Installed Products, Service Contracts, and Entitlements — a schema built on Salesforce objects (SVMXC__Work_Order__c, SVMXC__Installed_Product__c, SVMXC__Service_Contract__c) with dispatch, scheduling, and parts-consumption logic. Twenty CRM uses a leaner model: People, Companies, Opportunities, Tasks, and Custom Objects, with CSV import and REST/GraphQL API for bulk loading. The migration carries Work Orders into Twenty's custom WorkOrder object, Installed Products into a custom Asset object, and Service Contracts into a custom Contract object. Dispatch logic, SFM Wizards, SFM Transactions, Counter Rules, and dispatch console views do not migrate — FlitStack exports their definitions as JSON so your admin can rebuild them in Twenty's workflow builder. Activity history (calls, emails, meetings, notes) maps to Twenty Tasks. Owner and technician resolution happens by email match against Twenty Workspace Members. The full run uses Twenty's CSV import (up to 20,000 records per batch) or REST API with 100–200 req/min on Pro cloud — whichever suits your record volume.
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 ServiceMax object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
ServiceMax
Account (Salesforce standard)
Twenty CRM
Company
1:1ServiceMax Accounts map directly to Twenty Companies. The Account Name, Website, Industry, NumberOfEmployees, and AnnualRevenue fields translate to Twenty's name, domain, industry, employees, and revenue fields. Address fields (Street, City, State, PostalCode, Country) on the Account map to Twenty's address compound field on the Company record.
ServiceMax
Contact (Salesforce standard)
Twenty CRM
Person (People)
1:1ServiceMax standard Contacts map directly to Twenty People records. Core fields including FirstName, LastName, Email, Phone, MobilePhone, and job Title migrate without transformation. The Contact's AccountId lookup resolves to a Company ID in Twenty, establishing the Person-to-Company relationship so each contact is properly linked to its parent organization record.
ServiceMax
SVMXC__Work_Order__c
Twenty CRM
WorkOrder__c (Custom Object)
1:1Work Orders are the primary migration object. ServiceMax work orders carry SVMXC__Order_Status__c, SVMXC__Priority__c, SVMXC__Billing_Type__c, SVMXC__Scheduled_Date__c, SVMXC__Completion_Date__c, SVMXC__Work_Performed__c, and SVMXC__City__c/State__c/Country__c. None of these map to native Twenty fields — they all require custom field creation on a custom WorkOrder__c object before migration data lands.
ServiceMax
SVMXC__Work_Order__c.AccountId
Twenty CRM
WorkOrder__c.CompanyId
1:1The Work Order's AccountId (service location / customer account) resolves to a Twenty Company record by Account Name match. If no matching Company exists in Twenty, FlitStack creates one from the service address fields on the Work Order before migrating the Work Order itself.
ServiceMax
SVMXC__Work_Order__c.ContactId
Twenty CRM
WorkOrder__c.PersonId
1:1The Work Order's ContactId field resolves to a Twenty Person record by performing an email address match against the migrated Person list. Any contacts that fail to match are flagged in a pre-flight report for manual review; the Work Order itself is not blocked from migrating, but the unresolved Person link is recorded in the migration audit log for post-migration cleanup.
ServiceMax
SVMXC__Installed_Product__c
Twenty CRM
Asset__c (Custom Object)
1:1ServiceMax Installed Products (field service assets) migrate to a custom Asset__c object in Twenty. Custom fields capture SVMXC__Serial_Number__c, SVMXC__Status__c, SVMXC__Warranty_Expiration__c, SVMXC__Installation_Date__c, and the linked AccountId. Entitlement and warranty checks that ServiceMax performs automatically must be rebuilt as custom logic in Twenty.
ServiceMax
SVMXC__Work_Detail__c (Work Order Line Items)
Twenty CRM
WorkOrderLineItem__c (Custom Object)
1:1Work Order Line Items (parts consumed, labor lines) migrate to a custom WorkOrderLineItem__c object linked to the WorkOrder__c. SVMXC__Line_Status__c, SVMXC__Quantity__c, and SVMXC__Product__c product name require custom field creation. Each line item links to the parent Work Order via a relation field.
ServiceMax
SVMXC__Service_Contract__c
Twenty CRM
Contract__c (Custom Object)
1:1Service Contracts migrate to a custom Contract__c object. SVMXC__Start_Date__c, SVMXC__End_Date__c, SVMXC__Contract_Value__c, and SVMXC__Status__c become custom fields. The contract-to-asset entitlement linkage that ServiceMax uses for warranty validation does not exist in Twenty and must be rebuilt using custom fields and workflow conditions.
ServiceMax
Case (Salesforce standard, if used in ServiceMax)
Twenty CRM
Task
1:1ServiceMax-integrated Cases map to Twenty Tasks using a transformed mapping approach. Key fields including Case Number, Subject, Description, Status, and Priority translate directly to corresponding task attributes. Any parent link referencing an associated Work Order or Company record is preserved as a custom relation field on the Task object to maintain the original contextual relationship.
ServiceMax
Product2 (Salesforce standard)
Twenty CRM
Product__c (Custom Object)
1:1ServiceMax product catalog entries (Product2 records enhanced with SVMXC__ fields) migrate to a custom Product__c object in Twenty. Standard fields like Product Name, ProductCode, Description, and Family translate to custom text and select fields. Inventory levels tracked in SVMXC__Inventory_Location__c require a separate custom inventory object since Twenty lacks native inventory tracking.
ServiceMax
Task / Event (Salesforce standard activities)
Twenty CRM
Task
1:1ServiceMax activity history encompassing calls, emails, meetings, and notes logged on Work Orders migrates directly to Twenty Tasks. The Subject, Description, Status, ActivityDate, and WhoId/WhatId link fields transfer without transformation. The WhatId reference (Work Order link) resolves to the migrated WorkOrder__c record ID to preserve the activity's association with the parent work order.
ServiceMax
SVMXC__Tech_Resource__c (technician / resource)
Twenty CRM
WorkspaceMember (Twenty standard)
1:manyServiceMax technicians who are also Salesforce users match to Twenty Workspace Members by email. Non-user technician records (created as SVMXC__Resource__c without a Salesforce UserId) must be imported as Contacts first, then manually promoted to Workspace Members in Twenty's Settings → Members panel.
ServiceMax
SVMXC__Preventive_Maintenance_Process__c
Twenty CRM
MaintenanceRule__c (Custom Object)
1:1Preventive Maintenance Process definitions are not migrated directly but exported as JSON for manual rebuilding. The exported definitions include frequency rules, asset scope parameters, and task templates that define each process. FlitStack maps the asset list and frequency rules to a custom MaintenanceRule__c object, while the automated trigger logic must be reconstructed by your admin using Twenty's workflow builder.
ServiceMax
Attachment (on Work Order, Asset, Contact)
Twenty CRM
File / Attachment
1:1ServiceMax file attachments associated with Work Orders, Installed Products, and Contacts are downloaded from Salesforce storage and re-uploaded to Twenty's file storage system. Each file—ranging from PDF inspection reports and equipment photos to signed service documents—is attached to its corresponding migrated record (WorkOrder__c, Asset__c, or Person) to preserve documentation continuity.
| ServiceMax | Twenty CRM | Compatibility | |
|---|---|---|---|
| Account (Salesforce standard) | Company1:1 | Fully supported | |
| Contact (Salesforce standard) | Person (People)1:1 | Fully supported | |
| SVMXC__Work_Order__c | WorkOrder__c (Custom Object)1:1 | Fully supported | |
| SVMXC__Work_Order__c.AccountId | WorkOrder__c.CompanyId1:1 | Fully supported | |
| SVMXC__Work_Order__c.ContactId | WorkOrder__c.PersonId1:1 | Fully supported | |
| SVMXC__Installed_Product__c | Asset__c (Custom Object)1:1 | Fully supported | |
| SVMXC__Work_Detail__c (Work Order Line Items) | WorkOrderLineItem__c (Custom Object)1:1 | Fully supported | |
| SVMXC__Service_Contract__c | Contract__c (Custom Object)1:1 | Fully supported | |
| Case (Salesforce standard, if used in ServiceMax) | Task1:1 | Fully supported | |
| Product2 (Salesforce standard) | Product__c (Custom Object)1:1 | Fully supported | |
| Task / Event (Salesforce standard activities) | Task1:1 | Fully supported | |
| SVMXC__Tech_Resource__c (technician / resource) | WorkspaceMember (Twenty standard)1:many | Fully supported | |
| SVMXC__Preventive_Maintenance_Process__c | MaintenanceRule__c (Custom Object)1:1 | Fully supported | |
| Attachment (on Work Order, Asset, Contact) | File / Attachment1: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.
ServiceMax gotchas
API call limits reset on a 24-hour rolling window
SFM Transaction and Wizard dependencies create migration loops
Configuration Profile migration excludes Default profiles
Large Technical Attributes configurations slow the Migration Tool UI
Pricing and Billing UI missing from browser mode
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Audit ServiceMax objects and export configuration definitions
FlitStack connects to your ServiceMax org via the Salesforce API and inventories SVMXC__Work_Order__c, SVMXC__Installed_Product__c, SVMXC__Service_Contract__c, SVMXC__Work_Detail__c, SVMXC__Resource__c, and standard Contacts and Accounts. We also export ServiceMax configuration definitions — SFM Transactions, Preventive Maintenance Processes, Counter Rules, and dispatch console view setups — as JSON bundles using ServiceMax's export-to-file tool. This audit produces the object inventory, field inventory, and record counts that drive the migration scope and pricing.
Design Twenty's custom object schema and field-mapping plan
FlitStack creates the custom WorkOrder__c, Asset__c, Contract__c, WorkOrderLineItem__c, and MaintenanceRule__c objects in Twenty's Settings → Data Model based on the audit. For each custom field we map the SVMXC__ field name, data type, and pick-list values. The field-mapping plan is delivered as a CSV showing src_object → src_field → dst_object → dst_field → mapping_type. Your admin pre-creates all pick-list values (especially the Work Order stage values) in Twenty before the migration runs, per Twenty's requirement that fields must exist before CSV import.
Resolve owner and technician references by email match
ServiceMax technicians and dispatch users are matched to Twenty Workspace Members by email address. FlitStack cross-references the SVMXC__Resource__c email field against Twenty's member list. Unmatched technicians are flagged in a pre-flight report — your admin either invites them to Twenty first or assigns their Work Orders to a fallback Workspace Member. No Work Order migrates with a dangling owner reference; all unresolved links are logged for post-migration reconciliation.
Run sample migration with field-level diff
A representative slice migrates first — typically 200–500 records spanning Accounts, Contacts, Work Orders, Assets, and Service Contracts. We generate a field-level diff comparing source SVMXC__ values against Twenty's imported values so you can verify stage mapping, technician assignment, asset linkage, and foreign-key resolution before the full run commits. You sign off on the diff before FlitStack proceeds to the full migration.
Execute full migration with delta-pickup window and audit log
The full migration runs in sequence: Companies (Accounts), People (Contacts), then Assets, Contracts, and Work Orders with resolved foreign keys. Twenty's CSV import handles batches of up to 20,000 records per object; larger volumes use the REST/GraphQL API with 100–200 req/min throttling. A 24–48 hour delta-pickup window captures any Work Orders modified in ServiceMax during the cutover. FlitStack maintains an audit log of every operation; one-click rollback reverts all imported records if reconciliation identifies data quality issues.
Platform deep dives
ServiceMax
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 ServiceMax and Twenty CRM.
Object compatibility
1 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
ServiceMax: Salesforce API limits apply—reported ~5,000 API calls per org per 24-hour rolling window, with per-application limits within that.
Data volume sensitivity
ServiceMax 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 ServiceMax to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your ServiceMax to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave ServiceMax
Other ways to arrive at Twenty CRM
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.