CRM migration

Migrate from Thunderbolt Pipeline to Odoo CRM

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

Thunderbolt Pipeline logo

Thunderbolt Pipeline

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

93%

13 of 14

objects map 1:1 between Thunderbolt Pipeline and Odoo CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Thunderbolt Pipeline is a construction-focused bid management and CRM platform that combines workforce planning, bid tracking, and customer relationship tools in a single subscription. Teams typically outgrow Thunderbolt Pipeline when they need deeper ERP integration, multi-currency accounting, inventory management, or the ability to connect CRM records directly to projects and purchase orders. Odoo CRM — part of the Odoo business suite — models leads as crm.lead records and companies as res.partner records, with opportunities moving through configurable pipeline stages. FlitStack AI extracts Thunderbolt Pipeline contacts, companies, bid records, notes, and activities via the platform's export capabilities, then maps them into Odoo CRM using XML-RPC imports. We preserve bid amounts, stage history, and owner assignments as custom fields where native Odoo fields don't exist. Automations, bid templates, and workforce schedules do not migrate — those require Odoo workflow rebuild and can be exported from Thunderbolt Pipeline as reference documents. The migration runs against Odoo's XML-RPC API with a test-pass-full-run sequence and a 24–48 hour delta window for in-flight records.

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

Thunderbolt Pipeline logo

Thunderbolt Pipeline

What's pushing teams away

  • The platform lacks a documented public API, forcing customers who need system integrations or automated data flows to work around the limitation.
  • Some users report that update notifications for bid status changes lack clarity, making it harder to track what shifted and when.
  • Construction firms scaling beyond mid-size find the platform's feature set narrower than full-suite competitors like Procore or Monday.com.
  • A lack of native QuickBooks or accounting integrations means financial data must be reconciled manually or through third-party connectors.
  • Users in multi-office or multi-trade environments note limited advanced reporting for cross-project performance analysis.

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

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

Thunderbolt Pipeline

Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

Thunderbolt Pipeline contacts map to Odoo res.partner records. Email, phone, address, and job title fields transfer directly. Role type flags (General Contractor, Subcontractor, Supplier) migrate as partner category tags in Odoo for downstream segmentation. Contacts without a company link in Thunderbolt create standalone partner records.

Thunderbolt Pipeline

Company

maps to

Odoo CRM

res.partner (company_type)

1:1
Fully supported

Thunderbolt Pipeline company records map to company-type res.partner in Odoo. Company name becomes partner name, website maps to the website field, and address fields transfer directly. Employee count and annual revenue have no native Odoo equivalent and migrate as custom fields if that data exists in Thunderbolt. Parent-company hierarchies in Thunderbolt map to the parent_id field on res.partner.

Thunderbolt Pipeline

Contact + Company link

maps to

Odoo CRM

res.partner + Contact

many:1
Fully supported

Thunderbolt Pipeline allows contacts to be associated with multiple companies (N:N relationship). Odoo res.partner stores a single parent_id for the primary company link. We migrate the most recently modified company as the primary link and surface secondary company associations as notes on the partner record for manual rebuild in Odoo's Contact module if needed.

Thunderbolt Pipeline

Bid

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Thunderbolt Pipeline bid records become Odoo CRM leads. Bid amount maps to planned_revenue, bid stage maps to crm.stage, and bid owner resolves to crm.lead.user_id by email. Bid records without a primary contact link to the company partner record. Attachments re-upload as Odoo ir.attachment records linked to the crm.lead.

Thunderbolt Pipeline

Bid Stage

maps to

Odoo CRM

crm.stage

1:1
Fully supported

Thunderbolt Pipeline bid stages (Bidding, Under Review, Awarded, Lost, etc.) map to Odoo CRM stage records. Odoo stages must be pre-created with exact name matches before the migration runs, otherwise leads import with no stage or fail validation. Each Thunderbolt stage requires a corresponding Odoo stage ID in the value-mapping table.

Thunderbolt Pipeline

Bid Owner

maps to

Odoo CRM

crm.lead.user_id

1:1
Fully supported

Thunderbolt Pipeline bid owner resolved to Odoo res.users by email match. If the owner email does not correspond to an active Odoo user, the record is flagged and assigned to a fallback user or team lead. Owner resolution happens before bid records are imported to prevent orphaned leads without a responsible user.

Thunderbolt Pipeline

Attachment / File

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

Thunderbolt Pipeline file attachments on bid records re-upload as Odoo ir.attachment records linked to the corresponding crm.lead. Files download from Thunderbolt, re-upload to Odoo, and attach via the ir.attachment model. File size limits from Odoo apply (default 25MB per file for file storage; larger files require adjustments to Odoo file storage configuration).

Thunderbolt Pipeline

Note

maps to

Odoo CRM

mail.message

1:1
Fully supported

