CRM migration

Migrate from Planports CRM to Odoo CRM

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

Planports CRM logo

Planports CRM

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

75%

9 of 12

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Planports CRM to Odoo CRM is a migration from a WhatsApp-first, ad-lead-capture CRM built for Turkish and European SMBs to an open-source all-in-one ERP suite where the CRM module is one app among dozens. Planports organizes data around Deals, Quotes, Orders, and Kanban Process boards; Odoo uses the crm.lead model for both early-stage leads and converted opportunities, with a separate sale.order model for quotes and orders. We extract data via Planports Excel export or API (the $62/month paid add-on), map Planports pipeline stages to Odoo CRM stages, and load Contacts as res.partner records before Deals. WhatsApp conversation history cannot be fully extracted because it lives in Meta's infrastructure; we disclose this limitation during discovery and recommend re-authorizing the WhatsApp Business API channel in Odoo after migration. Industry-specific custom fields (health tourism referral sources, real estate property IDs, digital agency campaign tags) require an Odoo custom module to persist because Odoo does not expose a dynamic custom field UI outside of developer mode. Workflow automation rules in Planports are not exportable; we inventory them for the customer admin to rebuild in Odoo's automation framework post-migration.

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

Planports CRM logo

Planports CRM

What's pushing teams away

  • Pricing and add-ons quoted in Turkish lira (TL) make budgeting unpredictable for non-Turkey teams due to currency volatility.
  • Training (8,500 TL per person/day) and process consulting (6,000 TL per person/day) costs add up quickly for organizations needing significant onboarding support.
  • API access at 1,200 TL+VAT/month is a separate line item — competing CRMs typically include API access in standard tiers.
  • Limited English-language reviewer presence on G2 and Capterra makes peer validation difficult for non-Turkish prospects.
  • Marketing automation and BI depth are lighter than mainstream international CRMs like HubSpot or Pipedrive.

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 Planports CRM objects map to Odoo CRM

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

Planports CRM

Leads

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Planports Leads map to Odoo crm.lead records. We extract the full field set including source attribution (Meta Instant Form, Google Ads, TikTok), assignment rules, and status. The Planports lead score and custom fields (health tourism referral source, real estate lead type, digital agency campaign tag) transfer as custom Char or Selection fields in Odoo after the customer installs a custom module defining those fields on the crm.lead model.

Planports CRM

Contacts

maps to

Odoo CRM

res.partner

1:1
Fully supported

Planports Contacts map to Odoo res.partner records. Standard fields (name, email, phone, company) migrate directly. The WhatsApp phone number stored on the Contact card transfers to res.partner's phone or mobile field, but the full WhatsApp conversation thread (stored in Meta's infrastructure) cannot be extracted via Planports export and is not migratable. We document the limitation and recommend re-authorizing the WhatsApp Business API channel in Odoo post-migration.

Planports CRM

Deals (Pipeline)

maps to

Odoo CRM

crm.lead (opportunity stage)

1:1
Mapping required

Planports Deals map to Odoo crm.lead records in the opportunity stage. The Planports pipeline stage (e.g., Qualified Lead, Proposal Sent, Negotiation) maps to an Odoo CRM Stage ID that we configure during schema setup. Industry-specific pipeline stages (health tourism treatment stage, real estate viewing schedule stage) require custom stage creation in Odoo's CRM pipeline configuration before migration. We preserve the Planports deal value, expected close date, and loss reason as crm.lead fields.

Planports CRM

Pipeline Stage

maps to

Odoo CRM

crm.stage

lossy
Fully supported

Each Planports pipeline becomes an Odoo CRM Stage within the Pipeline. We create stages in the same order, with matching probability percentages, and assign them to the CRM pipeline view. If Planports uses multiple parallel pipelines, we configure multiple Odoo CRM pipelines (or a single pipeline with stage groups) to match the customer's deal management structure. Color and sequence order are preserved.

