CRM migration

Migrate from Combit CRM to Odoo CRM

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

Combit CRM logo

Combit CRM

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

83%

10 of 12

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Combit CRM to Odoo CRM is a migration from a German-only, on-premise-oriented platform with no documented REST API to an open-source, API-first ERP suite with a CRM module accessible via XML-RPC. Combit CRM organizes data around Addresses, Contacts, Companies, Projects, Activities, and Deals; Odoo CRM models prospects and opportunities as a single crm.lead object with stage-based pipeline control. Because Combit has no REST API, we extract via direct database access when the on-premise version is in use, or via the application's built-in CSV/Excel export when cloud-hosted. All German field labels, picklist values, and object names must be translated during the mapping phase. We pre-create the destination schema in Odoo—including custom fields, CRM stages, and tags—before any data loads, then sequence record imports in dependency order (Accounts/Partners first, then Contacts, then Opportunities/Deals, then Activities) with reconciliation reports at each phase. Combit workflow automations do not migrate; we deliver a written inventory of every automation for the customer's admin to rebuild in Odoo's Action Rules and Studio.

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

Combit CRM logo

Combit CRM

What's pushing teams away

  • Interface feels technical and sophisticated—multiple reviewers describe the UI as complex, with input masks that lack a modern design feel.
  • Difficulty mapping daily work processes—users report that intuitive process mapping is harder than expected despite the automation capabilities.
  • Feature gaps relative to modern CRMs—some reviewers noted the platform required more features than it provided during their evaluation period.
  • German-only language barrier—businesses outside German-speaking regions cannot use the platform, limiting international team adoption.

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

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

Combit CRM

Address (Anschrift)

maps to

Odoo CRM

res.partner (address fields)

1:1
Fully supported

Combit CRM's Address records store location data (street, city, postal code, country) as separate records linked to multiple Contact records. We extract address fields from the Anschrift table and map them to the standard address fields on res.partner in Odoo (street, street2, city, zip, country_id). Because Odoo's Contact model does not use a separate address record, we resolve the contact-to-address relationship during the transform phase and populate partner address fields directly. If a Combit contact has multiple addresses, the primary (default) address maps to res.partner and additional addresses migrate to res.partner.address_ids as a one2many relation.

Combit CRM

Contact (Kontakt)

maps to

Odoo CRM

res.partner

1:1
Fully supported

Combit Contacts map to Odoo res.partner records. The mapping preserves name fields (firstname, lastname, function/title), phone, email, and website, and resolves the parent Address record reference to Odoo's inline address fields. Combit's contact type (person vs. organization) maps to Odoo's is_company flag: individual contacts set is_company=False; organization contacts set is_company=True and the name maps to the company name field. Partner lang defaults to en_US unless the customer's scoping identifies a different language preference.

Combit CRM

Company (Firma)

maps to

Odoo CRM

res.partner (company type)

1:1
Fully supported

Combit Companies map to Odoo res.partner records with is_company=True. Company name, industry classification, revenue range, and number of employees migrate to the corresponding Odoo partner fields. Company records serve as the parent for related Contact records; we create the Company partner first, then resolve the parent_id reference when importing the associated Contact partners. Website domain from Combit maps to partner website field and is used as the deduplication key if the customer has existing partner records in Odoo.

Combit CRM

Deal (Verkauf/Geschäft)

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Combit Deals map to Odoo crm.lead records in the Opportunities view. We preserve the deal name, value (expected_revenue), expected_close date, stage name, and owner. Combit's configurable pipeline stages map to Odoo's crm.stage values, which we pre-create in the destination Odoo instance before migration to match the Combit stage names translated to English. Loss reason and win reason from Combit custom fields migrate to Odoo's lost_reason and won_reason fields. Note that Odoo uses a single crm.lead model for both inbound leads and opportunities; Combit's separate Deal concept maps to crm.lead with type='opportunity'.

Combit CRM

Deal Stage

maps to

Odoo CRM