Thunderbolt Pipeline notes on bid records become Odoo mail.message records on the crm.lead. Original timestamps and note authors are preserved in the mail.message fields create_date and create_uid. Notes import as plain text; rich-text formatting may simplify during import but the content and timing are preserved.

Thunderbolt Pipeline

Project

maps to

Odoo CRM

project.project

1:1
Fully supported

Thunderbolt Pipeline project records map to Odoo project.project. Project name, address, start date, and end date transfer directly. Contract value maps to the Odoo accounting module if Project plus Accounting are activated; otherwise stored as a custom Decimal field for reference. Projects without the Odoo Project module active import as crm.lead records with a project reference flag.

Thunderbolt Pipeline

Custom Field: Trade Category

maps to

Odoo CRM

res.partner.category_id

1:1
Fully supported

Thunderbolt Pipeline's Trade Category field (Electrical, Plumbing, HVAC, General, etc.) maps to Odoo partner categories. Partner categories must be pre-created in Odoo CRM before import with exact name matches. If a category name in Thunderbolt has no matching Odoo category, the record imports as uncategorized and is flagged for review.

Thunderbolt Pipeline

Custom Field: License Number

maps to

Odoo CRM

res.partner (custom Char field)

1:1
Fully supported

License numbers or contractor certification IDs migrate as custom Char fields on res.partner. Requires Odoo developer mode to create the field or a custom module. The field name in Odoo follows the x_studio prefix convention (e.g., x_license_number). The custom field must be created before migration begins or the data is skipped during import.

Thunderbolt Pipeline

Custom Field: Bonding Limit

maps to

Odoo CRM

res.partner (custom Decimal field)

1:1
Fully supported

Bonding limits migrate as custom Decimal fields on res.partner (for contractor info) or on crm.lead (for bid-level bonding requirements). The placement depends on whether the bonding info is a contractor attribute or a bid-specific requirement. Odoo developer mode or a custom module is required to create the field before migration runs.

Thunderbolt Pipeline

Lead Source

maps to

Odoo CRM

utm.source + utm.medium (if Marketing active) or custom Char field

1:1
Fully supported

Thunderbolt Pipeline lead source tracking (Website Inquiry, Referral, Trade Show, Bid Invite) has no native Odoo equivalent unless the Odoo Marketing module is activated. Without Marketing, source data migrates as a custom Char field on crm.lead for reporting reference. If Marketing is active, UTM source and medium tags are created and linked to the lead.

Thunderbolt Pipeline

Workforce Assignment

maps to

Odoo CRM

crm.lead (custom field or note)

1:1
Fully supported

Thunderbolt Pipeline's workforce assignment feature (assigning workers or crews to bids) has no Odoo CRM equivalent. Assignments migrate as a custom Many2many field linking crm.lead to res.users, or as a text note on the crm.lead for manual entry. If the Odoo Project module is active, worker assignments can be tracked via project.task records linked to the opportunity.

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.

Thunderbolt Pipeline logo

Thunderbolt Pipeline gotchas

High

No public API forces manual or custom-export migration approach

Medium

Real-time data dependency complicates cutover timing

Low