Planports CRM

Quotes

maps to

Odoo CRM

sale.order

1:1
Fully supported

Planports Quotes map to Odoo sale.order records in draft state. Line items migrate as sale.order.line records with product reference, quantity, and unit price. Approval status from Planports transfers as a note or custom state flag on the sale.order because Odoo's standard quote approval flow is a separate configuration. Quote validity dates migrate to sale.order.validity_date.

Planports CRM

Orders

maps to

Odoo CRM

sale.order (confirmed)

1:1
Fully supported

Planports Orders map to Odoo sale.order records with state set to sale (confirmed). The linked Contact (Planports) maps to the sale.order partner_id (res.partner). Order status, quantities, and linked Deal reference migrate as order lines and a note field. Financial settlement and payment data may require accounting-specific review if the customer uses Odoo Accounting; we flag this for the customer's admin during scoping.

Planports CRM

Activities

maps to

Odoo CRM

mail.message + crm.activity

1:1
Fully supported

Planports Activities (calls, emails, meetings, tasks) map to Odoo mail.message records linked to the parent crm.lead or res.partner. Call duration and disposition migrate to custom fields on the mail.message record. Meeting scheduling migrates to mail.event with start and end timestamps. Task status, priority, and due date migrate to the Odoo standard task structure. Activity timestamps are preserved for timeline ordering.

Planports CRM

Notes

maps to

Odoo CRM

mail.message

1:1
Fully supported

Planports Notes attached to Contacts or Deals migrate as Odoo mail.message records with message_type = comment. The note body migrates as HTML-formatted mail.message.body. We link each note to the parent res.partner or crm.lead via res_id and model. If the customer uses Planports Notes as standalone records not attached to a parent, we map them to a dedicated Odoo note.pad configure note project or a generic mail.activity record.

Planports CRM

Process (Kanban)

maps to

Odoo CRM

project.task

1:many
Mapping required

Planports Process boards map to Odoo project.task records under a dedicated project per board. Each Kanban column becomes a project.task.stage. Card records migrate as task records with the original stage assignment preserved. Conditional automation rules attached to columns do not migrate; we inventory every Process board rule during discovery and deliver a written handoff document for the customer admin to rebuild in Odoo Project automation. The Process board structure (column count, card order, assignment rules) is recreated manually in Odoo Project or via a project configuration script.

Planports CRM

Custom Fields

maps to

Odoo CRM

ir.model.fields (custom module)

lossy
Mapping required

Planports industry-specific custom fields (health tourism treatment packages, real estate property IDs and viewing schedules, digital agency campaign IDs and ad spend) require an Odoo custom module to persist because Odoo does not expose dynamic custom field creation on standard models without developer mode or a custom addon. We audit every custom field during the pre-migration data review, document the field name, data type, and picklist values, and deliver a field specification for the customer's Odoo developer to install as a custom module before the production data load. Without this module, custom field values are not migratable.

Planports CRM

Attachments and Files

maps to

Odoo CRM

ir.attachment

1:1
Mapping required

Files uploaded to Planports Contact or Deal cards can be exported individually per record. Bulk attachment migration from Planports requires API access ($62/month add-on) and may be limited by plan tier. We extract files as binary blobs and attach them to the corresponding Odoo res.partner or crm.lead record via ir.attachment. If Planports attachment count is large (over 500 files), we batch the import and validate attachment-to-record linkage during the staging migration phase.

Planports CRM

Users and Owner Assignment

maps to

Odoo CRM

res.users

1:1
Fully supported

Planports Users map to Odoo res.users records. We resolve owners by email match across Planports Contacts, Deals, Activities, and Notes. Any Planports user without a matching Odoo user account goes to a reconciliation queue for the customer's admin to provision before the production load. Deal ownership, activity attribution, and note ownership transfer as Odoo res.users references, preserving the original rep attribution on crm.lead and mail.message records.

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.

