CRM migration

Migrate from Total Control Pro to Odoo CRM

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

Total Control Pro logo

Total Control Pro

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

75%

9 of 12

objects map 1:1 between Total Control Pro and Odoo CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Total Control Pro to Odoo CRM is a platform-family transition from a manufacturing-focused MES into an open-source ERP with a modular CRM layer. Total Control Pro stores customer and supplier records as structured entities with contact details and account terms, which map directly to Odoo res.partner records differentiated by the customer_rank and supplier_rank flags. Product definitions map to product.template, and any quality check results associated with production runs attach as custom fields on the migrated Work Order equivalent. Because Total Control Pro does not publish a public REST or bulk API, we extract data through vendor-assisted CSV exports scoped per module, sequencing Work Orders and Bills of Materials by creation date to preserve the production timeline. Odoo CRM does not have a native Manufacturing Intelligence Module equivalent; MIM-derived KPIs (OEE, cycle time, scrap rates) are delivered as structured CSV alongside the transactional migration for ingestion by Odoo's reporting engine or an external BI tool. Workflows, automation rules, and integration configurations from Total Control Pro do not migrate as code; we deliver a written inventory for your Odoo admin to rebuild using Odoo Studio or a certified partner.

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

Total Control Pro logo

Total Control Pro

What's pushing teams away

  • No publicly documented REST or bulk API for third-party integration; data movement depends on CSV exports or direct cooperation from the vendor, which limits the integration ceiling for growing operations.
  • Reviewers report bugs during implementation, particularly when requesting newly built or custom features, and describe slow turnaround on feature development requests (Capterra UK).
  • TotalControlPro is a small company (~14 employees per ZoomInfo); support bandwidth is finite, and customers needing guaranteed enterprise SLAs may outgrow the vendor's coverage.
  • Pricing is not transparently published beyond a £15–£25/user/month starting point; full quotes depend on services, integrations, and onboarding, making procurement comparisons harder against listed competitors.
  • Heavily regulated manufacturing (medical device, aerospace primes beyond engine-tier suppliers) often requires formal audit-trail compliance documentation that the platform does not pitch as a core capability.

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 Total Control Pro objects map to Odoo CRM

Each row shows how a Total Control Pro 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.

Total Control Pro

Customer

maps to

Odoo CRM

res.partner (customer role)

1:1
Fully supported

Total Control Pro Customer records map to Odoo res.partner with type='contact' and customer_rank set to 1. Customer name becomes partner name, contact details map to street, city, email, and phone fields, and account terms map to property_payment_term_id. We deduplicate by email and flag records with duplicate email addresses for manual resolution before insert. Customer country and state map to the Odoo res.country and res.country.state lookup tables by code match.

Total Control Pro

Supplier

maps to

Odoo CRM

res.partner (supplier role)

1:1
Fully supported

Total Control Pro Supplier records map to Odoo res.partner with type='contact' and supplier_rank set to 1. Supplier part supply links and lead times map to seller_ids on product.template for purchase pricing, and to property_supplier_payment_term_id on the supplier partner record. Suppliers with both customer and supplier roles in Total Control Pro receive a single res.partner with both customer_rank and supplier_rank set to 1.

Total Control Pro

Product

maps to

Odoo CRM

product.template

1:1
Fully supported

Total Control Pro Product definitions (part numbers, descriptions, unit of measure) map to Odoo product.template. The part number becomes default_code, description becomes name and description_sale, and the unit of measure maps to uom_id and uom_po_id by name match against the Odoo uom.uom table. Products marked as manufactured in Total Control Pro will also have a corresponding mrp.bom if Odoo MRP is in scope.

Total Control Pro

Bill of Materials

maps to

Odoo CRM

mrp.bom

1:1
Fully supported

Bills of Materials map to Odoo mrp.bom only if the Odoo MRP module is licensed and in scope. Each BOM revision in Total Control Pro is evaluated for active status at migration cutoff; the most recent approved revision per product becomes the active Odoo BOM. Multi-level BOMs are expanded and components mapped to product.template by part number match. If Odoo MRP is not licensed, BOMs are delivered as a structured CSV with component quantities, revision numbers, and product links for post-migration import.

Total Control Pro

Work Order

maps to

Odoo CRM

mrp.workorder (if MRP in scope) or crm.lead custom fields

1:1
Fully supported

Work Orders map to Odoo mrp.workorder only if the MRP module is active. If Odoo CRM-only is the destination, Work Orders are delivered as a structured CSV with work order number, product, operation sequence, status, assigned operations, and timestamps, and any required manufacturing context is stored as custom fields on the nearest Odoo CRM record (Customer or Product). Work Order status maps to the Odoo done, cancelled, and in_progress states.

Total Control Pro

Quality Check

maps to

Odoo CRM

mrp.workorder quality_notes (if MRP) or crm.lead custom fields

1:1
Fully supported

Quality Check results from Total Control Pro associate to parent Work Orders or Production Runs. If Odoo MRP is in scope, inspection results and non-conformance records map to mrp.workorder quality notes fields or to a dedicated quality.check model if the quality_mrp module is active. If MRP is out of scope, Quality Check data attaches to the corresponding res.partner or product.template via custom fields with a qc_ prefix.

