CRM migration
Field-level mapping, validation, and rollback between Mekari Qontak and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Mekari Qontak
Source
Odoo CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Mekari Qontak and Odoo CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Mekari Qontak to Odoo CRM is a migration from an Indonesia-centric omnichannel platform built around WhatsApp Business API to an open-source modular ERP whose CRM module is one component of a broader business suite. Qontak's unified inbox, channel-attributed conversations, and broadcast quota model have no direct Odoo equivalent, so we map channel history to Odoo Opportunities and document the channel attribution separately for admin review. We handle the HMAC-authenticated Qontak API export, resolve the WhatsApp Business API offboarding requirement with [email protected] before cutting off message history access, and migrate Deals to Odoo Opportunities with pipeline stage probabilities preserved. Chatbot flow definitions, Qontak workflow automations, and broadcast campaign history do not migrate as code or records; we deliver a written flow map and automation inventory for the customer's Odoo admin to rebuild in Odoo Studio or Python-based server actions.
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 Mekari Qontak 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.
Mekari Qontak
Contact
Odoo CRM
Contact
1:1Qontak Contacts map to Odoo CRM Contacts with name, phone, email, and custom properties preserved. Qontak's role-based channel allocation (Supervisor, Agent assignments) migrates as a custom contact field rather than a native Odoo role object. Email and phone normalization happens during transform to match Odoo's required field formats. Any Qontak contact without an email or phone receives a placeholder contact_info field for admin review.
Mekari Qontak
Company
Odoo CRM
Company / Partner
1:1Qontak Companies map to Odoo Partner records with the Company Type = Company flag set. Qontak's company-level custom properties migrate to custom fields on the Partner. Company domain from Qontak becomes the Partner's website field and serves as the dedupe key during import to prevent duplicate company records.
Mekari Qontak
Deal
Odoo CRM
Opportunity
1:1Qontak Deals map to Odoo CRM Opportunities. The Qontak dealstage property maps to an Odoo Stage with probability percentage preserved. Pipeline assignment maps to an Odoo Sales Team and a Stage within that team. Closed-Won and Closed-Lost reasons from Qontak custom properties become Tags on the Opportunity in Odoo. We create the Odoo Stages before migration using the probability percentages from Qontak to ensure the pipeline reflects historical win/loss rates.
Mekari Qontak
Deal Stage / Pipeline
Odoo CRM
Stage + Sales Team
lossyEach Qontak pipeline (Sales Suite or Qontak 360 tier) becomes an Odoo Sales Team with its own Stage sequence. Qontak stage probability values map to Odoo Stage probability percentages. If the customer uses multiple Qontak pipelines mapped to different business units, we configure corresponding Odoo Sales Teams so that deal assignment remains scoped per team.
Mekari Qontak
Ticket
Odoo CRM
Ticket (Helpdesk app)
1:1Qontak Tickets map to Odoo Helpdesk Tickets if the customer enables the Odoo Helpdesk app alongside CRM. Ticket status values from Qontak's enumerated model map to Odoo Ticket Stage values. Custom ticket fields migrate to Odoo custom fields on the ticket model. If Helpdesk is not in scope, we map Tickets to Odoo Project Tasks with a 'Service' tag for classification.
Mekari Qontak
Contact List / Segment
Odoo CRM
Contact List
1:1Qontak Contact Lists and segmentation criteria are exported as list definitions with membership rules. We migrate static list membership as Odoo Contact Lists. Dynamic segment membership recalculates against migrated contact data post-import, not as historical membership; we document the original Qontak segment criteria for the admin to reconfigure as Odoo filters or saved filter groups.
Mekari Qontak
User / Agent
Odoo CRM
User
1:1Qontak agent records (name, email, role: Supervisor or Agent, channel allocation rules) map to Odoo User accounts. We match by email. Channel allocation rules from Qontak are preserved as a custom field on the Odoo User for admin reference; Odoo's native access rights groups (Sales / Administrator / Portal) are assigned based on the Qontak role.
Mekari Qontak
Chatbot Flow
Odoo CRM
Custom Documentation
lossyQontak chatbot flows are stored in Qontak-internal JSON schema and cannot be imported into Odoo CRM directly. We extract the full decision tree structure, including trigger conditions, branching logic, action nodes, and delay configurations, and document it as a written flow map with screenshots and JSON exports for the customer's Odoo admin or a chatbot implementation partner to rebuild using a third-party Odoo chatbot app or external platform.
Mekari Qontak
WhatsApp Template
Odoo CRM
Not Migrated
1:1Qontak-approved WhatsApp message templates are tied to the Qontak-hosted WABA account. Migrating templates requires either a new WhatsApp Business API registration in the destination platform or a porting request through Facebook Business Manager. We flag WABA number ownership and template inventory during scoping. If the customer intends to continue WhatsApp messaging via an Odoo-compatible WhatsApp Business API partner (e.g., Starfish, Twilio, or a Qontak alternative), we document the template names, categories, and content for re-registration under the new WABA.
Mekari Qontak
Workflow Automation
Odoo CRM
Not Migrated
lossyQontak automation rules (trigger conditions, action sequences, scheduled broadcasts) use a Qontak-specific workflow schema. We document every active automation with its trigger, conditions, actions, and recommended Odoo equivalent (server action, automated action, or Python code via Studio). The rebuild in Odoo is performed by the customer's Odoo admin or an Odoo implementation partner post-migration.
Mekari Qontak
Custom Properties
Odoo CRM
Custom Fields
1:1Qontak custom Contact and Deal properties are fully accessible via the Mekari API. We extract the full schema and migrate property values. Odoo field types require conversion: Qontak checkbox properties become Odoo Boolean fields, date properties become Odoo Date fields, and multi-select text becomes Odoo Char or dedicated selection fields depending on the option count. We create all custom fields via Odoo Studio or data migration script before record import.
Mekari Qontak
Attachment / Media
Odoo CRM
Attachment
1:1File attachments in Qontak conversations stored in the Qontak media CDN are downloaded during migration. We re-upload attachments to Odoo as IrAttachment records linked to the parent Contact, Company, or Opportunity via the corresponding res_model and res_id. Long-term media hosting in Odoo relies on Odoo's attachment storage configuration (database or file system) which the customer's IT team sets during Odoo installation.
| Mekari Qontak | Odoo CRM | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Company / Partner1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Deal Stage / Pipeline | Stage + Sales Teamlossy | Fully supported | |
| Ticket | Ticket (Helpdesk app)1:1 | Fully supported | |
| Contact List / Segment | Contact List1:1 | Fully supported | |
| User / Agent | User1:1 | Fully supported | |
| Chatbot Flow | Custom Documentationlossy | Fully supported | |
| WhatsApp Template | Not Migrated1:1 | Fully supported | |
| Workflow Automation | Not Migratedlossy | Fully supported | |
| Custom Properties | Custom Fields1:1 | Mapping required | |
| Attachment / Media | 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.
Mekari Qontak gotchas
WhatsApp Business API number offboarding requires manual support request
Broadcast quotas are enforced at account level, not campaign level
Marketing Messages API migration for WABA numbers registered after August 2025
Chatbot flow JSON is not portable between platforms
Frequent platform UI updates can rename or relocate export options
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 Qontak API audit
We audit the source Qontak account across plan tier (Broadcast, Sales Suite, Service Suite, Qontak 360), active Mekari API endpoints for each object (Contacts, Companies, Deals, Tickets, Custom Properties), HMAC credential validity, active chatbot flows, workflow automation inventory, WABA number status and MM API vs Cloud API usage, and broadcast quota headroom. We verify the current Qontak UI path for export options as a fallback when API coverage is incomplete. The discovery output is a written migration scope document listing every object to be migrated, held, or documented for admin rebuild.
Schema design and WABA offboarding coordination
We design the destination Odoo schema: CRM app stages aligned to Qontak dealstage values, Sales Teams configured per Qontak pipeline, custom fields created via Odoo Studio to match Qontak custom properties, Helpdesk app enabled and configured if Ticket migration is in scope, and User accounts provisioned for each Qontak agent. In parallel, we submit the WhatsApp Business API offboarding request to [email protected] and confirm the WABA release date. This is sequenced before the conversation history export so that WhatsApp thread data is captured before the API endpoint is revoked.
Sandbox migration and reconciliation
We run a full migration into an Odoo test database (or a separate Odoo instance spun up for validation) using production-like data volume. The customer's Odoo admin reviews record counts, spot-checks 20-30 records for field-level accuracy against the Qontak source, and signs off the schema and mapping before production migration begins. Any field type mismatches, missing Odoo stages, or custom field creation gaps are corrected in the sandbox, not in production.
User and Agent reconciliation
We extract every distinct Qontak agent (Supervisor and Agent roles) and match by email against the Odoo destination's User table. Any Qontak agent without a matching Odoo User goes to a reconciliation queue for the customer's admin to provision. Odoo access rights groups (Sales / Administrator / Portal) are assigned based on the Qontak role. Channel allocation rules from Qontak are preserved as a custom contact field rather than replicated as a native Odoo object.
Production migration in dependency order
We run production migration in record-dependency order: Companies (from Qontak Contact companies), Contacts (with email dedupe), Users (manual provisioning validated), Deals (to Odoo Opportunities with Stage, Sales Team, and probability preserved), Tickets (to Odoo Helpdesk Tickets or Project Tasks), Custom Properties (as Odoo custom fields), and conversation attachments (as IrAttachment records). Chatbot flows and workflow automations are not migrated; we deliver the documentation package separately. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze Qontak writes during cutover, run a final delta migration of any records modified during the migration window, then enable Odoo as the system of record. We deliver the chatbot flow map, automation inventory document, and WhatsApp template content list to the customer's Odoo admin. We support a five-day hypercare window where we resolve reconciliation issues raised by the customer's sales and service teams. We do not rebuild Qontak workflows as Odoo server actions or automated actions inside the migration scope; that is a separate engagement or an internal Odoo admin task.
Platform deep dives
Mekari Qontak
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 Mekari Qontak 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
Mekari Qontak: Not publicly documented by Qontak; enforced at account level for broadcast quotas.
Data volume sensitivity
Mekari Qontak 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 Mekari Qontak to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Mekari Qontak 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 Mekari Qontak
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.