Planports CRM logo

Planports CRM gotchas

High

Excel export does not include workflow automations

High

API key is a paid add-on — migration tooling costs extra

Medium

WhatsApp conversation history may not export cleanly

Medium

Minimum 3-user floor on all plans affects per-user pricing

Medium

Industry-specific custom fields require field-level mapping

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

  • Planports API access is a $62/month paid add-on

    Planports CRM does not expose a public REST API on all plans. API access requires a paid API key add-on at $62/month. Migration tooling that uses the Planports API to pull data in bulk — rather than relying on manual Excel exports — requires this add-on to be active on the source or destination account. We confirm API key status during scoping and include the cost in the migration proposal as an additional line item if the customer does not already hold an active API key. If the customer elects to migrate via Excel export only, bulk record extraction is limited to the report-based per-record export and may not capture all linked objects in a single pass.

  • WhatsApp conversation history cannot be migrated

    WhatsApp Business API conversations in Planports are stored within Meta's infrastructure and surfaced inside the Planports Contact card for display. The export feature captures the metadata (contact name, timestamp, direction) but does not export full message body text in a machine-readable format. We test this during the data audit phase and, where full message history cannot be extracted, we document the limitation explicitly in the migration scope document. The customer should re-authorize the WhatsApp Business API channel in Odoo after migration if conversation continuity is required. This is a platform-level limitation of Planports, not a destination platform issue.

  • Planports workflow automations do not migrate

    Planports workflow automation rules — the if X then Y triggers that auto-assign leads, send WhatsApp messages, or schedule follow-up reminders — are configuration data and are not included in any export. Odoo does not share Planports' automation model; its Automated Actions and Server Actions must be configured from scratch. We inventory every active Planports workflow rule during discovery and deliver a written automation handoff document listing each rule's trigger, conditions, actions, and recommended Odoo equivalent. The customer admin or an Odoo implementation partner rebuilds them post-migration as a separate service line item.

  • Odoo custom fields require a custom module to be installed first

    Odoo does not expose dynamic custom field creation on standard models (crm.lead, res.partner, sale.order) outside of developer mode without a custom module. Planports' industry-specific custom fields (health tourism referral sources, real estate property IDs, digital agency campaign tags) will not load into Odoo unless a custom module defining those fields is installed in the destination database before the data load. We audit every Planports custom field during pre-migration discovery, document the field name and data type, and deliver a field specification for the customer's Odoo developer to build and install. If the custom module is not ready at migration time, those field values are held as a manual post-migration reconciliation task.

  • Industry-specific pipeline stages require manual Odoo stage configuration

    Planports uses vertical-specific pipeline stages: health tourism clinics track stages like Consultation Booked, Treatment Confirmed, Recovery Follow-Up; real estate agencies track Property Viewed, Offer Made, Due Diligence; digital agencies track Campaign Launched, Creative Review, Performance Review. Odoo's CRM pipeline stages are configured in Settings > CRM > Stages and must be created manually per pipeline. We map standard Planports stages (New, Qualified, Proposal, Negotiation, Won, Lost) to Odoo defaults during the staging migration, but any industry-specific stages must be identified during discovery and pre-created in Odoo before the production load. Skipping this step results in Deals landing in a default stage with no mapping back to the original Planports stage name.

