CRM migration
Field-level mapping, validation, and rollback between Digital BSS and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Digital BSS
Source
Odoo CRM
Destination
Compatibility
11 of 12
objects map 1:1 between Digital BSS and Odoo CRM.
Complexity
BStandard
Timeline
6-10 weeks
Overview
Moving from Digital BSS to Odoo CRM is a structural domain shift: Digital BSS is a telecom BSS platform built around OCS, PCRF, HSS, subscriber rating, and service plan hierarchies; Odoo CRM is an open-source ERP/CRM with a business-partner data model centered on Contacts, Companies, Opportunities, and Products. The migration does not move network-layer records (PCRF rules, HSS data, network element mappings) because they have no Odoo equivalents. We map Subscribers to Contacts with telecom-specific custom fields, Service Plans to Products with pricing list entries, Billing Accounts to Companies, and OCS prepaid buckets to a custom wallet or accounting ledger configured in Odoo. The most critical migration step is the OCS bucket cutover: we use a shadow-environment write-then-verify approach with a brief read-only window on the source to prevent double-spending. Workflows, automations, and tariff rating rules do not migrate; we deliver a written inventory of every custom bundle definition and PCRF rule requiring manual rebuild.
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 Digital BSS 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.
Digital BSS
Subscriber
Odoo CRM
Contact
1:1Digital BSS Subscriber records map to Odoo CRM Contact records. We extract subscriber_id, msisdn, imsi, service_type, plan_assignment, status, and balance into Odoo custom fields (x_subscriber_id, x_msisdn, x_imsi, x_service_type, x_plan_code, x_subscriber_status). The Contact's email and phone pull from the subscriber's contact details if present. We do not map network authentication credentials (passwords, SIM keys) into Odoo because Odoo has no HSS equivalent and these must remain in the BSS or network element.
Digital BSS
Service Plan / Tariff
Odoo CRM
Product
1:1Digital BSS Service Plans map to Odoo Products. The plan name, plan code, bundle allowances (voice minutes, data volume, SMS count), and rating rules extract into Odoo product fields and product variant attributes. Cross-service bundle discounts and allowance rollover rules do not map automatically; we extract them as a bundle definition document for the customer's product manager to reconfigure in Odoo's pricelist and product bundle rules. Plan-to-product mapping is verified against the Odoo product catalog before import.
Digital BSS
Billing Account
Odoo CRM
Company
1:1Digital BSS Billing Accounts map to Odoo CRM Company records. Account number, credit limit, AR balance, invoicing preferences, and payment method transfer to the Odoo Company (res.partner with customer=True). Tax configuration does not migrate because telecom tax rules vary by jurisdiction and must be rebuilt in Odoo's fiscal position and tax mapping. Open AR balances are flagged and reconciled before cutover.
Digital BSS
OCS Bucket (Prepaid Balance)
Odoo CRM
Custom Wallet / Account Move
1:1Prepaid balance buckets are high-integrity monetary records. We export current bucket balances with timestamps and write them to a staging table in Odoo. Because Odoo does not have a native OCS wallet, we configure a custom wallet module (using Odoo's account.payment or a custom account.move journal) or use a dedicated accounting ledger to track prepaid credits. The balance is verified in Odoo before the source OCS is deactivated. We perform a two-phase cutover: shadow write with balance verification, then a brief read-only window on the source to prevent double-spending.
Digital BSS
Product Catalog
Odoo CRM
Product Category + Product Template
1:1The Digital BSS product catalog hierarchy (services, plans, bundles, and constraints) maps to Odoo Product Categories and Product Templates. We preserve the catalog tree structure as a written mapping specification. Bundle constraints and cross-service discount formulas are extracted and presented as a reconfiguration guide for the Odoo product manager because Odoo's bundle rules (product variants, optional products, kits) handle these differently than OCS tariff formulas.
Digital BSS
Order / Subscription
Odoo CRM
Sale Order
1:1Digital BSS order records for plan activations, plan changes, and service cancellations map to Odoo Sale Orders. Order date, status, line items (plan assigned), and subscriber reference transfer. We preserve the order history timeline as closed Sale Orders so the customer has a full service-change record in Odoo. Active orders migrate as confirmed Sale Orders with their current status.
Digital BSS
Invoice
Odoo CRM
Account Invoice
1:1Historical invoices export as Odoo Account Invoice records (or Account Move in Odoo 17+). We map invoice number, date, line items, amounts, and AR status. Open invoices with outstanding balances are flagged for AR reconciliation before cutover. Invoice PDFs are stored as Odoo attachments linked to the corresponding invoice record. Tax configuration on invoice lines must be verified against Odoo's tax rules post-migration.
Digital BSS
PCRF Policy Rules
Odoo CRM
None (no equivalent)
1:1PCRF policy rules (QoS profiles, data cap enforcement, throttling policies) use vendor-specific syntax and have no Odoo CRM equivalent. We export the full PCRF rule set as a written translation manifest listing each rule's trigger, condition, action, and affected subscriber group. The operator's network team reviews and rebuilds these in the destination PCRF or network element. We do not migrate PCRF rules as code.
Digital BSS
AAA / HSS Records
Odoo CRM
None (no equivalent)
1:1Authentication, Authorization, and Accounting records plus Home Subscriber Server data manage device-level and subscriber-level network access. Odoo CRM has no HSS or AAA equivalent. We extract subscriber IMSI and device identifiers as part of the Subscriber-to-Contact mapping but do not attempt to write network authentication data to Odoo. The HSS remains in the BSS or network element and is not part of this migration scope.
Digital BSS
Network Element Mapping
Odoo CRM
None (no equivalent)
1:1Mapping between BSS records and physical or virtual network elements (MSC, GGSN, PGW identifiers) is platform-specific and not portable. We do not migrate these records and recommend they remain in the network element management system or OSS/BSS integration layer.
Digital BSS
Custom Fields / Extensions
Odoo CRM
Custom Fields
lossyDigital BSS custom fields for operator-specific subscriber or account data are detected during data audit, extracted per record, and mapped to equivalent Odoo custom fields (x_ prefix). We create the Odoo custom field definitions via Settings > Technical > Custom Fields before any data import. Any custom field with no Odoo equivalent is added to the custom field spec for the Odoo admin to review.
Digital BSS
Usage Records / CDRs
Odoo CRM
None (archived only)
1:1Call Detail Records and usage events are archived rather than migrated as live records. We extract the last-billed usage date and total usage summary per subscriber and write it to a custom field on the Contact record (x_last_usage_date, x_total_voice_minutes, x_total_data_mb). The full CDR archive remains in the source BSS or a data lake. No gap in rating occurs when the new OCS takes over because the balance verification step confirms bucket continuity.
| Digital BSS | Odoo CRM | Compatibility | |
|---|---|---|---|
| Subscriber | Contact1:1 | Fully supported | |
| Service Plan / Tariff | Product1:1 | Fully supported | |
| Billing Account | Company1:1 | Fully supported | |
| OCS Bucket (Prepaid Balance) | Custom Wallet / Account Move1:1 | Fully supported | |
| Product Catalog | Product Category + Product Template1:1 | Mapping required | |
| Order / Subscription | Sale Order1:1 | Fully supported | |
| Invoice | Account Invoice1:1 | Fully supported | |
| PCRF Policy Rules | None (no equivalent)1:1 | Mapping required | |
| AAA / HSS Records | None (no equivalent)1:1 | Mapping required | |
| Network Element Mapping | None (no equivalent)1:1 | Not supported | |
| Custom Fields / Extensions | Custom Fieldslossy | Mapping required | |
| Usage Records / CDRs | None (archived only)1:1 | Mapping required |
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.
Digital BSS gotchas
Legacy BSS data inconsistency blocks clean migration
PCRF and HSS rule translation requires manual work
Prepaid OCS bucket cutover must be atomic
Custom product bundles do not auto-map between vendors
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
Discovery and data audit
We audit the Digital BSS instance across subscriber record count, service plan hierarchy, billing account structure, OCS bucket volume, custom bundle definitions, PCRF rule count, and historical invoice and order volume. We pair this with a review of the target Odoo deployment (new instance or existing, Odoo version, installed modules, existing custom fields). The discovery output is a written migration scope, a source-to-destination object mapping spec, and a decision on whether Odoo CRM operates standalone or alongside a retained OCS layer for rating.
OCS gap analysis and wallet strategy
We conduct a dedicated OCS gap analysis to determine how prepaid balance and rating functions map (or do not map) into Odoo. If the operator requires real-time balance management post-migration, we recommend a separate OCS (either a cloud-native charging platform or the OCS component of Digital BSS retained standalone) and define the interface between Odoo CRM and the OCS. If the operator migrates to postpaid-only, we configure Odoo accounting ledger entries to track service charges. The wallet or ledger strategy is documented and reviewed before schema design begins.
Schema design and custom field configuration
We design the Odoo CRM schema including custom fields for telecom-specific subscriber attributes (x_subscriber_id, x_imsi, x_msisdn, x_service_type, x_plan_code, x_subscriber_status, x_ocs_balance, x_last_usage_date), product template structure for service plans, and product category hierarchy for the catalog. Schema is deployed into a staging Odoo instance for validation before any production data is written. PCRF rules, HSS records, and network element mappings are documented as manual-rebuild items and excluded from the schema.
Data reconciliation and cleansing
We run a pre-migration reconciliation pass on all subscriber records, billing accounts, and OCS bucket balances. Duplicate subscriber records, missing plan assignments, inconsistent status flags, and balance discrepancies are flagged in a structured reconciliation report. The operator's BSS admin resolves flagged records before migration continues. We do not write data with unresolved discrepancies to Odoo because inconsistent data in Odoo CRM creates downstream billing and service delivery problems.
Staging migration and reconciliation
We run a full migration into the staging Odoo instance using production-like data volume. The operator's team reconciles record counts (Subscribers in, Billing Accounts in, Products in, Orders in, Invoices in), spot-checks 25-50 random records against the Digital BSS source, and validates OCS bucket totals against the source OCS ledger. Any mapping corrections are made and the staging migration is re-run until reconciliation passes. The staging sign-off is required before production migration begins.
Production migration and OCS cutover
We run production migration in dependency order: Companies (from Billing Accounts), Contacts (from Subscribers with plan references resolved), Products (from Service Plans with pricelist entries), Sale Orders (active and recent closed), Account Moves (open invoices), then OCS bucket balances (to the configured wallet or ledger). Each phase emits a row-count reconciliation report. The OCS bucket phase uses a shadow-write then read-only-window then finalize pattern. We freeze Digital BSS writes during cutover, run a final delta pass, then enable Odoo CRM as the system of record.
Delivery and PCRF/bundle rebuild handoff
We deliver the PCRF rule translation manifest, custom bundle definition document, and OCS interface specification to the operator's network team and product manager. We do not rebuild PCRF rules, HSS configurations, or Odoo automations inside the migration scope. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team during the first week of live operation. Post-hypercare, the operator's admin team manages Odoo CRM independently or through an Odoo implementation partner.
Platform deep dives
Digital BSS
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Digital BSS and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Digital BSS and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between Digital BSS 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
Digital BSS: Not publicly documented; varies by deployment and operator contract.
Data volume sensitivity
Digital BSS exposes a bulk API — large-volume migrations stream efficiently.
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 Digital BSS to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Digital BSS 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 Digital BSS
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.