Total Control Pro

Inventory (snapshot)

maps to

Odoo CRM

stock.quant

1:1
Fully supported

Current stock levels, bin locations, and lot numbers from Total Control Pro map to Odoo stock.quant as a snapshot at migration cutoff. Live inventory movements during migration are queued in a staging table and replayed post-cutover to avoid discrepancy. Bin locations map to stock.location by name match against the Odoo location hierarchy. Lot and serial numbers map to stock.production.lot if lot tracking is enabled on the product.

Total Control Pro

Production Schedule

maps to

Odoo CRM

mrp.production (if MRP) or project.project

1:1
Fully supported

Production schedules including operation sequences and due dates map to Odoo mrp.production (if MRP is active) or to project.project as manufacturing-themed projects (if CRM-only). Constraint flags and priority overrides migrate as project priority fields or custom fields. Scheduling data that requires Odoo MRP's finite capacity scheduling is out of scope unless MRP is licensed.

Total Control Pro

Manufacturing Intelligence KPIs (MIM)

maps to

Odoo CRM

External CSV or reporting module custom fields

lossy
Fully supported

The Manufacturing Intelligence Module stores OEE, cycle time, and scrap rates as time-series data in a proprietary format not exposed in standard exports. We request a targeted MIM module export scoped to the customer's date range, normalize rows into a structured CSV with timestamp, metric name, metric value, and associated product or work order reference, and deliver it alongside the transactional migration. Odoo does not have a native time-series KPI store in the CRM module; the customer ingests the CSV into Odoo reporting or an external BI tool.

Total Control Pro

Custom Fields

maps to

Odoo CRM

ir.model.fields (custom)

lossy
Mapping required

Total Control Pro user-defined fields added during implementation are enumerated during the discovery call. For Odoo, custom fields are created in Settings > Technical > User-defined Fields with the appropriate field type (char, float, integer, date, selection, etc.) and model targeting res.partner, product.template, or crm.lead depending on the field's parent object. If Odoo MRP is in scope, custom fields on Work Orders map to mrp.workorder. Odoo custom fields are tied to the database and require Odoo version compatibility verification; we confirm the Odoo major version before deployment.

Total Control Pro

Attachments

maps to

Odoo CRM

ir.attachment (document storage)

lossy
Not supported

Document attachments (drawings, SOPs, inspection images) stored in Total Control Pro's file store do not have a documented export endpoint. We flag these for manual transfer during a documented cutover window and advise using Odoo's document management module (documents module with attachments on partners, products, or projects) as the destination store. The customer receives a file manifest listing attachment names, associated records, and recommended Odoo folder structure.

Total Control Pro

Owner

maps to

Odoo CRM

res.users

1:1
Fully supported

Total Control Pro owner assignments on Work Orders, Quality Checks, and customer records map to Odoo res.users by email match. Any Total Control Pro owner without a matching Odoo user goes to a reconciliation queue for the customer's admin to provision before record import resumes. Owner IDs on migrated records are set after user provisioning is confirmed.

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.

Total Control Pro logo

Total Control Pro gotchas

High

No documented public API for data export

Medium

BOM revision history requires explicit scoping

Medium

Manufacturing Intelligence Module KPIs stored as opaque time-series

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

  • No public API in Total Control Pro forces vendor-assisted CSV export

    Total Control Pro does not publish a public REST or bulk API for third-party data extraction. All export relies on manual CSV exports from the UI or direct database queries requiring credentials obtained directly from the vendor. We request vendor cooperation letters at scoping. If the vendor does not grant timely database access or provide scoped CSV exports within the agreed migration window, timelines extend by the duration of the delay. We recommend requesting export credentials during the discovery call before scoping sign-off.

  • Active BOM revision requires explicit customer confirmation before migration

    Bills of Materials in Total Control Pro carry revision numbers and historical variants, but the platform does not automatically log which revision was active on any given past date. We identify the active BOM revision at migration cutoff by querying the most recent approved revision per product and present this list to the customer for confirmation. If the customer made manual BOM changes without updating approval status, the wrong revision may be migrated. BOMs without an approved revision are flagged in the reconciliation report for manual resolution before product import.

  • Odoo custom fields require version-compatible XML or manual entry

    Odoo custom fields persist in the database but are not always preserved across version upgrades if they were created in the UI without a custom module wrapper. Fields created via Settings > Technical are generally durable, but fields created by custom modules require version compatibility verification before migration. We confirm the target Odoo major version during scoping and deploy custom field definitions as XML data in a migration module where possible to ensure durability across upgrades.

  • MIM KPI time-series data lacks a native Odoo CRM ingestion path

    The Manufacturing Intelligence Module stores OEE, cycle time, and scrap rates as time-series data in a format that requires normalization before Odoo can ingest it. Odoo CRM does not have a native time-series analytics store. We deliver MIM data as a structured CSV with timestamps, metric identifiers, values, and product or work order references. The customer ingests this into Odoo's built-in reporting (with date-grouped pivot tables on a custom model), a connected BI tool, or a dedicated Odoo app from the store designed for manufacturing analytics.

  • Integration and automation configurations do not export from Total Control Pro

    Workflow automation rules and third-party integration configurations in Total Control Pro are not exposed via a documented API or export mechanism. These cannot be migrated as functional logic. We deliver a written inventory of every active integration (name, trigger, destination system, field mapping) and automation rule (name, trigger, conditions, actions) discovered during the discovery call. The customer's Odoo admin or a certified Odoo partner rebuilds these using Odoo Studio, server actions, or custom module development after cutover.