Migration approach

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

  1. Discovery and Planports API audit

    We audit the source Planports account across plan tier, active pipeline count, industry-specific stage names, custom field inventory, workflow rule count, attachment volume, and user roster. We confirm API key status (paid $62/month add-on) and recommend whether the migration runs via API or Excel export. We identify the WhatsApp channel configuration and document the conversation history limitation explicitly in the discovery output. The discovery output is a written migration scope including object list, record counts, custom field matrix, and a Planports API or export access checklist.

  2. Odoo stage schema design and custom module specification

    We design the Odoo CRM stage schema in a staging Odoo database. This includes creating CRM Pipeline stages that map to the Planports pipeline stages (including any industry-specific stages), setting stage probability percentages, assigning stage colors, and configuring the Kanban card layout. We produce a separate custom field specification document listing every Planports custom field with its name, Odoo model, data type, and picklist values, which the customer's Odoo developer builds and installs before the production migration. The stage schema is validated in a Sandbox or staging Odoo instance before production deployment.

  3. Sandbox migration and reconciliation

    We run a full migration into an Odoo staging database using production-equivalent data volume. The customer reconciles record counts (Contacts in, Leads in, Deals in, Activities in), spot-checks 25-50 records against the Planports source, and validates that custom field values landed correctly in the Odoo crm.lead and res.partner records. The customer signs off the stage schema, custom field mapping, and Kanban column configuration before the production cutover window is scheduled. Any mapping corrections happen here, not in production.

  4. Owner and user provisioning

    We extract every distinct Planports user referenced on Contact, Deal, Activity, and Note records and match by email against the Odoo destination's res.users table. Any Planports user without a matching Odoo account is placed in a reconciliation queue for the customer admin to provision before the production load. Deal ownership, activity attribution, and note ownership transfer as Odoo res.users references, preserving the original rep attribution on crm.lead and mail.message. Migration cannot proceed past this step because OwnerId references are required on most standard objects.

  5. Production migration in dependency order

    We run the production migration in record-dependency order: res.partner records (Contacts first, from Planports Contacts), crm.lead records (Leads and Deals with stage and probability mapped), sale.order records (Quotes in draft, Orders confirmed), mail.message records (Activities, Notes, meeting records linked to parent crm.lead or res.partner), ir.attachment records (files linked to parent records), and project.task records (Planports Process boards mapped to Odoo Project tasks). Each phase emits a row-count reconciliation report before the next phase begins. The WhatsApp channel is re-authorized by the customer admin in Odoo as a post-migration step.

  6. Cutover, validation, and automation handoff

    We freeze Planports 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 Planports Workflow and Process Rule inventory document to the customer's admin team with Odoo Automated Action equivalents documented per rule. We support a one-week hypercare window where we resolve any record linkage issues raised by the sales team. We do not rebuild Planports workflow rules as Odoo Automated Actions inside the migration scope; that is a separate engagement or an internal admin rebuild task.

Platform deep dives

Context on both ends of the pair

Planports CRM logo

Planports CRM

Source

Strengths

  • WhatsApp Business API natively embedded in the Contact card with full conversation history
  • Automatic lead capture from Meta Instant Forms, Google Ads, and TikTok ads with source attribution
  • 500+ Zapier integrations covering the broader SaaS ecosystem
  • Industry-specific pipeline stages and custom fields for health tourism, real estate, and digital agencies
  • Built-in Quotes, Orders, and basic accounting alongside CRM — reduces tool sprawl for SMBs

Weaknesses

  • No publicly documented API schema or developer documentation outside the paid API key add-on
  • Workflow automations are not exportable — they must be manually rebuilt in the destination system
  • WhatsApp conversation history is stored in Meta's infrastructure and may not be accessible via standard export
  • Pricing tiers and feature gates are not fully documented publicly, requiring a sales conversation to confirm
  • Limited English-language documentation — platform is primarily documented and supported in Turkish
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. 1 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 Planports CRM and Odoo CRM.

  • Object compatibility

    B

    1 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

    Planports CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Planports 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 under 10,000 Contacts and 2,000 Deals with no custom object extensions and industry-standard pipeline stages. Migrations with large custom field inventories, multi-stage industry-specific pipeline boards, large activity histories, or multiple Process (Kanban) boards move to six to ten weeks because of the custom Odoo module development, stage schema design, and Process board reconstruction. Migration timing also depends on whether the Planports API add-on ($62/month) is active, as API-based extraction is faster than per-record Excel export.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Planports 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