CRM migration

Migrate from Wetroo CRM to Odoo CRM

Field-level mapping, validation, and rollback between Wetroo CRM and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.

Wetroo CRM logo

Wetroo CRM

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

75%

9 of 12

objects map 1:1 between Wetroo CRM and Odoo CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Wetroo CRM to Odoo CRM is a migration from a mobile-first WhatsApp-centric CRM with a thin API surface to a modular ERP-adjacent CRM with deep schema flexibility. Wetroo does not expose a bulk-export endpoint for Contacts, Companies, or Deals — we extract these via paginated API calls against their REST layer with API-key auth. Odoo stores Leads as crm.lead records that can be either unqualified Prospects or qualified Opportunities, with a formal Convert action separating the two states. We map Wetroo Leads to crm.lead (unqualified), Wetroo qualified Leads and Contacts to res.partner, and Wetroo Deals to crm.lead with type=opportunity and stage mapping. Drip marketing sequences, automation rules, and WhatsApp conversation threads do not migrate — we deliver written inventories for manual rebuild in Odoo's automation framework and WhatsApp Business API configuration respectively.

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

Wetroo CRM logo

Wetroo CRM

What's pushing teams away

  • Small businesses outgrow the feature set when they need advanced reporting, custom objects, or enterprise-grade permissions beyond 20 users.
  • API documentation is minimal — developers building custom integrations or extraction pipelines hit walls quickly with no public schema reference.
  • Lead attribution and pipeline reporting are adequate but not deep; teams used to analytics-forward CRMs find the reporting surface limiting.
  • Customer support quality varies; some reviews report good experience while others cite responsiveness issues when problems arise at scale.

Choosing

Odoo CRM logo

Odoo CRM

What's pulling them in

  • Teams choose Odoo CRM for its modular architecture — one base install with one-click app additions means they can adopt CRM alone and add accounting, inventory, or sales later as the business grows.
  • Small businesses pick Odoo because the Community edition is free and open-source, with no per-user or contact limits, allowing full evaluation before committing to a paid Enterprise tier.
  • The drag-and-drop Kanban pipeline and AI lead scoring are highlighted across G2 reviews as concrete features that make lead management faster and more visual than spreadsheet-based workflows.
  • Odoo's native integration with email, live chat, SMS, VoIP, and WhatsApp means inbound leads from multiple channels feed into a single pipeline without third-party middleware.
  • Companies in retail, supply chain, and construction value that Odoo's CRM module shares the same PostgreSQL database and UI as its ERP modules, eliminating data silos between sales and operations.

Object mapping

How Wetroo CRM objects map to Odoo CRM

Each row shows how a Wetroo CRM 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.

Wetroo CRM

Lead

maps to

Odoo CRM

crm.lead (type=lead)

1:1
Fully supported

Wetroo Leads map to Odoo crm.lead records with type=lead (unqualified prospect). We preserve source attribution (Facebook Lead Form, Google Data Extractor, manual entry) in a custom Char field on the Odoo crm.lead. The Wetroo lead score, if present, maps to odoo priority or a custom field. Lead status in Wetroo (new, contacted, qualified, lost) maps to Odoo's stage configuration, which we define during schema setup.

Wetroo CRM

Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

Wetroo qualified Contacts map to Odoo res.partner records. We preserve full contact details — name, phone, email, job title, lifecycle stage — in the partner fields. Address data (street, city, state, country, zip) maps to res.partner address fields. Custom fields on Wetroo Contacts require pre-creation in Odoo as ir.model.fields before import. res.partner is the primary person/account model in Odoo, distinct from the crm.lead model.

Wetroo CRM

Company

maps to

Odoo CRM

res.partner (company_type=company)

1:1
Fully supported

Wetroo Companies map to Odoo res.partner records with company_type=company. Company names become partner names; industry tags map to industry_id (a many2one to res.partner.industry). Address and billing data on Wetroo Companies map to res.partner address fields. Companies are created before Contacts so that the child_contact relationship to the parent company partner is satisfied at insert time.

Wetroo CRM

Deal

maps to

Odoo CRM

crm.lead (type=opportunity)

1:1
Fully supported

Wetroo Deals map to Odoo crm.lead with type=opportunity. The deal name becomes the Odoo lead name; deal value maps to Odoo expected_revenue and sometimes list_price depending on the pipeline configuration. Pipeline stage names map to Odoo stage definitions within the crm.stage model. Closed-Lost and Closed-Won deal outcomes map to Odoo's lost and won stage states.

Wetroo CRM

Pipeline and Stage

maps to

Odoo CRM

crm.stage

lossy
Fully supported

