CRM migration

Migrate from BlinQ to Odoo CRM

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

BlinQ logo

BlinQ

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

92%

11 of 12

objects map 1:1 between BlinQ and Odoo CRM.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

BlinQ is a digital business card platform that captures contacts, tags, meeting context, and AI-generated notes and syncs them to CRMs via native connectors or Zapier. Odoo CRM stores contacts as res.partner records and leads as crm.lead records, with tags managed via ir.model.data tags on the partner model and meeting history stored as mail.message or calendar.event records. The migration carries every contact card, tag, qualifier, and meeting note from BlinQ into Odoo's partner and lead records, preserving original timestamps and owner assignments. Enrichment data that BlinQ adds during sync (job title enrichment, company data fill) migrates as read-only custom fields on res.partner. BlinQ workflows do not exist in the CRM sense — there are no automation rules, sequences, or lead-assignment rules to rebuild. The migration runs via Odoo's XML-RPC external API with batch upserts on res.partner and crm.lead, resolving contacts by email address as the unique key. A delta-pickup window captures any contacts added or updated in BlinQ during the cutover window. Odoo custom fields are created via ir.model.fields before migration data lands, so the field schema is ready at load time.

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

BlinQ logo

BlinQ

What's pushing teams away

  • Credit system charges $5 per badge scan and $5 per CRM sync, making high-volume event usage unpredictable and costly at scale.
  • Recipients receive solicitation emails after being scanned, which some users report as intrusive and damaging to relationship-building.
  • Power users find the platform's depth plateaus once it becomes central to their workflow—automation, integrations, and analytics feel limited for heavy daily reliance.
  • Analytics are paywalled on all tiers, so teams cannot access basic connection reporting without an additional subscription.
  • No documented public API or bulk export endpoint means data portability relies on CRM sync workarounds or manual downloads.

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

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

BlinQ

BlinQ Contact Card

maps to

Odoo CRM

res.partner

1:1
Fully supported

BlinQ contact cards map directly to Odoo res.partner records using a one-to-one mapping. Each card owner's profile becomes a res.partner record with partner_type='contact'. The External ID field on Odoo is set to BlinQ's contact UUID, enabling reliable de-duplication and idempotent re-migration if needed.

BlinQ

BlinQ Contact Card (multi-profile)

maps to

Odoo CRM

res.partner (multiple)

1:many
Fully supported

BlinQ users with multiple card profiles (personal, work, event-specific) produce one res.partner per profile, each tagged with a custom Profile_Type__c Char field identifying the card variant. This approach prevents Odoo from collapsing distinct profiles that share the same email address into a single contact record, preserving the full richness of the original BlinQ data.

BlinQ

BlinQ Tags / Qualifiers

maps to

Odoo CRM

res.partner (_tags) + tag record

1:1
Fully supported

BlinQ tags become Odoo ir.model.data tags on res.partner. We preserve the full tag list and apply all tags to the mapped contact record. Tags with qualifiers like 'Decision Maker' or 'Event Lead' map to a custom Qualifier__c field in addition to the tag.

BlinQ

BlinQ Meeting Notes

maps to

Odoo CRM

mail.message

1:1
Fully supported

BlinQ meeting notes with AI-generated conversation summaries attach to the corresponding Odoo res.partner record as mail.message entries with subtype='comment'. The original meeting date and BlinQ meeting ID are stored in custom fields (Meeting_ID__c) for full traceability back to the source BlinQ record.

BlinQ

BlinQ Enrichment Data (job title, company)

maps to

Odoo CRM

res.partner custom fields

1:1
Fully supported

BlinQ auto-enrichment data (job title, company size, industry, and social profiles) has no direct Odoo equivalent — we create custom Char fields Enrichment_Job_Title__c, Enrichment_Company_Size__c, Enrichment_Industry__c on res.partner and populate them directly from BlinQ's enrichment payload during migration, preserving this valuable context.

BlinQ

BlinQ Card Custom Fields

maps to

Odoo CRM

res.partner custom fields

1:1
Fully supported

BlinQ card fields beyond name, email, phone (custom URL fields, social handles, product interest fields) are created as custom fields on res.partner in Odoo using Studio before migration data loads. Field type (Char, Selection, URL) is matched to the BlinQ field definition.

BlinQ

BlinQ Company / Organization

maps to

Odoo CRM

res.partner (company)

1:1
Fully supported

BlinQ contacts with a linked company record map to a res.partner with partner_type='company'. The contact record links to the company via parent_id, establishing the proper hierarchy in Odoo. If BlinQ has no separate company object, the contact's employer name is used to create the company record name in Odoo.

BlinQ

BlinQ Owner / User

maps to

Odoo CRM

res.users

1:1
Fully supported

BlinQ card owners are matched to Odoo res.users by email address using a lookup against the Odoo user table. Unmatched owners are flagged in a pre-migration report — these records land on a default 'BlinQ Import' user or remain unassigned for administrative routing and manual assignment after migration completes.

BlinQ

BlinQ Lead Source

