CRM migration
Field-level mapping, validation, and rollback between LocaliQ and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
LocaliQ
Source
Odoo CRM
Destination
Compatibility
14 of 17
objects map 1:1 between LocaliQ and Odoo CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
LocaliQ and Odoo CRM operate on fundamentally different data architectures. LocaliQ stores lead records in Dash with AI-scored attributes, lifecycle stages, and multi-channel engagement history, while Odoo CRM follows a Lead-to-Contact conversion model with separate crm.lead and res.partner objects. The LocaliQ API surfaces a Contacts endpoint and a Contact Interactions endpoint (HIPAA-compatible, CRM-purpose) with call transcripts and form data, but no publicly documented bulk-export schema exists. We coordinate authenticated API access on behalf of the customer and supplement with structured dashboard exports for fields not accessible via API. Custom fields on LocaliQ leads (Dash AI scores, industry verticals, campaign sources) require pre-creation of Odoo custom fields before migration. Marketing automation workflows, AI agent configurations, and business listings do not migrate as functional systems; we deliver a written inventory of these elements for the customer's admin to rebuild at the destination.
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 LocaliQ 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.
LocaliQ
Lead (Dash)
Odoo CRM
crm.lead
1:1LocaliQ Dash leads map to Odoo crm.lead (the Lead object). We extract lead records via the LocaliQ Contacts API with AI scoring attributes (Dash score, lifecycle stage, engagement timestamps) preserved in custom fields on the Odoo lead. Dash source channels (call, form, chat, SMS) migrate to Odoo's lead_type and lead_ids source tracking. The customer may optionally run Odoo's Lead-to-Contact wizard post-migration to convert qualified leads; we document this as a post-migration step rather than performing mass conversion during migration.
LocaliQ
Contact
Odoo CRM
res.partner
1:1LocaliQ Contacts map to Odoo res.partner records. Standard fields (name, email, phone, address) map directly. LocaliQ custom contact properties (industry, company size, acquisition channel) migrate as Odoo custom fields on res.partner. Contact-company relationships from LocaliQ map to res.partner parent_id (contact under company) or remain standalone contacts in Odoo depending on the customer's chosen Odoo partner hierarchy model.
LocaliQ
Company/Account
Odoo CRM
res.partner (company type)
1:1LocaliQ Companies map to Odoo res.partner records with the company_type flag set to company. We use the company name as the partner name, website, and dedupe key. Custom company properties migrate to Odoo res.partner custom fields. The company-contact relationship graph is preserved by setting child contact records to reference the parent company partner via parent_id. Odoo allows both individual contacts and company partners in a single table, unlike platforms with separate Contact and Account objects.
LocaliQ
Pipeline Stage
Odoo CRM
crm.stage
lossyDash pipeline stages (lead, qualified, proposal, negotiation, won, lost) map to Odoo crm.stage records. We preserve stage ordering via Odoo's sequence field and assign stages to the relevant crm.team. Custom stage names and probability percentages (where Dash provides them) migrate to Odoo stage properties. Stage probability settings in Odoo control automated revenue forecasting, so we align Odoo stage probabilities with the original Dash stage progression percentages.
LocaliQ
Campaign
Odoo CRM
crm.tag or utm.mixin
lossyLocaliQ campaigns map to Odoo crm.tag records for simple tagging use cases, or to Odoo's utm.mixin tracking fields (utm_source, utm_medium, utm_campaign) on crm.lead and res.partner. The mapping approach depends on whether the customer uses Odoo's native UTM tracking for marketing attribution or relies on campaign tags for reporting. We confirm the preferred approach during scoping and configure UTM campaigns in Odoo before migration if the customer selects the UTM approach.
LocaliQ
Engagement: Call
Odoo CRM
crm.phonecall
1:1LocaliQ call records (sourced from the Contact Interactions API which includes call recording URLs and transcripts) map to Odoo crm.phonecall. We preserve call duration, disposition, recording URL, and timestamp. Odoo's crm.phonecall model is part of the CRM app and can be linked to the related crm.lead or res.partner via the partner_id field. Call outcomes from LocaliQ (connected, voicemail, missed) map to Odoo's call_duration and state fields.
LocaliQ
Engagement: Email
Odoo CRM
mail.message
1:1LocaliQ email engagement records map to Odoo mail.message records linked to the related crm.lead or res.partner. Email subject, body (plain text or HTML), sender, and recipient migrate. The LocaliQ Contact Interactions API provides email transcripts and form submissions which migrate as mail.message records with subtype note. Odoo's mail_thread model on res.partner and crm.lead provides the activity timeline for displaying these records.
LocaliQ
Engagement: Meeting
Odoo CRM
calendar.event
1:1LocaliQ meeting engagements map to Odoo calendar.event records. Meeting title, start and end times, location, and attendee list migrate. Odoo's calendar integration links events to crm.lead or res.partner via the partner_ids field. Recurring meeting series are not preserved as recurring patterns; each instance migrates as an individual calendar.event record.
LocaliQ
Engagement: Note
Odoo CRM
note.note
1:1LocaliQ notes associated with leads or contacts map to Odoo note.note records. We link notes to the related crm.lead or res.partner via the res_id and model fields. Note body, creation date, and author migrate. If LocaliQ stores notes as rich text with attachments, the attachment URLs migrate as text references for manual retrieval rather than as Odoo attachments.
LocaliQ
Engagement: Task
Odoo CRM
project.task or note.note
1:1LocaliQ task records (follow-up actions, reminders) map to Odoo project.task records under the customer's default project if Odoo Project is installed, or to note.note records if Project is not in scope. Task status, priority, due date, and assignee migrate. Assignee mapping resolves LocaliQ owner email to Odoo res.users login for task ownership.
LocaliQ
Custom Fields
Odoo CRM
ir.model.fields (custom)
lossyLocaliQ custom fields on leads, contacts, and companies require pre-creation in Odoo before migration. We inventory all custom fields from LocaliQ (Dash AI scores, industry verticals, campaign sources, acquisition channels, custom scoring attributes) and create corresponding custom fields on the crm.lead and res.partner models in Odoo using the Settings > Technical > Database Structure > Fields interface or via CSV import. Field data types map from LocaliQ (text, number, date, dropdown) to Odoo field types (char, float, datetime, selection). The crm_custom_fields Odoo module (available on the Apps Store) can automate Lead-to-Contact custom field propagation if the customer converts leads post-migration.
LocaliQ
Product
Odoo CRM
product.product
1:1LocaliQ products referenced in leads or campaigns map to Odoo product.product records. Product name, SKU, description, and list price migrate. We create the product in Odoo before lead migration if products are linked to leads, so that the product.product records exist as valid foreign keys.
LocaliQ
AI Agent Configuration
Odoo CRM
Configuration Inventory (no migration)
1:1LocaliQ Dash AI agent configurations (Voice greeting scripts, SMS templates, chat routing rules, agent availability schedules) are platform-native settings that do not have a migration path to Odoo CRM. Odoo does not include a native multi-channel AI agent module in its base CRM. We document the full agent configuration (greeting text, routing logic, business hours, SMS templates) in a written handoff document for the customer's admin to evaluate Odoo-compatible third-party telephony and chat integrations (Odoo's VoIP module, Twilio, or a partner AI agent app). Migration of agent configurations is out of scope.
LocaliQ
Marketing Automation Workflow
Odoo CRM
Automation Inventory (no migration)
1:1LocaliQ automation sequences and trigger conditions do not migrate as functional code. Odoo CRM includes basic stage automation and server actions, but these are not equivalent to LocaliQ's event-triggered workflow builder. We deliver a written inventory of every active LocaliQ workflow with its trigger condition, action sequence, delay steps, and enrollment criteria, mapped to Odoo automated action equivalents where applicable. The customer's admin rebuilds workflows in Odoo using IrActionsServer, base.automation, or a certified Odoo partner.
LocaliQ
Business Listings
Odoo CRM
Listing Inventory (no migration)
1:1LocaliQ multi-directory citation data (listing details, verification status, citation URLs across 100+ directories) exports as a static record inventory. The syndication mechanism does not transfer: Odoo has no native directory syndication module, and listings must be re-verified at each platform individually. We deliver the complete listing inventory with directory URLs, verification status, and citation text so the customer's team can re-claim and update listings at the destination. Migration of live syndication connections is out of scope.
LocaliQ
Review
Odoo CRM
note.note or custom model
1:1LocaliQ review data (ratings, content, dates, response history) migrates as a reference inventory linked to the related company partner record. Review content and metadata export as structured records; the native review-response workflow does not replicate in Odoo CRM. We link review records to the corresponding res.partner via a custom Many2many field or note attachment, and the customer's team manages review responses manually or through a dedicated reputation management tool post-migration.
LocaliQ
Ad Account Connection
Odoo CRM
External Integration Inventory
1:1LocaliQ references to connected Google Ads and Yelp Ads accounts (campaign IDs, account metadata, attribution settings) are documented as a written integration inventory. Odoo does not include native Google Ads or Yelp sync; re-authentication of ad platform integrations happens directly in the destination platform (Google Ads, Yelp Dashboard, or a third-party Odoo connector). We provide the account connection metadata so the customer's team can re-establish integrations post-migration.
| LocaliQ | Odoo CRM | Compatibility | |
|---|---|---|---|
| Lead (Dash) | crm.lead1:1 | Fully supported | |
| Contact | res.partner1:1 | Fully supported | |
| Company/Account | res.partner (company type)1:1 | Fully supported | |
| Pipeline Stage | crm.stagelossy | Fully supported | |
| Campaign | crm.tag or utm.mixinlossy | Fully supported | |
| Engagement: Call | crm.phonecall1:1 | Fully supported | |
| Engagement: Email | mail.message1:1 | Fully supported | |
| Engagement: Meeting | calendar.event1:1 | Fully supported | |
| Engagement: Note | note.note1:1 | Fully supported | |
| Engagement: Task | project.task or note.note1:1 | Fully supported | |
| Custom Fields | ir.model.fields (custom)lossy | Mapping required | |
| Product | product.product1:1 | Fully supported | |
| AI Agent Configuration | Configuration Inventory (no migration)1:1 | Fully supported | |
| Marketing Automation Workflow | Automation Inventory (no migration)1:1 | Fully supported | |
| Business Listings | Listing Inventory (no migration)1:1 | Mapping required | |
| Review | note.note or custom model1:1 | Fully supported | |
| Ad Account Connection | External Integration Inventory1: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.
LocaliQ gotchas
Performance guarantees excluded from termination rights
No publicly documented bulk-export API
Data transmitted unencrypted over the API
Campaign pause authority is discretionary
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
Discovery and LocaliQ API access coordination
We audit the LocaliQ account across Dash lead volume, contact count, company records, campaign metadata, engagement history (calls, emails, meetings, tasks), custom field inventory, AI agent configuration scope, active workflow list, and business listing count. Simultaneously, we coordinate authenticated API access with LocaliQ on behalf of the customer, initiating the support request for API credentials and Corp Portal access if not already provisioned. We assess Odoo CRM edition (Essential at $25/user for base CRM, Standard at $50/user for sales automation, Professional at $95/user for full CRM features) and confirm whether the Custom plan is needed for external API access. The discovery output is a written migration scope, a LocaliQ data extraction plan, and an Odoo edition recommendation.
Odoo schema setup and custom field creation
We configure the destination Odoo CRM schema before any data migration. This includes creating crm.lead custom fields to mirror LocaliQ Dash AI scoring attributes and lifecycle stages, creating res.partner custom fields for LocaliQ contact properties, configuring crm.stage pipeline stages mapped from Dash stages with correct probability percentages, setting up crm.team (sales team) records to match LocaliQ user assignments, and installing the crm_custom_fields module from the Odoo Apps Store if the customer plans to run Lead-to-Contact conversions post-migration. Schema setup deploys to a staging database first for validation before production migration begins.
LocaliQ data extraction via authenticated API and dashboard exports
We extract data from LocaliQ using the authenticated API (Contacts endpoint, Contact Interactions endpoint for call and email history, Lead Details endpoint) supplemented by dashboard exports for any API coverage gaps. Dashboard exports capture campaign metadata, AI agent configurations, listing data, and review history in structured CSV format. We apply the extraction results against the LocaliQ API rate limits (documented per-endpoint in LocaliQ's API reference) and handle pagination across large result sets. A full data snapshot is captured before any cancellation or pause request is submitted to LocaliQ.
Staging migration and reconciliation
We run a full migration into the Odoo staging database using production-like data volume extracted from LocaliQ. The customer reconciles record counts (Leads in, Contacts in, Partners in, Activities in), spot-checks 25-50 random records against the LocaliQ source (field-level verification of AI scores, stage names, engagement timestamps), and validates that Odoo's Lead-to-Contact conversion works correctly with the crm_custom_fields module. Any mapping corrections (field type mismatches, stage name discrepancies, custom field omissions) happen in staging before production migration begins.
Owner and user reconciliation
We extract every distinct LocaliQ user referenced on lead, contact, and engagement records and match by email against the Odoo destination's res.users table. Any LocaliQ owner without a matching Odoo user is added to a reconciliation queue for the customer's Odoo admin to provision before production migration. Odoo user creation (active or deactivated status based on whether the original LocaliQ user is still active) must complete before record import resumes because owner_id references are required on crm.lead and res.partner records.
Production migration in dependency order
We run production migration in record-dependency order: Odoo users (validated), product.product records (if products are linked to leads), res.partner records for companies (with company_type = company), res.partner records for contacts (with parent_id referencing the company partner where applicable), crm.lead records (with custom field values from LocaliQ Dash), crm.stage pipeline configuration (validated), crm.phonecall and mail.message engagement history (via Odoo XML-RPC with rate-limit throttling at approximately 1 call per second), calendar.event records, and note.note records. Each phase emits a row-count reconciliation report before the next phase begins. A final delta migration captures any records modified during the migration window after the initial snapshot.
Cutover, validation, and automation rebuild handoff
We freeze LocaliQ write access during cutover (the customer submits cancellation or pause request to LocaliQ), run the final delta migration, then enable Odoo CRM as the system of record. We deliver the AI Agent Configuration inventory, Marketing Automation Workflow inventory, Business Listing reference sheet, and Ad Account Integration reference to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild LocaliQ workflows as Odoo automated actions inside the migration scope; that work is documented and handled by the customer's admin or an Odoo certified partner as a separate engagement.
Platform deep dives
LocaliQ
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 LocaliQ and Odoo CRM.
Object compatibility
2 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
LocaliQ: Not publicly documented.
Data volume sensitivity
LocaliQ 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 LocaliQ to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your LocaliQ 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 LocaliQ
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.