CRM migration
Field-level mapping, validation, and rollback between Field Squared and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Field Squared
Source
Odoo CRM
Destination
Compatibility
14 of 14
objects map 1:1 between Field Squared and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Field Squared is a field service automation platform centered on work orders, scheduling, dispatch, and asset tracking. Its data model treats contacts and companies as secondary entities attached to service tasks. Odoo CRM inverts this — leads and opportunities are the primary objects, with tasks and projects as secondary structures. We map Field Squared work orders to Odoo project tasks, Field Squared assets to Odoo products or maintenance records, and Field Squared scheduling data to Odoo calendar activities. Contacts and companies migrate to Odoo's res.partner model with address, phone, and email preserved. Field Squared custom fields extend into Odoo's ir.model.fields framework. Workflows, dispatch rules, and GPS tracking logic do not migrate — those must be rebuilt in Odoo using its automation rules and action buttons. We sequence the migration so foreign-key dependencies (partners before tasks, projects before subtasks) resolve correctly before commit. We validate field content against Odoo constraints during staging, and we preserve original create_date and write_date timestamps to maintain audit continuity in the destination system.
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 Field Squared object lands in Odoo CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Field Squared
Contact
Odoo CRM
res.partner
1:1Field Squared contacts map directly to Odoo res.partner records. The company_id field on a Field Squared contact resolves to the parent res.partner with type='company'. Email, phone, and address fields migrate as-is; partner_latitude/longitude drop if no destination equivalent exists. We validate email formats against Odoo constraints before import.
Field Squared
Company
Odoo CRM
res.partner (company type)
1:1Field Squared companies map to Odoo res.partner with type='contact' and is_company=True. Domain/website, industry, and employee count migrate to website, industry, and employee_count fields. Parent-company hierarchy in Field Squared maps to parent_id on res.partner — circular references flagged before migration. Industry values that lack an Odoo counterpart are migrated as custom selection options.
Field Squared
Task (Work Order)
Odoo CRM
project.task
1:1Field Squared tasks are the core work-order entity. They map to Odoo project.task records. The task.name becomes project.task.name. TaskType values (Delivery, Service) map to project.task tags or a custom stage category since Odoo has no native TaskType. ScheduledStart/ScheduledEnd migrate as date_deadline and planned_hours_start; these require the project module active in Odoo.
Field Squared
Task status
Odoo CRM
project.task stage
1:1Field Squared task statuses (Not Started, In Progress, Completed) map to Odoo project.task.stage values. Each Field Squared status value maps one-to-one against a named Odoo stage. Stage probabilities are re-applied on the Odoo side based on the destination stage configuration.
Field Squared
Task assignment / owner
Odoo CRM
project.task user_id
1:1Field Squared task owner_id resolves by email match against Odoo res.users. Unmatched owners are flagged as warnings before migration. The migration assigns their tasks to a fallback Odoo user or leaves user_id empty for manual reassignment — your team chooses the fallback rule during planning.
Field Squared
Custom Fields (Task extension)
Odoo CRM
project.task custom fields
1:1Field Squared custom fields on tasks (configured in App Builder) migrate to Odoo project.task custom fields. Each custom field requires a corresponding ir.model.fields entry in Odoo before migration. Field types map: text→char, number→float, date→date, checkbox→boolean, selection→selection. Pick-list values on selection fields map value-by-value.
Field Squared
Asset (Equipment)
Odoo CRM
product.product or maintenance.equipment
1:1Field Squared assets from the Asset Management tier map to Odoo maintenance.equipment records if the Odoo Maintenance module is activated. Asset name, serial number, and location migrate as equipment_name, serial_no, and location_id. If Maintenance is not active, assets migrate as product.product records with a custom asset_tag field for reference.
Field Squared
Document / Attachment
Odoo CRM
ir.attachment
1:1Field Squared document records (images, PDFs, files attached to tasks or assets) re-upload to Odoo's ir.attachment table linked to the corresponding project.task or maintenance.equipment record. File size limits apply: Odoo defaults to 25MB per file; larger files require Odoo configuration changes.
Field Squared
Engagement (Call/Email/Meeting)
Odoo CRM
mail.message / calendar.event
1:1Field Squared engagement logs on tasks migrate as mail.message records on the corresponding project.task in Odoo. Call logs, emails, and meeting records preserve original timestamps and author_id. If Field Squared stores structured meeting data (start/end), these map to calendar.event with the project.task linked as activity_id.
Field Squared
Custom Objects
Odoo CRM
Custom Odoo models (ir.model)
1:1Field Squared custom objects (built via App Builder) map to Odoo custom models. Odoo requires the custom model to be pre-created via Settings > Technical > Models before data lands. Relationships between custom objects translate to Odoo many2one, one2many, or many2many fields depending on the source cardinality.
Field Squared
Workflow / Automation rules
Odoo CRM
Not migratable
1:1Field Squared automation rules (routing logic, status-change triggers, notification rules) do not have an Odoo equivalent at the data level. These must be rebuilt in Odoo using Studio automation rules or base.automation. We export the Field Squared automation definitions as a JSON reference document for your Odoo admin.
Field Squared
GPS tracking history
Odoo CRM
Not migratable
1:1Field Squared GPS tracking logs (technician locations, route history) are operational telemetry with no Odoo CRM equivalent. The raw coordinate data can be exported as a reference file but cannot be rendered inside Odoo without custom development. Odoo's geoengine module can display addresses but not live tracking history.
Field Squared
Integration connections
Odoo CRM
Must be rebuilt
1:1Field Squared integrations with QuickBooks, Salesforce, Oracle, Dropbox, Google Drive, Paycom, and Box do not migrate. Each integration must be re-established in Odoo using Odoo's connector framework or third-party middleware. We document the integration endpoints and authentication credentials from Field Squared for reference during rebuild.
Field Squared
Reports and dashboards
Odoo CRM
Not migratable (data underlying them does migrate)
1:1Field Squared custom reports and dashboard widgets do not transfer to Odoo. The underlying data — work orders, tasks, contacts, assets — migrates fully, so Odoo reporting tools can reconstruct equivalent views. We export Field Squared report definitions as JSON for reference when rebuilding in Odoo Reports or custom SQL views.
| Field Squared | Odoo CRM | Compatibility | |
|---|---|---|---|
| Contact | res.partner1:1 | Fully supported | |
| Company | res.partner (company type)1:1 | Fully supported | |
| Task (Work Order) | project.task1:1 | Fully supported | |
| Task status | project.task stage1:1 | Fully supported | |
| Task assignment / owner | project.task user_id1:1 | Fully supported | |
| Custom Fields (Task extension) | project.task custom fields1:1 | Fully supported | |
| Asset (Equipment) | product.product or maintenance.equipment1:1 | Fully supported | |
| Document / Attachment | ir.attachment1:1 | Fully supported | |
| Engagement (Call/Email/Meeting) | mail.message / calendar.event1:1 | Fully supported | |
| Custom Objects | Custom Odoo models (ir.model)1:1 | Fully supported | |
| Workflow / Automation rules | Not migratable1:1 | Fully supported | |
| GPS tracking history | Not migratable1:1 | Fully supported | |
| Integration connections | Must be rebuilt1:1 | Fully supported | |
| Reports and dashboards | Not migratable (data underlying them does migrate)1: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.
Field Squared gotchas
Automation Rules and Dashboard configurations lack public API access
No dedicated Customers API—contact data extracted from Work Orders
Batch document migration requires array-based payload construction
Odoo CRM gotchas
Odoo.sh version gating blocks assisted migrations from trial
Enterprise modules fail to install on Community after database restore
Custom module view inheritance breaks between Odoo major versions
Custom fields risk losing their application context on Community
API access for Community is gated behind the Custom Plan
Pair-specific challenges
Migration approach
Assess Field Squared data volume and schema completeness
FlitStack AI runs a pre-migration scan against your Field Squared instance via the REST API. We export a full object inventory — contact count, company count, task/work-order volume, asset register size, custom field definitions, and TaskType values. This scan identifies which Field Squared tiers are active (FSM, EAM), which custom fields exist on each object, and which integration connections are configured. The output is a migration scope document that your team reviews before we begin.
Prepare Odoo destination schema before data arrives
Before any data moves, your Odoo admin (or our team with admin credentials) activates the project module, the maintenance module (if assets are in scope), and creates the custom fields identified in the pre-migration scan. We deliver a step-by-step Odoo setup checklist covering: custom field creation in Settings > Technical > Fields, project.task stage configuration, tag records for TaskType mapping, and user provisioning so owner-email resolution works. The Odoo side must be ready before validation runs.
Resolve owners and users by email match
Field Squared task owners, asset technicians, and contact owners are resolved by email against Odoo res.users. We run an email-match audit before migration: matched users map directly; unmatched owners are flagged as warnings with their Field Squared record counts. Your team either invites the unmatched users to Odoo before migration or designates a fallback owner. No record lands in Odoo without a resolved owner or an explicit fallback assignment per your choice.
Run a sample migration with field-level diff
A representative slice migrates first — typically 100–500 records spanning contacts, companies, work orders, and a few assets. We generate a field-level diff between the Field Squared source and the Odoo destination so you can verify TaskType→tag mapping, asset→maintenance.equipment mapping, and owner resolution before the full run commits. Any custom fields missing in Odoo surface here with their record counts.
Execute full migration with delta-pickup window
The full migration runs against Odoo with the project and maintenance modules active and all custom fields pre-created. A delta-pickup window (typically 24–48 hours) captures any Field Squared records modified or created during the cutover. The audit log records every create and update operation. One-click rollback is available if reconciliation fails — FlitStack AI reverts the Odoo instance to its pre-migration state without data loss.
Platform deep dives
Field Squared
Source
Strengths
Weaknesses
Odoo 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 Field Squared and Odoo 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
Field Squared: Not publicly documented.
Data volume sensitivity
Field Squared exposes a bulk API — large-volume migrations stream efficiently.
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 Field Squared to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Field Squared to Odoo 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 Field Squared
Other ways to arrive at Odoo 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.