CRM migration
Field-level mapping, validation, and rollback between Giva eHelpDesk and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Giva eHelpDesk
Source
Odoo CRM
Destination
Compatibility
12 of 12
objects map 1:1 between Giva eHelpDesk and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Giva eHelpDesk is a cloud-native service-desk and ITSM platform built around tickets, customers, knowledge-base articles, and asset records, with a strong focus on HIPAA compliance for healthcare and regulated industries. Odoo CRM uses a fundamentally different model: res.partner for all contacts and organizations, crm.lead for both leads and opportunities (with stage-based conversion), and ir_attachment for files. The migration carries all standard objects — customers, contacts, service requests, knowledge-base articles, and attachments — into Odoo's relational model via XML-RPC API, with a sample-and-diff pass before the full run commits. Giva's automated service-desk rules, approval chains, and SLA timers have no Odoo equivalent and must be rebuilt post-migration using Odoo's automation rules and Studio. FlitStack exports your Giva workflow definitions as a reference document so your Odoo admin can redesign them in the new system. The process preserves original create and write timestamps on every record, maintains the owner and assignee links, and includes a 24–48 hour delta pickup window for changes made during cutover.
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 Giva eHelpDesk 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.
Giva eHelpDesk
Customer
Odoo CRM
res.partner
1:1Giva customers map directly to Odoo res.partner records. The partner's type field (company vs. individual) determines whether it is created as a company or individual contact. Giva contact records with no associated customer require a separate res.partner of type 'individual'.
Giva eHelpDesk
ServiceRequest
Odoo CRM
crm.lead
1:1Giva service requests become Odoo crm.lead records. The Giva status field determines the Odoo lead_type: 'New' and 'Open' requests land as type 'lead'; 'Resolved' or 'Closed' requests with a linked customer become type 'opportunity'. Priority, request type, and category are stored as custom fields on crm.lead.
Giva eHelpDesk
ServiceRequest.priority
Odoo CRM
crm.lead (custom field)
1:1Giva priority levels (Low, Medium, High, Critical) have no native Odoo equivalent on crm.lead. We create a selection custom field (Priority__c) in Odoo Studio before import and preserve exact Giva priority values. The custom field uses the same selection options as Giva to maintain triage continuity in Odoo's lead list view.
Giva eHelpDesk
ServiceRequest.request_type
Odoo CRM
crm.lead (custom field)
1:1Giva request types (Incident, Service Request, Problem) are preserved as a custom selection field on crm.lead (Request_Type__c) since Odoo's default crm.lead model does not carry a request-type property. This ensures the original categorization survives the migration and remains available for filtering and reporting in Odoo.
Giva eHelpDesk
ServiceRequest.category
Odoo CRM
crm.lead.tag_ids
1:1Giva request categories translate to Odoo tags on crm.lead. Each unique Giva category becomes a tag in Odoo. Tags are created during the pre-migration schema setup phase and linked during import. This mapping allows your team to filter leads by the original Giva category without requiring custom field creation.
Giva eHelpDesk
KnowledgeArticle
Odoo CRM
documents.document / ir.ui.view
1:1Odoo has no native knowledge-base article model in the base CRM module. Articles are migrated as Odoo Documents records (documents.document) with title, content, and source URL preserved. Access-control lists from Giva cannot be translated directly and require manual Odoo permission-group assignment post-migration.
Giva eHelpDesk
Attachment / File
Odoo CRM
ir_attachment
1:1Giva file attachments on service requests are imported as ir_attachment records linked to the corresponding crm.lead via res_model and res_id. Large files are chunked to respect Odoo's attachment size limits. Original filenames and MIME types are preserved. Binary content is decoded from base64 during import to populate Odoo's datas field directly.
Giva eHelpDesk
Giva Custom Fields
Odoo CRM
Custom fields on res.partner / crm.lead
1:1Giva custom fields (SLA timers, health scores, compliance flags) are created in Odoo Studio as matching field types before import. Selection-type custom fields in Giva become Odoo selection fields; numeric fields become float or integer; text fields become char or text.
Giva eHelpDesk
Giva User / Technician
Odoo CRM
res.users
1:1Giva users are resolved against Odoo res.users by email address match. Unmatched technicians are flagged pre-migration — you either create their Odoo user account first or assign their records to a fallback user. Deactivated Giva users are preserved as a custom lookup field rather than active Odoo users.
Giva eHelpDesk
Giva SLA Agreement
Odoo CRM
crm.lead (custom field)
1:1Odoo Community lacks a native SLA tracking module for CRM. SLA agreement names, response-time targets, and breach flags from Giva are stored as custom fields on crm.lead (SLA_Name__c, SLA_Response_Hours__c). Odoo Enterprise add-ons can provide native SLA tracking if you upgrade.
Giva eHelpDesk
Giva Company Hierarchy
Odoo CRM
res.partner.parent_id
1:1Giva parent-child company relationships map to res.partner.parent_id in Odoo. Parent companies must be migrated first to avoid circular-reference errors. FlitStack flags any circular hierarchy in the Giva data before import order is finalized. This ensures parent_id links resolve correctly during the res.partner batch import phase.
Giva eHelpDesk
Giva Customer Health Score
Odoo CRM
res.partner (custom field)
1:1Giva health-score ratings have no Odoo CRM equivalent. The score is stored as a custom float field (Health_Score__c) on res.partner so it remains visible in Odoo's partner form view. The scoring model itself needs to be re-implemented in Odoo's automation or custom logic post-migration.
| Giva eHelpDesk | Odoo CRM | Compatibility | |
|---|---|---|---|
| Customer | res.partner1:1 | Fully supported | |
| ServiceRequest | crm.lead1:1 | Fully supported | |
| ServiceRequest.priority | crm.lead (custom field)1:1 | Fully supported | |
| ServiceRequest.request_type | crm.lead (custom field)1:1 | Fully supported | |
| ServiceRequest.category | crm.lead.tag_ids1:1 | Fully supported | |
| KnowledgeArticle | documents.document / ir.ui.view1:1 | Fully supported | |
| Attachment / File | ir_attachment1:1 | Fully supported | |
| Giva Custom Fields | Custom fields on res.partner / crm.lead1:1 | Fully supported | |
| Giva User / Technician | res.users1:1 | Fully supported | |
| Giva SLA Agreement | crm.lead (custom field)1:1 | Fully supported | |
| Giva Company Hierarchy | res.partner.parent_id1:1 | Fully supported | |
| Giva Customer Health Score | res.partner (custom field)1: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.
Giva eHelpDesk gotchas
No documented public API for bulk data export
Knowledge base articles are decoupled from ticket objects
AI Copilot settings and trained knowledge bases cannot be transferred
Cross-Service Desk ticket moves are not supported by Giva
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
Giva API export and schema audit
FlitStack connects to your Giva instance via scoped read-access API and extracts the full object inventory: customers, service requests, knowledge-base articles, attachments, custom fields, and user accounts. We audit the schema for circular company hierarchies, orphaned records, custom field data types, and SLA field presence. The audit output is a migration plan listing which objects will map to which Odoo models and which fields require Odoo Studio creation before import.
Odoo schema pre-creation
Before data lands in Odoo, your admin (or our team via Odoo Studio) creates the custom fields identified in the audit: Priority__c and Request_Type__c on crm.lead, Health_Score__c and SLA_Name__c on res.partner, Source_System__c, Original_Create_Date__c, and Original_Modified_Date__c. Tags matching Giva categories are created under CRM > Tags. Documents folders matching Giva KB categories are set up under Documents. Odoo crm.team records are created to match Giva team names.
User resolution by email
Giva technician and assignee email addresses are matched against Odoo res.users records using exact email matching. This cross-reference ensures that service requests retain their original owner assignments after migration. Unmatched technicians appear in a pre-flight report where you decide whether to create their Odoo user account before migration or route their records to a designated fallback user. Inactive Giva users are mapped to inactive Odoo users with their original email preserved in a custom field for future reference.
Sample migration with field-level diff
A representative slice of 100–500 records (spanning customers, service requests, knowledge articles, and attachments) migrates first. FlitStack generates a field-level diff comparing source values against the Odoo record, verifying priority mapping, lead_type routing, tag creation, and attachment linkage. You review the diff and approve before the full run commits. This pass also surfaces any Giva KB HTML that requires special handling during body conversion.
Full migration with delta-pickup window
The full dataset migrates via Odoo's XML-RPC API in ordered batches: res.partner first (for foreign-key resolution), then crm.lead with resolved user_id and team_id links, then ir_attachment linked to crm.lead records, then documents.document for knowledge-base articles. A 24–48 hour delta-pickup window runs concurrently with your team continuing to work in Giva, capturing any records modified or created during cutover. An audit log records every imported record with source system ID for reconciliation.
Post-migration validation and workflow reference handoff
FlitStack runs record-count validation (source vs. destination), relationship integrity checks (crm.lead to res.partner links, ir_attachment to crm.lead links), and custom-field completeness checks. You receive a Giva workflow-export document listing all automated rules, macros, and approval chains as a text reference for your Odoo admin to rebuild. One-click rollback is available if reconciliation reveals record-count gaps exceeding the agreed tolerance threshold.
Platform deep dives
Giva eHelpDesk
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Giva eHelpDesk and Odoo CRM.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
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
Giva eHelpDesk: Not publicly documented.
Data volume sensitivity
Giva eHelpDesk 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 Giva eHelpDesk to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Giva eHelpDesk 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 Giva eHelpDesk
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.