maps to

Odoo CRM

crm.lead source_id

1:1
Fully supported

BlinQ tracks how a contact was captured (card scan, QR code scan, manual add, or event badge scan). This capture source value maps to Odoo's crm.lead source_id pick-list for lead attribution reporting. BlinQ event-source data maps to the Campaign field on crm.lead if a corresponding Odoo campaign record exists.

BlinQ

BlinQ Connection Date

maps to

Odoo CRM

res.partner (create_date)

1:1
Fully supported

BlinQ's connection date (the timestamp when two users exchanged digital business cards) migrates as the Odoo res.partner create_date field, establishing the correct record age in Odoo. The original BlinQ connection timestamp is also preserved in a custom Connection_Date__c datetime field for reporting continuity and historical analysis.

BlinQ

BlinQ CRM Sync Log

maps to

Odoo CRM

mail.activity

1:1
Fully supported

BlinQ's internal CRM sync history (which shows when a contact was pushed to Salesforce or HubSpot) has no Odoo equivalent. This audit trail is not migrated; FlitStack's own migration audit log serves as the authoritative record for the Odoo cutover.

BlinQ

BlinQ Email Signature Builder Data

maps to

Odoo CRM

no_equivalent

1:1
Fully supported

BlinQ email signature configurations and the signature design data are platform-specific features that do not map to Odoo CRM's data model. Contact records transfer successfully; however, email signature assets must be rebuilt in Odoo's email alias configuration or replicated using a separate email signature management tool after migration.

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.

BlinQ logo

BlinQ gotchas

High

Credit system charges per scan and sync

Medium

Recipient solicitation emails sent automatically

High

No public bulk export API documented

Medium

CRM sync deduplication rules affect imported records

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

  • Multi-profile card split creates duplicate email records in Odoo if not handled explicitly

    BlinQ users with multiple card profiles (personal, work, event-specific) share the same email address across profiles. Odoo's res.partner model treats email as a soft uniqueness key for deduplication — if two BlinQ profiles with the same email are loaded without a profile-type discriminator, Odoo merges them into one record. We split each BlinQ card profile into a separate res.partner with a Profile_Type__c custom field and a composite external_id combining the BlinQ card ID and profile ID, preventing Odoo from collapsing distinct profiles. This requires the custom field to exist before data loads, so Odoo Studio field creation is Step 1 of the migration plan.

  • BlinQ tags do not map to Odoo crm.lead.partner_assigned_id — a separate tagging strategy is required

    BlinQ's qualifier tags like 'Decision Maker' and 'Event Lead' have no built-in equivalent in Odoo's crm.lead model. Odoo has no contact-to-lead association label system — Opportunity Contact Roles are the closest native construct but those apply to opportunity records, not lead records. We map BlinQ tags to Odoo ir.model.data tags on res.partner and store the primary qualifier in a Qualifier__c custom Selection field. Teams that need granular association labels (e.g. 'Champion', 'blocker') must decide whether to collapse them into the Qualifier__c field or create a custom many2many relation to a dedicated qualifier-type model. This decision is surfaced in the migration plan before data loads.

  • BlinQ meeting notes and AI conversation summaries lack a native Odoo field — they land in mail.message with no searchable conversation view

    BlinQ stores AI-generated meeting notes and conversation context as a structured note attached to each connection record. Odoo has no native 'conversation note' field on res.partner — the closest storage location is a mail.message record with subtype='comment'. This means meeting notes from BlinQ appear in Odoo's chatter as generic message entries, not in a dedicated notes panel, and are not surfaced in Odoo's lead scoring or activity reporting by default. We preserve the full note body, original meeting date, and BlinQ meeting ID, but teams relying on BlinQ's conversation-summary UI will need a custom Odoo widget or a separate notes module to replicate that experience.

  • BlinQ's credit-based billing model has no Odoo equivalent and does not carry over — billing context is lost unless preserved manually

    BlinQ legacy plans charge $5 per badge scan and $5 per CRM sync, creating a credit-consumption record that tracks how many times a contact was scanned or pushed to a CRM. Odoo CRM has no billing-flag equivalent — there is no native field that records how many times a partner was 'synced' or 'scanned.' We do not migrate this credit-consumption history as it has nowhere to land in Odoo's data model. If your team uses scan-count data for ROI reporting on event networking spend, this metric must be rebuilt in Odoo using the custom BlinQ_Scan_Count__c field we migrate, combined with a dashboard query — but the historical credit ledger from BlinQ is not transferable.

  • Odoo XML-RPC API rate limits require batch sequencing that extends migration time for large contact volumes

    Odoo's XML-RPC external API enforces request-rate guidelines per Odoo Community and Enterprise documentation. For migrations with more than 10,000 BlinQ contacts, we batch records in groups of 200–500 per API call and introduce retry logic with exponential backoff to handle 429 Too Many Requests responses. Large BlinQ exports with meeting notes and enrichment data nested per contact increase payload size, which can trigger Odoo's worker memory limits on lower-tier Odoo.sh instances. We validate Odoo instance specs during the assessment phase and throttle batch sizes accordingly. This is handled automatically but disclosed because it directly affects the migration timeline for high-volume BlinQ exports.