crm.stage

lossy
Fully supported

Each Combit Deal pipeline stage becomes an Odoo crm.stage record. We preserve stage sequence order, probability percentage (where set in Combit), and the stage name in English. The Combit pipeline (if multiple exist) maps to Odoo crm.team, with each Combit pipeline assigned to a separate sales team in Odoo. If Combit has custom stage colors or categories, these map to Odoo's stage_color field if available or are documented as notes for the admin.

Combit CRM

Activity (Aktivität)

maps to

Odoo CRM

crm.activity + mail.message

1:1
Fully supported

Combit Activities (calls, meetings, tasks, notes) attached to Contacts or Deals map to Odoo's crm.activity records for calendar events and to mail.message records for the chatter timeline. We preserve activity type, date, duration, description, and owner. Combit's Activity-to-Contact and Activity-to-Deal lookups resolve to the migrated Odoo partner_id and crm_lead_id references. If Combit stores email body content in activities, that migrates as a mail.message on the crm.lead or res.partner.

Combit CRM

Project (Projekt)

maps to

Odoo CRM

project.project

1:1
Fully supported

Combit Projects span multiple contacts and activities and may include budgets, line items, and dates. If the destination Odoo instance includes the Project module (Odoo Enterprise or a community project app), we map Combit Projects to project.project records with tasks migrated as project.task. If only the CRM module is in scope, Combit Projects with linked Deals map to crm.lead records with project name preserved in a custom field for reference, and we flag the project-object gap in the handoff documentation. Project-to-Deal relationships are preserved via a lookup field.

Combit CRM

Custom Field (Benutzerdefiniertes Feld)

maps to

Odoo CRM

ir.model.fields (custom)

lossy
Fully supported

Combit CRM supports extensive user-defined fields across all objects. We identify every custom field definition during the discovery phase (field name in German, data type, picklist values), translate the label to English, map the Combit data type to the equivalent Odoo field type (char, text, integer, float, selection, many2one, one2many), and pre-create the fields in the destination Odoo schema via data migration or a Studio export-import round trip before the main record import begins. Multi-select picklists map to Odoo many2many tags or selection fields depending on expected cardinality.

Combit CRM

User / Owner (Benutzer/Vertriebspartner)

maps to

Odoo CRM

res.users

1:1
Fully supported

Combit Users map to Odoo res.users records. We resolve by email match. If the customer has an existing Odoo instance with existing users, we match Combit owner email to Odoo user login. Any Combit owner without a match goes to a reconciliation queue for the customer's admin to provision before record import resumes. Inactive Combit owners (departed employees) map to inactive Odoo users to preserve historical assignment data.

Combit CRM

Tag / Category (Kategorie)

maps to

Odoo CRM

crm.tag

1:1
Fully supported

Combit Categories used to tag Contacts, Companies, and Deals map to Odoo crm.tag records. Multi-value category assignments on a single Combit record map to multiple crm.tag records via crm.tag.rel many2many table entries. We preserve tag names in English (translated during the mapping phase) and flag any tag that appears on fewer than 5 records as a low-frequency tag that may need cleanup in Odoo.

Combit CRM

Attachment / Document

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

Combit CRM file attachments on records migrate to Odoo ir.attachment records linked via res_model and res_id to the migrated parent record (res.partner or crm.lead). We extract files from the Combit database or file store, preserve original filenames and MIME types, and store them in Odoo's attachment storage (database or filestore depending on Odoo configuration). Files larger than Odoo's default attachment size limit are flagged for the admin to review before migration.

Combit CRM

Engagement history (full timeline)

maps to

Odoo CRM

mail.message + crm.activity

1:1
Fully supported