Wetroo pipeline configuration (stage names, order, win/loss states) is read via API and mapped to Odoo crm.stage records within the relevant team. We define each pipeline as an Odoo crm.team and assign stages to that team. Stage probability percentages migrate from Wetroo to Odoo stage probability values. Custom stages on Wetroo are recreated as Odoo stages during schema configuration.

Wetroo CRM

Activity (Call Logs via OBD endpoint)

maps to

Odoo CRM

crm.phonecall

1:1
Fully supported

Wetroo OBD call records are extracted via the /api/v1/?apirequest=obd_record endpoint. Each OBD record maps to an Odoo crm.phonecall record — call duration, disposition, caller number, timestamp, and linked partner. Odoo requires the crm_phonecall module (part of Odoo's extra-apps suite) to be installed; we confirm this is available in the destination Odoo version before migration.

Wetroo CRM

Activity (WhatsApp Messages)

maps to

Odoo CRM

mail.message (via Discuss/WhatsApp connector)

1:1
Fully supported

WhatsApp message threads are extracted from Wetroo's conversation API. We write message content, sender/receiver, timestamp, and message type as mail.message records linked to the res.partner record. Media attachments (images, documents) require a separate download step — we export them to cloud storage and provide re-upload instructions for the admin. Odoo's native WhatsApp Business API connector must be configured post-migration for ongoing message sync.

Wetroo CRM

Activity (Emails, Notes, Tasks, Events)

maps to

Odoo CRM

mail.message, crm.phonecall, calendar.event

1:1
Fully supported

Email activities migrate as mail.message records with subtype comment linked to the res.partner. Notes migrate as mail.message with subtype note. Tasks migrate as crm.phonecall or project.task depending on whether they are CRM-linked or project-scoped. Calendar events migrate as calendar.event with attendee data mapped to calendar.attendee records linked to the res.partner or crm.lead.

Wetroo CRM

Custom Fields (Leads, Contacts, Deals)

maps to

Odoo CRM

ir.model.field

lossy
Fully supported

Custom fields on Wetroo Leads, Contacts, and Deals require pre-creation in Odoo as ir.model.field entries before any data import. We create fields during schema setup using Odoo's ir.model.data API, matching Wetroo's field types (Char, Text, Integer, Float, Selection, Many2one, Date, DateTime) to their Odoo equivalents. Picklist and multi-select values on Wetroo become Selection or Char fields in Odoo; value-label mapping is applied during the transform step.

Wetroo CRM

Owner (User)

maps to

Odoo CRM

res.users

1:1
Fully supported

Wetroo user records (name, email, role, team assignment) map to Odoo res.users. We resolve owners by email match against the destination Odoo instance's User table. Any Wetroo owner without a matching Odoo user is held in a reconciliation queue for the customer's admin to provision before record import resumes, because OwnerId (user_id) references are required on crm.lead and res.partner.

Wetroo CRM

Tags

maps to

Odoo CRM

crm.tag

lossy
Fully supported

Wetroo lead and contact tags migrate to Odoo crm.tag records. We create the tag in Odoo during schema setup, then write crm.lead.tagrel records linking each lead or opportunity to its tags. Tags used for lead classification or segmentation in Wetroo map directly to Odoo's tag taxonomy, which appears in the Kanban pipeline view as filterable tag chips.

Wetroo CRM

Drip Sequences and Automation Rules

maps to

Odoo CRM

Not migrated (rebuild inventory only)

1:1
Fully supported

Wetroo drip sequences and sales automation cadences live in the automation layer with no exportable schema or API endpoint. We do not migrate them as code. We deliver a written inventory of every active sequence — trigger conditions, step types, delays, and contact list membership — that the customer's Odoo admin rebuilds using Odoo Studio, ir.actions.server, or a sales engagement module. The contact lists exported from Wetroo serve as the audience for rebuilding these sequences.

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.

Wetroo CRM logo

Wetroo CRM gotchas

High

No official bulk-export endpoint complicates migration extraction

High

Drip sequences and automation logic are not exportable

Medium

Seat-tier limits can cause billing surprises during team migration

Medium

WhatsApp message history requires separate extraction

Odoo CRM logo

Odoo CRM gotchas

High

Odoo.sh version gating blocks assisted migrations from trial

High

Enterprise modules fail to install on Community after database restore

Medium

Custom module view inheritance breaks between Odoo major versions

Medium

Custom fields risk losing their application context on Community

Low

API access for Community is gated behind the Custom Plan

Pair-specific challenges

  • Wetroo has no bulk-export endpoint for core CRM objects

    Wetroo's public API documents only the OBD call record endpoint and the webhook lead creation endpoint. There is no bulk-export endpoint for Contacts, Companies, Deals, Activities, or pipeline configurations. We work around this by issuing paginated API calls with API-key auth and iterating through record pages to extract each object type. This is slower than bulk export on platforms with proper export APIs, and it requires us to estimate total record counts during scoping by probing the pagination limits. We calibrate extraction timelines with a pre-migration probe against each endpoint before committing to a schedule.

  • WhatsApp conversation threads require separate extraction and re-attachment

    WhatsApp message history in Wetroo lives in the messaging layer and is accessed via a separate conversation API from the core CRM endpoints. We extract message content, sender/receiver, timestamp, and message type as structured records. Media attachments within WhatsApp threads require an additional download step, and files must be re-uploaded manually to Odoo's document management or the configured WhatsApp Business API connector post-migration. Odoo does not have a native WhatsApp conversation archive migration path, so this step adds a manual post-migration task for accounts with high WhatsApp volume.

  • Drip sequences and automation rules have no migration path and must be rebuilt

    Wetroo's drip marketing sequences, sales cadences, and automation rules are stored in an automation layer with no exposed schema and no API endpoint to export sequence definitions, step logic, or contact membership. We flag this during scoping and advise customers to document their sequences before migration begins. We export the contact lists and activity history that feed into those sequences, but the sequence logic itself cannot be moved. The customer's Odoo admin rebuilds these using Odoo Studio, ir.actions.server, or a third-party sales engagement module. We deliver a written inventory documenting each sequence for the admin to reference.

  • Odoo crm.lead Convert action creates a new Contact — historical context must be preserved before conversion

    Odoo CRM separates unqualified Leads (crm.lead with type=lead) from qualified Opportunities (crm.lead with type=opportunity). When a lead is converted in Odoo, the Convert action creates a res.partner Contact record and optionally links it to an Opportunity. Any notes, emails, or call logs attached to the original crm.lead before conversion can be orphaned in some Odoo versions if the Convert action does not carry the message history. We set the preserve_history flag in Odoo's crm.lead convert settings before migration so that historical messages carry forward, or we document the manual step for the admin to confirm post-convert.

  • Wetroo seat-tier limits may require a plan upgrade before full migration extraction

    Wetroo's per-user pricing enforces hard seat caps per tier: Pro allows 5 users, Business allows 20 users. If the migrating team exceeds the current plan's seat count, Wetroo may block additional user access or API calls until the plan is upgraded. We check user count against the current plan tier at scoping. If a seat upgrade is required, we flag it before extraction begins and pause the migration plan until the upgrade is processed. This is a pre-migration dependency, not a technical migration issue.

Migration approach

Six steps for a successful Wetroo CRM to Odoo CRM data migration

  1. Discovery and extraction probe

    We audit the Wetroo account for record counts across all object types (Leads, Contacts, Companies, Deals, Activities, call logs, WhatsApp messages), custom field definitions, pipeline configurations, and active user count. Since Wetroo has no bulk-export endpoint, we probe each paginated API endpoint to measure total pages, page size, and response consistency. We also document active drip sequences and automation rules during this phase so the customer has a record before extraction begins. The discovery output is a written migration scope, record-count estimate per object, and a Wetroo plan-tier compliance check.

  2. Odoo schema design and crm.stage configuration

    We design the destination Odoo CRM schema. This includes creating the necessary crm.team records (one per Wetroo pipeline), defining crm.stage values with names, sequence order, and probability percentages mapped from Wetroo, creating any custom fields on crm.lead and res.partner using Odoo's ir.model.field API, and configuring the crm.lead convert policy to preserve message history on conversion. Schema is deployed into an Odoo test database first. If the customer is on Odoo Online (SaaS), schema changes go through the Apps interface or the Odoo Studio UI; for Odoo.sh or self-hosted, we use the ORM directly.

  3. Extraction and transformation pipeline

    We build a scripted extraction pipeline using Wetroo's paginated REST API endpoints. We pull Leads, Contacts, Companies, Deals, and Activities in batch using the API key, apply field-level transformations (date format normalization, picklist value remapping, stage name alignment), and write to an intermediate CSV or JSON format. The extraction runs in cycles to handle pagination limits and any rate-throttling responses from Wetroo's API. We log record counts and null-field rates for each batch and surface any endpoint failures for retry before the staging migration begins.

  4. Sandbox staging migration and reconciliation

    We run a full migration into the customer's Odoo staging environment using the transformed data. We reconcile record counts for every object type — Leads in, Contacts in, Companies in, Deals in, Activities in — against the Wetroo extraction logs. The customer's admin spot-checks 25-50 records for field accuracy and data completeness, and reviews the crm.lead and res.partner records in Odoo's UI. Any mapping corrections are applied to the transform pipeline before the production migration runs. Pipeline stages and Kanban views are validated for correct ordering and probability values.

  5. User reconciliation and Owner provisioning

    We extract every distinct Wetroo owner (sales rep) referenced on Leads, Contacts, Deals, and Activities and match by email against the Odoo res.users table. Owners without a matching Odoo user are placed in a reconciliation queue. The customer's Odoo admin provisions the missing users (active or inactive depending on whether the original Wetroo rep is still employed) before production migration resumes. This step is a hard dependency because OwnerId (user_id) references on crm.lead are required fields in Odoo for proper activity assignment.

  6. Production migration and cutover

    We run the production migration in record-dependency order: Companies (res.partner company_type=company), Contacts (res.partner company_type=person linked to the company partner), Leads (crm.lead type=lead), Deals (crm.lead type=opportunity linked to partner), Activity history (mail.message, crm.phonecall, calendar.event), and Tags. Each phase emits a reconciliation report before the next phase begins. We freeze Wetroo writes during the cutover window, run a final delta migration of any records modified during the window, then enable Odoo as the system of record. We deliver the drip sequence and automation inventory document to the customer's admin for rebuild in Odoo Studio.

Platform deep dives

Context on both ends of the pair

Wetroo CRM logo

Wetroo CRM

Source

Strengths

  • Native WhatsApp Business API channel gives sales teams a unified inbox for leads, follow-ups, and support without third-party middleware.
  • Meta Conversions API official partner enables direct CRM-to-Meta attribution without workarounds, optimising ad spend ROI.
  • Instant lead alerts from Facebook Lead Forms, Google Data Extractor, and manual entry reach reps on mobile within seconds of submission.
  • Free tier with unlimited alerts and no credit card requirement provides a genuine zero-cost starting point for very small teams or solo operators.
  • Visual canvas workflow builder lets non-technical users construct custom API-based integrations without writing code.

Weaknesses

  • No documented bulk-export endpoint means data extraction relies on paginated API calls and scripted access — bulk migration tooling is not officially supported.
  • Per-user pricing with hard seat caps on lower tiers (5 on Pro, 20 on Business) creates an immediate cost cliff when teams grow beyond the tier limit.
  • API documentation is sparse; the public reference at api.wetroo.com covers only two endpoints (OBD records and webhook lead creation), limiting what we can confidently extract.
  • Drip marketing sequences and sales automation cadences live in a separate automation layer with no exportable schema — they cannot be migrated and must be rebuilt manually.
  • English-language community presence and third-party support resources are thin compared to major CRMs, making troubleshooting harder for non-Hindi-speaking teams.
Odoo CRM logo

Odoo CRM

Destination

Strengths

  • Modular open-source architecture lets teams start with CRM and add ERP apps as needs grow, all sharing one PostgreSQL database.
  • Free Community edition with no contact limits and full source code access means zero licensing cost for evaluation and small deployments.
  • Drag-and-drop Kanban pipeline with AI lead scoring gives a visual, prioritized view of the sales funnel without requiring custom configuration.
  • Native integrations with email, live chat, SMS, VoIP, WhatsApp, and social media feed all inbound leads into a single unified inbox.
  • Active Odoo Community Association (OCA) maintains dozens of community-maintained modules on GitHub for extended functionality.

Weaknesses

  • Gmail and email integration reliability is a recurring complaint — threads drop and conversations scatter across inboxes, disrupting sales team workflows.
  • Enterprise edition pricing stacks quickly: multiple apps at per-user rates ($25–$50/user/month) plus Odoo.sh hosting costs more than many SMBs anticipate.
  • Setup and configuration complexity increases significantly once custom fields, automation rules, and multiple installed modules are in play.
  • Odoo.sh trial databases run on a version (e.g., 18.3) that is not directly migratable to Odoo.sh, blocking the assisted migration path Odoo advertises.
  • Version upgrades between major Odoo releases (e.g., 17→18) frequently break custom module view definitions and XPath expressions, requiring manual remediation.

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 Wetroo CRM and Odoo CRM.

  • 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

    Wetroo CRM: Not publicly documented.

  • Data volume sensitivity

    B

    Wetroo CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Wetroo CRM to Odoo CRM 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 Wetroo CRM to Odoo CRM data migrations

Answers to the questions buyers ask most during Wetroo CRM to Odoo CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Wetroo CRM to Odoo CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts with under 10,000 Leads, 5,000 Contacts, and 2,000 Deals and a straightforward pipeline structure. Migrations with large Activity histories (over 100,000 call log or WhatsApp message records), multiple Wetroo pipelines, custom field schemas, or a team size requiring user reconciliation in both systems move to seven to eleven weeks. The Wetroo API extraction step (paginated pulls without a bulk-export endpoint) adds one to two weeks to scoping compared to platforms with proper export APIs.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Wetroo CRM.
Land in Odoo CRM, 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