CRM migration

Migrate from Digital BSS to Odoo CRM

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 logo

Digital BSS

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

92%

11 of 12

objects map 1:1 between Digital BSS and Odoo CRM.

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Digital BSS logo

Digital BSS

What's pushing teams away

  • Heavy customization leads to longer deployment timelines and significantly higher total cost of ownership than initially projected.
  • Data migration from older BSS systems is frequently inconsistent, requiring extensive reconciliation work before clean handoff.
  • Initial onboarding is difficult due to the complexity and breadth of features available in the platform.
  • Network instability causes technical issues that disrupt real-time charging and rating operations for subscribers.

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

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

maps to

Odoo CRM

Contact

1:1
Fully supported

Digital 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

maps to

Odoo CRM

Product

1:1
Fully supported

Digital 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

maps to

Odoo CRM

Company

1:1
Fully supported

Digital 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)

maps to

Odoo CRM

Custom Wallet / Account Move

1:1
Fully supported

Prepaid 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

maps to

Odoo CRM

Product Category + Product Template

1:1
Mapping required

The 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

maps to

Odoo CRM

Sale Order

1:1
Fully supported

Digital 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

maps to

Odoo CRM

Account Invoice

1:1
Fully supported

Historical 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

maps to

Odoo CRM

None (no equivalent)

1:1
Mapping required

PCRF 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

maps to

Odoo CRM

None (no equivalent)

1:1
Mapping required

Authentication, 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

maps to

Odoo CRM

None (no equivalent)

1:1
Not supported

Mapping 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

maps to

Odoo CRM

Custom Fields

lossy
Mapping required

Digital 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

maps to

Odoo CRM

None (archived only)

1:1
Mapping required

Call 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.

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.

Digital BSS logo

Digital BSS gotchas

High

Legacy BSS data inconsistency blocks clean migration

Medium

PCRF and HSS rule translation requires manual work

High

Prepaid OCS bucket cutover must be atomic

Medium

Custom product bundles do not auto-map between vendors

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

  • OCS bucket cutover must be atomic to prevent double-spending

    Prepaid balance buckets carry live monetary value. If Odoo is activated as the system of record before all bucket records are confirmed written and verified, subscribers may lose airtime or data credits. We use a two-phase cutover: first we write all bucket records to a staging table in Odoo, verify the sum of balances against the source OCS total, then place the source OCS in read-only mode for a brief window and finalize the write. Any bucket with a discrepancy above a defined tolerance threshold is held for manual resolution before the source OCS is deactivated.

  • Telecom-to-business data model translation requires upfront design

    Digital BSS subscriber records contain telecom-specific fields (IMSI, MSISDN, service type, plan code, OCS status, network authentication state) that have no standard Odoo CRM equivalent. We design the Odoo custom field schema during the discovery phase, defining x_subscriber_id, x_imsi, x_msisdn, x_service_type, and x_plan_code before any data is written. Skipping this schema design step results in data loss or misrouted records during import. The Odoo custom field configuration is deployed in a test environment before production migration.

  • Custom product bundles do not auto-map between BSS and Odoo

    Operators frequently build custom service bundles with proprietary bundle codes, allowance rollover formulas, cross-service discounts, and time-limited promotions. These definitions do not have standard equivalents in Odoo CRM's product bundle model. We extract the full bundle definition including all constraints and generate a mapping specification that the customer's product manager reviews before activating the catalog in Odoo. Bundle definitions are not migrated as executable code; they are delivered as a structured reconfiguration guide.

  • Data inconsistency between source records blocks clean migration

    Legacy BSS data frequently contains subscriber records with missing plan assignments, inconsistent status flags, or balances that do not reconcile across the OCS and billing account. We run a pre-migration reconciliation pass on all subscriber and balance records before writing any data to Odoo. Records with discrepancies above the defined tolerance are flagged in a reconciliation report and held for the operator's BSS admin to resolve before cutover proceeds. We do not suppress or silently skip inconsistent records; transparency prevents post-migration billing disputes.

  • Odoo does not natively support telecom rating or OCS

    Odoo CRM has no Online Charging System, no PCRF integration, and no network policy enforcement capability. If the operator's business model relies on real-time rating, prepaid balance deduction, or quota-based data enforcement, Odoo CRM alone cannot replace these functions. We flag this gap during scoping and recommend that the OCS and rating engine remain in a separate BSS layer (either retained Digital BSS module, a cloud-native charging platform, or a third-party OCS). Odoo CRM manages the customer account, sales pipeline, and service request layer while the OCS handles rating and balance management.

Migration approach

Six steps for a successful Digital BSS to Odoo CRM data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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

Context on both ends of the pair

Digital BSS logo

Digital BSS

Source

Strengths

  • Unified multi-service management for voice, data, IPTV, and IoT under a single BSS platform.
  • Real-time analytics and decision-support tools for billing and customer operations.
  • Flexible product catalog supporting rapid service bundling and plan configuration.
  • Deep telecom network integration with OCS, PCRF, AAA, and HSS components.
  • Automation of subscriber management and usage rating reduces operational manual work.

Weaknesses

  • Heavy customization requirements lead to extended deployment timelines and elevated total cost of ownership.
  • Data migration from legacy BSS systems is commonly inconsistent, requiring extensive manual reconciliation.
  • Steeper initial learning curve due to the breadth and depth of available features.
  • Technical issues arise when network connectivity is unstable, affecting real-time charging reliability.
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 Digital BSS and Odoo CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

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

    Digital BSS: Not publicly documented; varies by deployment and operator contract.

  • Data volume sensitivity

    A

    Digital BSS exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

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 consultation

Most migrations land between six and ten weeks for operators with fewer than 10,000 subscribers, no custom bundle hierarchies, and a fresh Odoo deployment. Migrations with high-volume OCS bucket histories (hundreds of thousands of prepaid records), multiple custom bundle definitions, existing Odoo instances requiring data reconciliation, or a split OCS-and-CRM architecture move to twelve to twenty weeks because of bucket verification, bundle definition extraction, and staging reconciliation time.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Digital BSS.
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