CRM migration
Field-level mapping, validation, and rollback between ConSol and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
ConSol
Source
Odoo CRM
Destination
Compatibility
10 of 12
objects map 1:1 between ConSol and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
ConSol CM is built around tickets, cases, and IT service-level agreements. Odoo CRM centers on leads, opportunities, and pipeline stages. These are fundamentally different mental models, and the migration requires more than a field rename — it requires an object redesign. FlitStack AI maps ConSol's ticket records to Odoo helpdesk.ticket (or crm.lead if your team prefers a pure CRM approach). ConSol contacts and companies migrate to Odoo's res.partner using the contact-type field to distinguish companies from individuals. Work orders translate to Odoo project.task or stock.picking depending on whether they are service or inventory-related. Communication logs and internal notes land in Odoo's chatter on the relevant record, while file attachments re-upload to Odoo's ir.attachment storage. The harder translation is ConSol's SLA policies and auto-routing rules. Odoo has an SLA policy model in the helpdesk module, but ConSol's multi-tier assignment logic has no direct equivalent — we surface the gap as custom fields on the ticket and deliver an Odoo action-rule rebuild guide so your admin can reconstruct the routing logic after go-live. ConSol's BPM and process-automation rules do not migrate at all; they must be rebuilt using Odoo's Studio automated actions or the business process module. FlitStack delivers a structured export of every ConSol automation definition as a rebuild reference. The migration uses ConSol's REST API to export records in bulk, with a staged import into Odoo via XML-RPC. A delta-pickup window captures any ConSol records modified during the cutover so Odoo reflects the final state at switchover.
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 ConSol 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.
ConSol
ConSol Contact
Odoo CRM
res.partner
1:1ConSol stores contacts and companies as separate objects with a linking table. Odoo uses a single res.partner model where contacts and companies share the same table — ConSol contacts migrate as partners with partner_type='contact' and a link to the parent company partner.
ConSol
ConSol Company
Odoo CRM
res.partner (parent)
1:1ConSol company records map to Odoo res.partner entries with partner_type='company'. The parent_id field on child contact partners references the company partner, preserving ConSol's N:N contact-company relationship in Odoo's hierarchical parent-child model. Since Odoo supports only a single parent per contact, the primary company association is migrated first, with secondary associations preserved in custom fields or partner relationship entries for complete data fidelity.
ConSol
ConSol Ticket / Case
Odoo CRM
helpdesk.ticket
1:1ConSol ticket records map directly to Odoo helpdesk.ticket. The ticket number becomes the ticket name, description maps to description, priority maps via value-mapping to Odoo's priority field, and the assigned support team maps to team_id. ConSol SLA identifiers are stored in a custom field for rebuild reference.
ConSol
ConSol Ticket / Case
Odoo CRM
crm.lead (alternative)
1:1If your team does not deploy the Odoo helpdesk module and uses only CRM, ConSol tickets migrate to crm.lead with a custom field (cs_ticket_ref) preserving the original ConSol ticket number and a ticket_type='service' tag to distinguish service cases from sales leads.
ConSol
ConSol Work Order
Odoo CRM
project.task
1:1ConSol work orders translate to Odoo project.task records linked to a project record. The work order status maps to task stage via value-mapping; assigned team maps to project_id; due date maps to date_deadline. For on-site service work orders, the Odoo field service module (project_task_template) is the closer equivalent.
ConSol
ConSol Communication Log
Odoo CRM
mail.message (chatter) / crm.lead activity
many:1ConSol communication logs (emails, call notes, internal messages) are merged into Odoo's mail.message records attached to the target ticket or partner. Email-type logs map to Odoo mail.message with subtype='comment'; logged calls with duration map as Odoo CRM activities of type 'call' on the related partner or ticket record.
ConSol
ConSol Attachment / Document
Odoo CRM
ir.attachment
1:1ConSol file attachments and documents migrate to Odoo's ir.attachment table. The original file name, mime type, and binary content are preserved. Attachments are linked to the migrated record (helpdesk.ticket, res.partner, or project.task) via res_model and res_id fields. Files over Odoo's default 25MB limit are flagged before migration.
ConSol
ConSol SLA Policy
Odoo CRM
helpdesk.sla.policy (custom field fallback)
1:1ConSol SLA policies tracking response and resolution time against priority tier have no direct Odoo CRM equivalent without the helpdesk module. We preserve SLA policy names, threshold values (in hours), and stage targets as custom fields on helpdesk.ticket (or crm.lead). Your Odoo admin uses these as a rebuild guide for helpdesk.sla.policy after go-live.
ConSol
ConSol BPM / Workflow Rules
Odoo CRM
Odoo automated actions (Studio)
1:1ConSol workflow definitions, automated routing rules, and escalation triggers do not migrate. FlitStack AI exports every ConSol automation as a structured JSON document describing the trigger conditions, rule logic, and assigned actions — this serves as the functional specification for rebuilding in Odoo Studio automated actions.
ConSol
ConSol User / Owner
Odoo CRM
res.users
1:1ConSol support agents and owners resolve to Odoo res.users by email address match. Unmatched ConSol users are flagged before migration; your team either creates Odoo user accounts first or assigns their records to a fallback Odoo user. The original ConSol user ID is preserved in a custom field (source_user_id) on migrated records.
ConSol
ConSol Custom Objects / Fields
Odoo CRM
Custom fields on res.partner, helpdesk.ticket, project.task
1:1ConSol custom fields and any custom objects extend the standard objects in Odoo. Custom Char, Integer, and Boolean fields map directly to Odoo Char, Integer, and Boolean fields. Selection fields require value-by-value mapping to Odoo Selection fields. Many-to-many relationship fields in ConSol map to Odoo Many2many fields on the relevant model.
ConSol
ConSol Approval / Change Record
Odoo CRM
mail.message (audit trail)
many:1ConSol change management records and approval history log into Odoo's mail.message audit trail on the relevant ticket or project.task. Approval status transitions map as comment messages with the actor and timestamp so Odoo displays the audit trail in the chatter without requiring a dedicated change-management module.
| ConSol | Odoo CRM | Compatibility | |
|---|---|---|---|
| ConSol Contact | res.partner1:1 | Fully supported | |
| ConSol Company | res.partner (parent)1:1 | Fully supported | |
| ConSol Ticket / Case | helpdesk.ticket1:1 | Fully supported | |
| ConSol Ticket / Case | crm.lead (alternative)1:1 | Fully supported | |
| ConSol Work Order | project.task1:1 | Fully supported | |
| ConSol Communication Log | mail.message (chatter) / crm.lead activitymany:1 | Fully supported | |
| ConSol Attachment / Document | ir.attachment1:1 | Fully supported | |
| ConSol SLA Policy | helpdesk.sla.policy (custom field fallback)1:1 | Fully supported | |
| ConSol BPM / Workflow Rules | Odoo automated actions (Studio)1:1 | Fully supported | |
| ConSol User / Owner | res.users1:1 | Fully supported | |
| ConSol Custom Objects / Fields | Custom fields on res.partner, helpdesk.ticket, project.task1:1 | Fully supported | |
| ConSol Approval / Change Record | mail.message (audit trail)many: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.
ConSol gotchas
REST API documentation is fragmented across multiple moved URLs
Workflow automations and SLA rules are not API-accessible
Attachment extraction requires a secondary pipeline pass
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
Audit ConSol data model and automation exports
FlitStack AI connects to ConSol via API using scoped read access and exports all standard objects (contacts, companies, tickets, work orders, communication logs, attachments) plus any custom fields or custom objects. Simultaneously, we pull ConSol's BPM automation definitions and SLA policy configurations as structured JSON exports. This gives us the complete schema inventory — record counts, field types, pick-list values, and relationship cardinalities — before we write a single line of mapping logic.
Design Odoo target schema and resolve user mappings
We design the Odoo object model: res.partner for contacts and companies, helpdesk.ticket (or crm.lead) for tickets, project.task for work orders. We create any custom fields needed for ConSol SLA data and the source-system ID field. ConSol support agents and owners are matched to Odoo res.users by email; unmatched users are flagged so your team creates Odoo accounts or assigns records to a fallback owner before migration day.
Run a staged sample migration with field-level diff
A representative slice — typically 200–500 records spanning contacts, companies, tickets, work orders, and attachments — migrates into the Odoo staging database first. We generate a field-level diff comparing the ConSol source values against the Odoo destination fields, so you can verify SLA mapping, priority value translation, partner-parent resolution, and owner matching before the full run commits. You sign off on the diff before we proceed.
Execute full migration with ordered object sequence
The full migration runs in dependency order: res.partner (companies first, then contacts with parent_id references), helpdesk.ticket or crm.lead for tickets, project.task for work orders, mail.message for communication logs, and ir.attachment for files. This sequence respects Odoo's foreign-key constraints. FlitStack AI sequences the migration so foreign keys resolve correctly — companies land before contacts, contacts before tickets, tickets before their activity logs.
Delta pickup and audit log delivery
A 24–48 hour delta pickup window runs after the full migration, capturing any ConSol tickets, contacts, or work orders modified during the cutover window. All operations are logged in an audit CSV with source record ID, destination record ID, object type, field names changed, and timestamp. If reconciliation finds discrepancies, one-click rollback reverts the Odoo instance to pre-migration state. We deliver the ConSol automation export JSON alongside the audit log so your Odoo admin has everything needed to rebuild the routing rules in Odoo Studio.
Platform deep dives
ConSol
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between ConSol and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across ConSol and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between ConSol and Odoo CRM.
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
ConSol: Not publicly documented.
Data volume sensitivity
ConSol 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 ConSol to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your ConSol 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 ConSol
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.