CRM migration

Migrate from Novo Work Order to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between Novo Work Order and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

Novo Work Order logo

Novo Work Order

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

83%

10 of 12

objects map 1:1 between Novo Work Order and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Novo Work Order structures its data around work orders linked to assets, locations, and departments — with labor tracking, parts usage, and preventive maintenance schedules stored as related records. Salesforce Sales Cloud natively models Accounts, Contacts, Cases, and Assets, but lacks a native work-order object; FlitStack maps Novo work orders to Salesforce Cases (or a custom Work_Order__c object when the source schema requires it), assets to the native Asset object, and technicians to Salesforce Users via email resolution. Preventive maintenance schedules, which Novo models as standalone records, become a custom PM_Schedule__c object with a master-detail relationship to Asset. The migration preserves original create dates as a custom Original_Create_Date__c field since Salesforce sets CreatedDate at load time, and status-change timestamps surface as custom datetime fields for reporting continuity. FlitStack uses Salesforce Bulk API 2.0 for large record volumes, REST API for real-time validation, and handles any attachments via re-upload to Salesforce Files. Workflows, automations, and email templates do not migrate — FlitStack exports workflow definitions as a JSON reference so your Salesforce admin can rebuild them in Flow.

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

Novo Work Order logo

Novo Work Order

What's pushing teams away

  • Search engine across the platform is described in reviews as 'horrible' — locating older work orders or asset records can require multiple filter passes.
  • Some features are not intuitive and require training; reviewers note a documented learning curve.
  • Report writing is difficult to use according to reviewer feedback — operations needing rich custom reporting often supplement with external BI.
  • Public pricing is limited to the ShareNet Basic Edition at $25/user/month (annual, 3-user minimum); higher tiers are quoted by sales.
  • Vendor scale is small relative to FSM / CMMS leaders like Fiix, UpKeep, or ServiceChannel — partner ecosystem and community resources are thinner.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How Novo Work Order objects map to Salesforce Sales Cloud

Each row shows how a Novo Work Order object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.

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

Novo Work Order

Work Order

maps to

Salesforce Sales Cloud

Case

1:1
Fully supported

Novo Work Order maps directly to Salesforce Case. The CaseNumber in Salesforce receives the Novo work order ID for traceability. Status values map via value-mapping table (Novo Open → Salesforce New, Novo In Progress → In Progress, Novo On Hold → Waiting on Customer, Novo Complete → Closed, Novo Cancelled → Cancelled). Priority maps 1:1.

Novo Work Order

Work Order

maps to

Salesforce Sales Cloud

Work_Order__c (Custom Object)

1:1
Fully supported

If Novo work orders have custom fields that don't fit Salesforce Case's standard schema (e.g., specific municipal permit fields), FlitStack creates a Work_Order__c custom object with a master-detail link to Case. This keeps native Case features (email-to-case, Web-to-Case, Case Team) while storing Novo-specific data in custom fields.

Novo Work Order

Asset

maps to

Salesforce Sales Cloud

Asset

1:1
Fully supported

Novo assets map 1:1 to Salesforce Asset. The Asset's Name, SerialNumber, InstallDate, Status, and AccountId (linked to the Account representing the asset's location/owner) transfer directly. Novo's asset hierarchy (parent/child equipment) maps to Salesforce's ParentAssetId lookup. If a Novo asset references a location that does not yet exist as a Salesforce Account, FlitStack creates the Account on the fly, linking the asset to ensure continuity.

Novo Work Order

Preventive Maintenance

maps to

Salesforce Sales Cloud

PM_Schedule__c (Custom Object)

1:1
Fully supported

Novo's Preventive Maintenance records have schedule rules, frequency, and last-run dates. Salesforce has no native PM object — FlitStack creates a PM_Schedule__c custom object with master-detail to Asset. PM_Schedule__c stores frequency, next_due_date, last_completed_date, and a link to the related Case created when the PM runs.

Novo Work Order

Department

maps to

Salesforce Sales Cloud

Queue + Custom Department Field

1:1
Fully supported

Novo Departments route work orders to teams. Salesforce Queues handle Case assignment for groups. FlitStack creates a Queue per Novo Department and a custom Department__c pick-list field on Case for reporting. Technicians resolve to Salesforce Users by email match — unmatched technicians flagged for admin review before migration.

Novo Work Order

Location / Facility

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

Novo locations (addresses, facilities, infrastructure) map to Salesforce Account. Municipalities typically use Account for external entities (vendors, partner agencies) and may use a custom Location__c object for internal facilities — FlitStack recommends Account for external-facing locations and creates Location__c for internal infrastructure when the inventory is large.

Novo Work Order

Labor Line Item

maps to

Salesforce Sales Cloud

Custom Labor field on Case

many:1
Fully supported