Update notification ambiguity can mask recent data changes

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

  • Construction-specific custom fields require Odoo schema setup before migration

    Thunderbolt Pipeline's custom fields for trade categories, license numbers, bonding limits, and insurance expiry dates have no native Odoo CRM equivalent. These fields must be created in Odoo before the migration runs — either via developer mode (Settings > Technical > Models > Add Field) or via a custom module. If the custom fields don't exist at migration time, the data is skipped and lost. FlitStack delivers a custom-field creation guide as part of the Odoo schema setup plan, so the fields are ready before data lands. Construction-specific metadata like license numbers is often legally significant, making this a high-severity gap if overlooked.

  • Bid stage values require Odoo crm.stage records to exist before import

    Thunderbolt Pipeline bid stages (Bidding, Under Review, Awarded, Lost, etc.) are free-form labels. Odoo CRM requires crm.stage records with an id field — leads cannot import with a stage name that doesn't correspond to an existing stage record. If stages don't pre-exist in Odoo, leads import without a stage or error out depending on Odoo's validation settings. FlitStack creates a stage-mapping table during discovery and delivers a step-by-step stage-creation guide for Odoo CRM before the migration runs. This is a common setup gap for teams that haven't configured their Odoo pipeline before attempting data migration.

  • File attachments require a download-and-re-upload cycle

    Thunderbolt Pipeline stores bid attachments as managed files in its cloud storage. Odoo has no native import path for external file URLs — attachments must be downloaded from Thunderbolt and re-uploaded as Odoo ir.attachment records via the XML-RPC API. Large files (exceeding Odoo's default 25MB file size limit) may require Odoo file storage configuration changes before they can attach. FlitStack handles the download-and-re-upload cycle for all attachments, but teams should confirm their Odoo file storage limits with their Odoo administrator before migration if heavy attachment volume is expected.

  • Odoo Online external API access depends on plan tier

    FlitStack's Odoo migration engine runs against Odoo's XML-RPC API. On Odoo Online, external API access (XML-RPC) is available on certain plan tiers only — Starter plan may restrict or disable external API calls. If XML-RPC is unavailable, FlitStack falls back to Odoo's native CSV import wizard, which requires manual field mapping per import batch. Teams on Odoo Online should confirm their plan includes external API access before the migration begins. Odoo SH (self-hosted) and Odoo Enterprise on-premise always have full XML-RPC access.

  • Workforce assignment data has no native Odoo CRM equivalent

    Thunderbolt Pipeline's workforce assignment feature — assigning workers or crews to specific bids — is a construction-specific construct. Odoo CRM has no native field or relationship for worker-to-opportunity assignments. FlitStack migrates workforce assignments as a custom Many2many field linking crm.lead to res.users, but this requires custom field creation in Odoo. Alternatively, assignments surface as notes on the opportunity for manual rebuild. If the Odoo Project module is active, worker assignments can be tracked via project.task records, but that requires an additional configuration step post-migration.

Migration approach

Six steps for a successful Thunderbolt Pipeline to Odoo CRM data migration

  1. Set up Odoo CRM schema before migration

    Before any data moves, FlitStack delivers an Odoo setup plan covering: crm.stage pipeline stage creation matching Thunderbolt bid stages, partner category setup for trade types (Electrical, HVAC, Plumbing, etc.), custom field creation for license numbers, bonding limits, and insurance expiry dates, and confirmation of XML-RPC API access on Odoo Online. If the Odoo Project module is needed for project records, that module activation is included in the plan. Your Odoo administrator (or our team) creates the schema so the destination is ready before validation runs.

  2. Resolve owners and match users by email

    Thunderbolt Pipeline user accounts are matched to Odoo res.users by email address. FlitStack generates an owner-resolution report before migration: matched users are assigned to their records automatically, and unmatched owners are flagged with the option to assign them to a fallback user or invite them to Odoo first. No bid record lands in Odoo without a responsible user assigned. This step also validates that the Odoo users exist with the correct access rights to view and edit crm.lead records.

  3. Sequence the import: partners first, leads second, activities last

    Odoo's foreign-key constraints require a specific import order: company-type res.partner records before contact-type res.partner records (for parent_id links), then crm.lead records (for partner_id and user_id links), then attachments and activities. Thunderbolt Pipeline bid records with a primary contact link require the contact's res.partner record to exist first. FlitStack generates a sequenced import plan that resolves all foreign-key dependencies before any batch commits to Odoo, preventing orphaned records and validation errors.

  4. Run a sample migration with field-level diff

    A representative slice — typically 100–500 records covering contacts, companies, bids, and a sample of attachments and notes — migrates first. FlitStack generates a field-level diff comparing source values to destination values, so you can verify bid amount mapping to planned_revenue, stage mapping to crm.stage IDs, owner resolution, and custom field population before the full run commits. You approve the sample diff before FlitStack proceeds to the full migration. Any mapping adjustments identified during the sample phase are applied to the full run.

  5. Execute full migration with delta-pickup window

    The full migration runs against Odoo via XML-RPC. A delta-pickup window — typically 24–48 hours after the initial run completes — captures any Thunderbolt Pipeline bids modified or created during the cutover period. FlitStack maintains a scoped read connection to Thunderbolt Pipeline during this window. An audit log records every imported record with its source Thunderbolt ID for reconciliation. One-click rollback is available if the reconciliation check reveals unexpected gaps. After delta pickup, the Thunderbolt read connection is closed and the Odoo instance becomes the live CRM.

Platform deep dives

Context on both ends of the pair

Thunderbolt Pipeline logo

Thunderbolt Pipeline

Source

Strengths

  • Bid tracking from invitation through award with pipeline stage visualization in one dashboard
  • Workforce planning tied directly to pipeline visibility for margin-aware labor forecasting
  • Automated task notifications keep teams synchronized without manual follow-up
  • Consolidated Invites parses email bid packages directly into the Bid List
  • Customer support consistently rated perfect across verified review platforms

Weaknesses

  • No public API documented, limiting automation and third-party integrations
  • Limited native accounting and ERP connector ecosystem
  • Update notification clarity is a recurring user pain point
  • Feature set is narrower than full-construction-suite competitors for scaling firms
  • Multi-office and cross-project analytics are limited compared to enterprise platforms
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 Thunderbolt Pipeline 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

    Thunderbolt Pipeline: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Thunderbolt Pipeline to Odoo CRM migrations complete in 48–72 hours for under 10,000 records. Larger datasets with 50,000+ records or multiple custom fields (trade categories, license numbers, bonding limits) extend to 5–7 days. The longest step is Odoo schema setup — creating crm.stage records, partner categories, and custom fields — which runs parallel to the migration plan. FlitStack delivers the schema setup guide before the data migration begins so Odoo is ready when the import runs.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Thunderbolt Pipeline.
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