Combit's complete engagement timeline—calls, meetings, tasks, notes, and logged emails—migrates to Odoo's crm.activity records (for calendar-type entries) and mail.message records (for note-style entries and email content). The original timestamp, owner, and description are preserved. Activity type mapping: Combit 'Telefonat' maps to crm.activity with subtype='call'; 'Besprechung' maps to crm.activity with subtype='meeting'; 'Notiz' maps to mail.message; emails map to mail.message with message_type='email'. The parent record reference (contact_id, lead_id) is resolved to the migrated Odoo IDs at migration time.

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.

Combit CRM logo

Combit CRM gotchas

High

No documented REST API for automated migration

Medium

German-language interface complicates discovery

Medium

On-premise deployments require database-level 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

  • Combit CRM has no REST API; extraction method determines migration schedule

    Combit CRM does not publish a REST API in any language. We cannot run API-based migration jobs against it. On-premise deployments require read-only database credentials so that we can run extraction queries directly against the Combit schema, documenting primary keys, foreign keys, and table relationships before writing any transform logic. Cloud-hosted instances rely on the application's built-in CSV/Excel export functionality, which may have record count limits per export run. If the export is scoped or limited, we negotiate a custom export scope with the customer and validate data completeness (row counts against application-reported totals) before transformation begins. This extraction step is the primary schedule risk for Combit CRM migrations.

  • German-language field and object names require translation before Odoo mapping

    Combit CRM is available in German only. Every object name (Anschrift, Kontakt, Firma, Projekt, Aktivität, Verkauf), field label, picklist value, and workflow name must be translated during the mapping phase. If the customer's Combit instance includes custom fields with German labels, those labels must be matched to their database column names before we can map them to Odoo field definitions. We work with bilingual contacts or a German-speaking analyst during discovery to translate the full schema. Errors in translation produce incorrect field assignments in Odoo, particularly for selection fields and required flags.

  • Odoo uses a single crm.lead model for Combit's separate Deal and Contact concepts

    Combit CRM maintains separate Deal (Verkauf) and Contact (Kontakt) objects. Odoo CRM consolidates inbound leads and sales opportunities into a single crm.lead model with a type field ('lead' vs 'opportunity') and a stage field for pipeline progression. There is no Odoo equivalent of Combit's standalone Deal object. We map Combit Deals to crm.lead with type='opportunity' and resolve the Combit Deal-to-Contact relationship to the Odoo lead's partner_id. If the customer has Combit Deals that are not linked to a Contact, those migrate as lead records with no partner, which is a valid Odoo state but may require manual reconciliation in the sales team's pipeline view.

  • Odoo field-level validation can reject records imported from Combit

    Odoo enforces field-level validation on standard models—required fields (name, email), format checks (email syntax), and state-dependent required fields (country_id required when street is set). Combit data, particularly from legacy on-premise deployments, often contains incomplete records, duplicate entries, and inconsistent formatting. We run a pre-migration data audit identifying records with missing required fields, invalid email formats, and orphaned foreign keys before transformation. We either cleanse the source data or create Odoo migration-context overrides (e.g., temporarily marking fields as not-required) during the load window, then restore Odoo validation after migration.

  • Combit workflow automations do not migrate to Odoo Action Rules

    Combit's deep workflow automation capabilities (process-step triggers, department-scoped automation, configurable input masks) have no direct Odoo equivalent that can be migrated programmatically. Odoo's Action Rules, Server Actions, and Automated Actions operate on different trigger models and UI conventions. We do not migrate workflows as code. We deliver a written inventory of every active Combit workflow—its trigger, conditions, actions, and affected record types—alongside a written recommendation for the equivalent Odoo Action Rule or Studio automation, which the customer's admin or an Odoo partner rebuilds post-migration.