Novo records multiple labor entries per work order (technician, hours, date). Salesforce Case has no native labor sub-object. FlitStack merges these into Total_Labor_Hours__c (sum), Labor_Cost__c (sum), and a custom Work_Order_Labor__c junction object if individual line-item audit is required. When labor entries include overtime rates or varying wage codes, FlitStack stores the overtime hours in a separate Overtime_Hours__c field and calculates additional cost in Overtime_Cost__c, ensuring accurate labor budgeting.

Novo Work Order

Parts / Materials Line Item

maps to

Salesforce Sales Cloud

Custom Parts field on Case + Product2

many:1
Fully supported

Novo tracks parts used per work order with quantity and cost. FlitStack maps parts to Product2 (if an inventory catalog exists) and creates a custom Parts_JSON__c field on Case storing the array of parts consumed. Individual part line items can be preserved in a custom Work_Order_Parts__c object for full audit history.

Novo Work Order

Attachment / Photo

maps to

Salesforce Sales Cloud

Salesforce Files (ContentDocument/ContentVersion)

1:1
Fully supported

Novo file attachments and inspection photos re-upload to Salesforce Files and link to the related Case or Asset record via ContentDocumentLink. Salesforce's 25MB per-file limit applies — large photos are compressed before upload. Inline images in work order notes are extracted and rehosted.

Novo Work Order

User / Technician

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

