CRM migration
Field-level mapping, validation, and rollback between BlinQ and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
BlinQ
Source
Odoo CRM
Destination
Compatibility
11 of 12
objects map 1:1 between BlinQ and Odoo CRM.
Complexity
BStandard
Timeline
24–72 hours
Overview
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.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
Odoo CRM
res.partner
1:1BlinQ 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)
Odoo CRM
res.partner (multiple)
1:manyBlinQ 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
Odoo CRM
res.partner (_tags) + tag record
1:1BlinQ 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
Odoo CRM
mail.message
1:1BlinQ 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)
Odoo CRM
res.partner custom fields
1:1BlinQ 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
Odoo CRM
res.partner custom fields
1:1BlinQ 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
Odoo CRM
res.partner (company)
1:1BlinQ 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
Odoo CRM
res.users
1:1BlinQ 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
Odoo CRM
crm.lead source_id
1:1BlinQ 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
Odoo CRM
res.partner (create_date)
1:1BlinQ'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
Odoo CRM
mail.activity
1:1BlinQ'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
Odoo CRM
no_equivalent
1:1BlinQ 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.
| BlinQ | Odoo CRM | Compatibility | |
|---|---|---|---|
| BlinQ Contact Card | res.partner1:1 | Fully supported | |
| BlinQ Contact Card (multi-profile) | res.partner (multiple)1:many | Fully supported | |
| BlinQ Tags / Qualifiers | res.partner (_tags) + tag record1:1 | Fully supported | |
| BlinQ Meeting Notes | mail.message1:1 | Fully supported | |
| BlinQ Enrichment Data (job title, company) | res.partner custom fields1:1 | Fully supported | |
| BlinQ Card Custom Fields | res.partner custom fields1:1 | Fully supported | |
| BlinQ Company / Organization | res.partner (company)1:1 | Fully supported | |
| BlinQ Owner / User | res.users1:1 | Fully supported | |
| BlinQ Lead Source | crm.lead source_id1:1 | Fully supported | |
| BlinQ Connection Date | res.partner (create_date)1:1 | Fully supported | |
| BlinQ CRM Sync Log | mail.activity1:1 | Fully supported | |
| BlinQ Email Signature Builder Data | no_equivalent1:1 | Fully supported |
Gotchas + challenges
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 gotchas
Credit system charges per scan and sync
Recipient solicitation emails sent automatically
No public bulk export API documented
CRM sync deduplication rules affect imported records
Odoo CRM gotchas
Odoo.sh version gating blocks assisted migrations from trial
Enterprise modules fail to install on Community after database restore
Custom module view inheritance breaks between Odoo major versions
Custom fields risk losing their application context on Community
API access for Community is gated behind the Custom Plan
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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
BlinQ
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between BlinQ and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across BlinQ and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between BlinQ and Odoo CRM.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
BlinQ: Not publicly documented.
Data volume sensitivity
BlinQ doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during BlinQ to Odoo CRM migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave BlinQ
Other ways to arrive at Odoo CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.