Migration approach

Six steps for a successful BlinQ to Odoo CRM data migration

  1. Create Odoo custom fields before migration data loads

    Before any BlinQ data is extracted, FlitStack AI reviews the BlinQ card schema — custom card fields, enrichment fields, profile-type variants — and creates matching custom fields on Odoo's res.partner model via Odoo Studio or direct xmlrpc call. Fields created include Enrichment_Job_Title__c, Enrichment_Company_Size__c, Enrichment_Industry__c, Profile_Type__c, Qualifier__c, LinkedIn_URL__c, Twitter_Handle__c, Connection_Date__c, BlinQ_Scan_Count__c, Custom_URL__c, Meeting_ID__c, and Event_Name__c. Tag records for BlinQ's tag vocabulary are pre-created in Odoo so tag_ids Many2many assignments resolve at load time rather than creating tags on the fly.

  2. Export BlinQ contacts and resolve Odoo owners by email

    FlitStack AI exports the full BlinQ contact export including multi-profile card variants, tags, meeting notes, and enrichment payloads. Owner resolution runs against Odoo res.users by email address — matched users get their user_id assigned to migrated crm.lead records. Unmatched owners (BlinQ users not yet in Odoo) are flagged in a pre-migration owner report. Your team either creates Odoo user accounts for those owners or designates a fallback user before the full migration runs. No record lands in Odoo without a resolved or assigned owner.

  3. Migrate companies first, then contacts, then meeting notes

    BlinQ company names resolve to Odoo res.partner company records (partner_type=company) before contacts load, since Odoo res.partner links contacts to companies via parent_id. After companies are confirmed in Odoo, contacts load as res.partner records with parent_id set to the matched company. Multi-profile BlinQ cards produce separate res.partner records with Profile_Type__c set per variant. Meeting notes from BlinQ are extracted as a separate payload and attached as mail.message records on the corresponding res.partner after the contact record exists in Odoo.

  4. Run sample migration with field-level diff before full commit

    A representative sample — typically 100–300 BlinQ contact records spanning different card profiles, tag sets, and meeting-note variants — migrates to Odoo first. FlitStack AI generates a field-level diff report comparing source values against destination field contents. You verify that BlinQ tags appear correctly in Odoo's tag filter, meeting notes appear in the partner's chatter, enrichment fields are populated, and Profile_Type__c is set for multi-profile contacts. Owner resolution is validated against the flag report from Step 2. The sample run must pass your sign-off before the full migration proceeds.

  5. Execute full migration with delta-pickup window

    Full BlinQ contact export loads into Odoo via batched XML-RPC calls with retry logic. After the initial load completes, a delta-pickup window of 24–48 hours captures any BlinQ contacts added or updated during the cutover period. FlitStack AI's audit log records every record operation (create, update, link) with source BlinQ ID, destination Odoo ID, and timestamp. One-click rollback is available if reconciliation fails — the audit log allows a full reversal and a clean re-run. After rollback window closes, your team activates Odoo as the system of record and BlinQ moves to read-only or is decommissioned.

Platform deep dives

Context on both ends of the pair

BlinQ logo

BlinQ

Source

Strengths

  • Free plan with two full cards and no branding watermark is the most generous entry-level offering in the category.
  • Native direct-sync connectors for Salesforce and HubSpot without requiring Zapier for core CRM workflows.
  • Captures full contact context beyond name and email—notes, tags, meeting details, and enrichment all flow to the CRM.
  • Email signature builder embeds the digital card directly into outbound email without manual setup.
  • Enterprise tier includes SSO, dedicated customer success, priority support, and custom onboarding for 300+ seat deployments.

Weaknesses

  • Credit-based billing for badge scans and CRM syncs creates unpredictable costs for high-volume event users.
  • No documented public API or bulk data export endpoint limits migration to CRM sync workarounds and manual downloads.
  • Analytics and reporting are paywalled on all tiers, restricting visibility into connection volume and trends.
  • Recipients receive solicitation emails after being scanned, which can conflict with professional networking expectations.
  • The platform's depth reaches a ceiling for users who depend on it heavily—automation and integration expansion is limited compared to all-in-one CRM 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. All 8 core objects map 1:1 between BlinQ and Odoo CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between BlinQ 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

    BlinQ: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most BlinQ-to-Odoo CRM migrations complete within 24–72 hours for under 10,000 contact records. The fastest-moving step is contact extraction from BlinQ; the longest step is Odoo custom field creation via Studio if you have more than 15 custom card fields to pre-create. Migrations exceeding 50,000 contacts or containing extensive meeting-note history extend to 5–10 days because Odoo's XML-RPC API rate limits require smaller batch sizes for large payloads. The delta-pickup window adds 24–48 hours at the end regardless of volume.

Adjacent paths

Related migrations to explore

Ready when you are

Move from BlinQ.
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