Novo technicians resolve to Salesforce Users by email match. If a Novo technician has no matching Salesforce User, their records are assigned to a fallback OwnerId (typically the admin's user) and flagged in the pre-migration report for the customer to create or link accounts before go-live.

Novo Work Order

Work Order Comment / Note

maps to

Salesforce Sales Cloud

Case Comment

1:1
Fully supported

Novo work order comments and internal notes map to Salesforce CaseComment. Original timestamps and the commenting technician's name (resolved to Salesforce User) are preserved. Rich-text formatting in Novo notes is converted to plain text with line breaks preserved in CaseComment.Body.

Novo Work Order

Custom Fields (Work Order)

maps to

Salesforce Sales Cloud

Custom Fields on Case or Work_Order__c

1:1
Fully supported

Novo custom properties on work orders (e.g., permit_number, inspection_result, funding_source) require Salesforce custom fields. FlitStack creates these as pick-list, text, number, or date fields depending on the source type. Field-level API name uses the __c suffix. Any invalid Salesforce field names (spaces, special characters) are normalized before migration.

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.

Novo Work Order logo

Novo Work Order gotchas

High

No public API forces migration via built-in exports

Medium

Pricing opacity complicates budget planning

Medium

Municipal-specific custom fields need careful schema mapping

Low

Preventative maintenance recurrence rules vary by configuration

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • Salesforce has no native work-order object — Case requires schema design decisions

    Novo Work Order has a dedicated work-order record type with type-specific fields. Salesforce's closest native object is Case, but Case is shared across all service request types and uses RecordTypeId to vary page layouts per case type. Teams migrating from Novo must decide whether to use standard Case with custom fields or create a Work_Order__c custom object. FlitStack surfaces this decision in the pre-migration schema plan: if Novo work orders have more than 10 custom fields that don't map to Case's standard schema, we recommend Work_Order__c as a custom object with a master-detail link to Case so native email-to-case and Web-to-Case features remain available on the parent Case.

  • Preventive maintenance schedules have no Salesforce equivalent and require a custom object

    Novo Work Order stores preventive maintenance as standalone records with frequency rules and last-run timestamps. Salesforce has no native PM scheduling object — the Field Service Lightning add-on includes a Work Order object with PM triggers, but Sales Cloud alone does not. FlitStack creates a PM_Schedule__c custom object with a master-detail link to Asset, storing frequency, next_due_date, and last_completed_date. When the PM fires (tracked via a Next_Due_Date__c field and rebuilt automation in Salesforce Flow), the resulting work order is created as a Case linked to the PM_Schedule__c record. The rebuild of the PM automation logic is scoped separately as a configuration task.

  • Labor and parts line items merge into custom summary fields on Case

    Novo work orders support multiple labor entries (technician, hours, date) and parts entries (part number, quantity, cost) per work order. Salesforce Case has no native sub-object for labor or parts lines — CaseLineItem is not available in standard Sales Cloud. FlitStack merges labor entries into Total_Labor_Hours__c (sum) and Labor_Cost__c (sum) custom currency fields on Case. If individual line-item audit is required for union agreements or grant reporting, we create a Work_Order_Labor__c custom object with a lookup to Case and the same fields Novo stores per entry. Parts follow a similar pattern with Work_Order_Parts__c or a JSON blob in Parts_JSON__c depending on whether a parts catalog (Product2) exists in Salesforce.

  • Novo department routing requires manual Salesforce Queue setup

    Novo uses Departments with routing rules to assign work orders to teams. Salesforce handles team-based assignment via Queues and the Case Department field. FlitStack creates one Salesforce Queue per Novo Department and a custom Department__c pick-list field on Case for reporting. However, the routing logic (which department handles which request type, based on what conditions) must be rebuilt in Salesforce Flow — FlitStack exports the Novo department-to-request-type routing rules as a JSON configuration file so the Salesforce admin can recreate the assignment logic in Flow or Omni-Channel routing.

  • Attachment re-upload to Salesforce Files changes the share model

    Novo stores file attachments directly on work order records with access tied to the work order's visibility. When migrated to Salesforce, attachments re-upload as Salesforce Files (ContentDocument/ContentVersion) and are linked via ContentDocumentLink. The share model for Salesforce Files defaults to the file owner's access — shared to the record but not automatically inheriting the Case's sharing rules for all users. FlitStack sets the ContentDocumentLink to 'V' (Inferred Share) so viewers of the Case can access the file, but your Salesforce admin should verify that sensitive inspection photos or permit documents have the correct org-wide sharing settings before go-live.

Migration approach

Six steps for a successful Novo Work Order to Salesforce Sales Cloud data migration

  1. Inventory Novo data model and export via API

    FlitStack connects to Novo Work Order via its REST API to pull the full data model — work orders, assets, locations, departments, preventive maintenance records, and custom fields. We generate a data inventory report listing record counts per object, custom field names and types, attachment counts and total file size, and technician/user records. This report drives the scope assessment and confirms the migration estimate before any data moves.

  2. Design Salesforce schema: Case vs. Work_Order__c, PM_Schedule__c, queues

    Based on the data inventory, FlitStack delivers a Salesforce schema setup plan. If Novo work orders have fewer than 10 custom fields, we recommend standard Case with custom fields. If the custom field count exceeds 10, we recommend Work_Order__c as a custom object with master-detail to Case. We also specify PM_Schedule__c field definitions, Queue names per Novo Department, and any custom pick-list values for the Department__c field. Your Salesforce admin creates the schema in a sandbox before the migration dry run.

  3. Resolve technicians and departments by email

    Novo technician records are matched to Salesforce Users by email address. Unmatched technicians are flagged in a pre-migration report — your team either creates Salesforce User accounts for them or assigns their records to a fallback owner. Departments are mapped to Salesforce Queues created in Step 2. FlitStack generates the Queue membership list from Novo department membership data so the Queues are pre-populated before migration.

  4. Run sample migration with field-level diff

    A representative slice of 200–500 records migrates first — spanning work orders at each status, assets with and without PM records, and attachments. FlitStack generates a field-level diff comparing source values to destination values for every mapped field. You verify that Novo status values map correctly to Salesforce Status, priority mapping is accurate, technician assignment resolves, and asset links populate. The diff report is reviewed in a sync call before the full run is scheduled.

  5. Execute full migration with delta-pickup window

    The full migration loads Accounts (from Novo locations) first, then Assets, then Cases (or Work_Order__c records), then PM_Schedule__c, then Case Comments and Salesforce Files. A delta-pickup window of 24–48 hours after the full run captures any records modified in Novo during the cutover. All operations are logged to an audit trail. If reconciliation reveals missing or mismatched records, FlitStack triggers a one-click rollback to the pre-migration state and re-runs the affected object.

Platform deep dives

Context on both ends of the pair

Novo Work Order logo

Novo Work Order

Source

Strengths

  • Links work orders directly to physical assets and equipment for full maintenance history
  • Multi-department routing handles municipal organizational structures out of the box
  • Preventative maintenance scheduling reduces reactive repairs on infrastructure
  • Custom fields, forms, and workflows adapt to municipal compliance and reporting requirements
  • Mobile app allows field technicians to update work order status and log labor from the job site

Weaknesses

  • No public API documented — migration depends on built-in export functions and support coordination
  • Pricing is opaque — no self-service quotes, free tier, or published per-seat cost
  • Designed for municipal government use cases — lacks commercial field service contract and SLA features
  • Limited third-party integrations compared to modern FSM platforms
  • Reporting and analytics are built-in dashboards rather than a queryable data warehouse
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 Novo Work Order and Salesforce Sales Cloud.

  • Object compatibility

    B

    2 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

    Novo Work Order: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Novo Work Order to Salesforce Sales Cloud 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 Novo Work Order to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during Novo Work Order to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Novo Work Order to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Novo Work Order to Salesforce migrations complete in 48–72 hours of clock time for under 25,000 work order records. Larger municipalities with 100,000+ records or custom PM_Schedule__c object setup extend to 5–10 days. The schema design step (Step 2) is typically the longest planning phase — Salesforce admin availability for creating custom objects, queues, and pick-list values drives the timeline before data moves.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Novo Work Order.
Land in Salesforce Sales Cloud, 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