Migration approach

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

  1. Discovery and extraction method confirmation

    We scope the Combit CRM instance via bilingual contact or German-speaking analyst. We identify the deployment model (cloud-hosted vs. on-premise), the database type and access method for on-premise instances, the built-in export options for cloud instances, the full list of custom objects and user-defined fields (translated from German), the pipeline stage definitions, and the engagement volume across activities. This produces a written migration scope document that confirms the extraction method, the data model gap analysis, and the Odoo edition recommendation (Community vs. Online vs. Odoo.sh).

  2. German schema translation and Odoo destination schema design

    We translate every Combit object name, field label, and picklist value from German to English and document the mapping table. We design the destination Odoo schema: pre-create all custom fields via Studio or direct data migration, define crm.stage values matching the Combit pipeline stages in sequence order, configure crm.team records if multiple Combit pipelines exist, and create the crm.tag records. The schema is deployed into a staging Odoo instance (Odoo Online test database or Odoo.sh branch) before any record migration begins.

  3. Data extraction from Combit CRM

    For on-premise deployments, we connect with read-only database credentials and run extraction queries against the Combit schema, extracting Addresses, Contacts, Companies, Deals, Activities, Projects, custom fields, tags, and attachments in dependency order. For cloud deployments, we use the Combit application's built-in export to generate CSV or Excel files for each object. We validate row counts from the export against the application's reported totals at the record level. Any gaps are reconciled with the customer before the transform phase begins. Attachments are exported to a file store with their original filenames preserved.

  4. Transformation and staging migration

    We run the transform logic: German-to-English field name mapping, data type casting, relationship resolution (Contact-to-Address, Deal-to-Contact, Activity-to-Contact/Deal), owner-to-user email matching against the Odoo User table, and tag consolidation. We load a first staging migration into the staging Odoo instance, produce a row-count reconciliation report (Records In, Records Out, Records Rejected, Rejection Reasons), and deliver a random-sample spot-check of 25-50 records for the customer's admin to verify against the Combit source. Any mapping corrections are applied before the production migration begins.

  5. Production migration in dependency order

    We run the production migration in record-dependency order: res.partner (Companies first as parent, then Contacts), crm.lead (Deals as opportunities with partner_id resolved), crm.activity and mail.message (Activities), project.project (if in scope), ir.attachment (files linked by res_model and res_id). Each phase emits a reconciliation report. The migration user in Odoo is granted elevated permissions (API access, write access to all CRM models) during the migration window only. Any validation rule rejections trigger a data-fix pass before the next phase begins.

  6. Cutover, validation, and automation handoff

    We freeze writes to Combit during the cutover window, run a final delta migration of any records created or modified during the migration, then confirm Odoo as the system of record. We deliver the Workflow and Automation Inventory document listing every Combit workflow with its trigger, conditions, actions, and recommended Odoo Action Rule equivalent. We support a one-week hypercare window for reconciliation issues. We do not rebuild Combit automations as Odoo Action Rules inside the migration scope; that work is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Combit CRM logo

Combit CRM

Source

Strengths

  • Deep workflow automation with configurable triggers across departments and record types.
  • Highly flexible data model with user-defined fields and customizable pipelines.
  • Strong integration connectivity for external tools and peripheral systems.
  • Configurable interfaces and data entry masks tailored to organization-specific needs.
  • Supports both cloud and on-premise deployment options.

Weaknesses

  • Platform is German-language only, limiting adoption for non-German-speaking teams.
  • No publicly documented REST API, restricting programmatic access and migration automation.
  • Interface described as technically sophisticated and not intuitively modern.
  • Fewer third-party integrations compared to major global CRM platforms.
  • Limited availability of English-language documentation and support resources.
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. All 8 core objects map 1:1 between Combit CRM and Odoo CRM.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Combit CRM and Odoo CRM.

  • Object compatibility

    A

    All 8 core objects map 1:1 between Combit CRM and Odoo CRM.

  • 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

    Combit CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Combit 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 15,000 Contacts and 3,000 Deals with straightforward CSV export and no custom objects. On-premise database extraction, large project histories, extensive custom fields, or co-migration of Odoo ERP modules (CRM plus accounting or inventory) extend to eight to fourteen weeks because of schema pre-creation time, German-to-English field translation, and relationship resolution across Combit's proprietary table structure.

Adjacent paths

Related migrations to explore

Ready when you are

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