Migration approach

Six steps for a successful Total Control Pro to Odoo CRM data migration

  1. Discovery and vendor coordination

    We audit Total Control Pro across every module in scope: customer and supplier record counts, product definitions, active BOM revisions, Work Order history volume, Quality Check records, MIM KPI date range, and any custom fields created during implementation. We simultaneously request a vendor cooperation letter for database export access or confirm the scope of available CSV exports. We verify the target Odoo edition (Community or Enterprise), installed apps (CRM, MRP, Inventory), and Odoo version. The discovery output is a written migration scope document listing every object, its estimated record count, and the export method confirmed with the vendor.

  2. Schema design in Odoo

    We design the destination schema in Odoo. This includes creating custom fields on res.partner (customer and supplier roles), product.template (custom fields for Total Control Pro attributes), crm.lead (for any manufacturing-context fields like preferred production line or MOQ), and mrp.workorder if MRP is in scope. We create the Odoo custom field migration module with XML definitions for durability. We verify Odoo version compatibility for all custom field types and confirm the Odoo database is in a state ready to receive imports before production migration begins.

  3. BOM revision reconciliation

    We extract all BOM records from Total Control Pro with revision numbers and approval timestamps. We identify the most recent approved revision per product and present the list to the customer for confirmation. Any BOM without an approval timestamp or with conflicting revisions goes to a manual resolution queue. We also identify multi-level BOM structures and flatten or nest them per the customer's Odoo MRP configuration preference. The confirmed BOM list becomes the authoritative import set.

  4. Partner and product import with dedupe

    We import Customers and Suppliers into res.partner in a single pass, setting customer_rank and supplier_rank based on the record type in Total Control Pro. Deduplication runs by email for contacts and by name for companies. We import Products into product.template, matching UoM by name against the Odoo uom.uom table. Any unmatched UoMs are flagged for the customer to configure in Odoo before import resumes. Custom fields on products migrate as product.template custom fields. Owner assignments resolve by email match to res.users; any unresolved owners go to the reconciliation queue.

  5. Work Order, Quality Check, and MIM KPI export

    We sequence Work Orders by creation date to preserve the production timeline. Work Orders migrate to mrp.workorder (if MRP is in scope) or to a structured CSV (if CRM-only) with all operational fields and parent-product references. Quality Check records attach to their parent Work Order or Production Run via the migration reference. MIM KPI time-series exports are chunked into date-bounded CSV files with normalized column headers and delivered alongside the transactional migration as a separate analytics dataset.

  6. Production cutover and integration inventory handoff

    We freeze Total Control Pro writes during the cutover window, run a final delta export of any records modified after the initial export, replay inventory movements from the staging queue, and enable Odoo as the system of record. We deliver the integration and automation inventory document to the customer's Odoo admin. We support a one-week hypercare window for reconciliation issues. We do not rebuild Total Control Pro integrations or automation rules as Odoo workflows inside the migration scope; those are a separate engagement with an Odoo certified partner.

Platform deep dives

Context on both ends of the pair

Total Control Pro logo

Total Control Pro

Source

Strengths

  • Real-time shop-floor to management visibility across the production facility
  • BOM and process change management that reviewers describe as saving significant time
  • Integration and automation capabilities praised by manufacturing teams
  • Cloud-based modular deployment with rapid implementation for SME manufacturers
  • Manufacturing Intelligence Module surfaces operational KPIs that standard ERP systems miss

Weaknesses

  • No publicly documented API for third-party integration or migration tooling
  • Small company (14 employees) with limited support bandwidth during peak implementation periods
  • Reviewers report bugs during implementation, especially with custom feature requests
  • No public pricing page — pricing is bespoke per customer deployment
  • Feature turnaround time for new development requests is slow per user feedback
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 Total Control Pro 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

    Total Control Pro: Not publicly documented — typical SaaS limits assumed and confirmed during scoping..

  • Data volume sensitivity

    B

    Total Control Pro doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Total Control Pro 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 Total Control Pro to Odoo CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Migrations with under 5,000 Customers, 2,000 Products, and no MRP module scope land between three and five weeks. Migrations with active BOM revision histories, MIM KPI time-series exports, Quality Checks per Work Order, and Odoo MRP in scope extend to eight to twelve weeks. The primary timeline variable is vendor responsiveness on database export access and the volume of BOM revision reconciliation required from the customer before import.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Total Control Pro.
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