CRM migration
Field-level mapping, validation, and rollback between Digital BSS and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Digital BSS
Source
Freshsales
Destination
Compatibility
6 of 9
objects map 1:1 between Digital BSS and Freshsales.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Digital BSS to Freshsales is a cross-domain migration: the source is a telecom BSS platform purpose-built for OCS rating, PCRF policy, subscriber management, and product catalog orchestration; the destination is a general-purpose sales CRM. The migration does not replace a billing system. It extracts the customer-facing sales, account, and service relationship data from Digital BSS and restructures it inside Freshsales so that the operator's sales and customer success teams can manage the subscriber lifecycle using CRM workflows rather than BSS tooling. We map Subscribers to Contacts with telecom-specific custom fields, Service Plans and Tariffs to Products with bundle-allowance metadata, OCS prepaid buckets to a custom object, and the full product catalog to Freshsales Products annotated with a migration manifest for the product team to review. We do not migrate network element mappings, PCRF policy rules, HSS credentials, or AAA records because those are network-layer data with no CRM equivalent and no portability across BSS vendors. Workflows, automations, and tariff automation rules do not migrate; we deliver a written inventory of every active automation for the operator's admin to rebuild in Freshsales.
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 Freshsales, 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
Freshsales
Contact
1:1Digital BSS Subscriber records carry nested properties for service type, plan assignment, subscriber status, and billing identifier. We map these to Freshsales Contact records, preserving the subscriber ID as a custom field bss_subscriber_id__c, service type as a picklist custom field, and status as a custom field mapping to Freshsales' Contact status values. We create the Contact before any child record import so that lookups are satisfied at insert time. IMSI and HSS credentials do not migrate because Freshsales has no network credential fields and those records require network-layer re-provisioning outside CRM scope.
Digital BSS
Service Plan / Tariff
Freshsales
Product
lossyDigital BSS Service Plans include rating rules, chargeable event definitions, and bundle allowance formulas that have no direct Freshsales equivalent. We map each plan to a Freshsales Product record with plan name, plan code, and monthly charge stored as standard price fields, and we attach the full rating rule definition as a JSON-formatted note or as custom fields (bundle_data_units__c, voice_minutes__c, sms_count__c) to preserve the plan structure for the product team to review. The customer decides during scoping whether to treat each plan as a standalone Product or as a Product2 entry with bundle metadata attached.
Digital BSS
Billing Account
Freshsales
Account
1:1Digital BSS Billing Accounts link subscribers to payment methods, invoicing preferences, and AR records. We map account balances and credit limits to Freshsales Account fields, with payment method details stored as custom fields (payment_method_type__c, credit_limit__c, ar_balance__c). Tax configuration does not transfer because Freshsales does not carry telecom tax jurisdiction rules; we flag tax configuration as requiring rebuild in the destination's billing or accounting module. Open AR balances are flagged during pre-migration reconciliation and must be cleared or explicitly carried as a credit note before cutover.
Digital BSS
Product Catalog
Freshsales
Product + Custom Object (Catalog Hierarchy)
1:manyDigital BSS Product Catalog defines offer eligibility, bundle constraints, and plan-to-product relationships that form a hierarchical tree. Freshsales Products are flat entries without native hierarchy. We create a Freshsales Product for each catalog offer and a custom object bss_catalog_hierarchy__c to store the parent-child relationship, eligibility rules, and constraint flags as custom fields. The product team reviews the catalog manifest during the migration window and configures the Freshsales product relationships accordingly before go-live.
Digital BSS
OCS Buckets (Prepaid Balance)
Freshsales
Custom Object (bss_ocs_bucket__c)
1:1Prepaid OCS balance buckets carry live monetary value and must not lose precision during migration. We create a custom object bss_ocs_bucket__c in Freshsales with fields for subscriber ID (lookup to Contact), bucket type (airtime, data, SMS, cross-service credit), current balance, currency, last_updated timestamp, and expiry date. We perform a two-phase cutover: all bucket records are written to Freshsales and verified against the source total before the destination OCS begins serving those balances. Any bucket with a discrepancy above a configurable threshold (default $0.01 or equivalent) is flagged for manual resolution before cutover proceeds.
Digital BSS
Order / Subscription
Freshsales
Deal
1:1Digital BSS Order records for plan activations, plan changes, and service cancellations map to Freshsales Deal records. We preserve order number as deal name, plan type as a custom field, order status as a stage value, and order creation date as ActivityDate. The operator's deal pipeline in Freshsales must be configured before migration to represent the relevant lifecycle stages (Activations, Upgrades, Cancellations, Churn). We map the pipeline stages to Freshsales Deal stages during the schema design phase.
Digital BSS
Usage Records / CDRs
Freshsales
Custom Object (bss_usage_record__c)
1:1Call Detail Records and usage events from Digital BSS are typically archived rather than migrated live because Freshsales has no real-time usage rating engine. We extract the last-billed usage timestamp per subscriber and write a bss_usage_record__c custom object record capturing the last usage date, total voice minutes, total data bytes, total SMS count, and billing period end date. This establishes billing continuity and prevents a gap in the usage timeline when the new BSS OCS takes over rating responsibility.
Digital BSS
Invoice
Freshsales
Custom Object (bss_invoice__c)
1:1Historical invoices from Digital BSS migrate as bss_invoice__c custom object records, including invoice number, invoice date, line items (stored as a long text field or related list entries), total amount, currency, payment status, and open AR flag. PDF invoices are exported separately and attached to the invoice record via Freshsales file attachments. Open AR balances must be reconciled and cleared or explicitly carried as a credit balance before cutover so that the new BSS does not attempt to re-bill already-paid amounts.
Digital BSS
Custom Fields / Extensions
Freshsales
Custom Fields
lossyDigital BSS frequently carries operator-specific custom fields for data not represented in the standard BSS schema. We detect all custom field definitions during the discovery phase, export their values per subscriber, account, or order, and map them to Freshsales custom fields of the matching data type (text, number, date, picklist, checkbox). We require the customer to confirm the target field types during schema design because Freshsales enforces type consistency at the field level. Any custom field whose data type cannot be represented in Freshsales is documented in the mapping manifest with a recommended workaround.
| Digital BSS | Freshsales | Compatibility | |
|---|---|---|---|
| Subscriber | Contact1:1 | Fully supported | |
| Service Plan / Tariff | Productlossy | Fully supported | |
| Billing Account | Account1:1 | Fully supported | |
| Product Catalog | Product + Custom Object (Catalog Hierarchy)1:many | Mapping required | |
| OCS Buckets (Prepaid Balance) | Custom Object (bss_ocs_bucket__c)1:1 | Mapping required | |
| Order / Subscription | Deal1:1 | Fully supported | |
| Usage Records / CDRs | Custom Object (bss_usage_record__c)1:1 | Mapping required | |
| Invoice | Custom Object (bss_invoice__c)1:1 | Fully supported | |
| Custom Fields / Extensions | Custom Fieldslossy | 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
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and data audit
We audit the Digital BSS instance across all supported objects: subscriber records, service plans, billing accounts, OCS buckets, product catalog, order history, usage records, and invoices. We extract a full list of custom field definitions and their values per record type, and we assess data quality by checking for duplicate subscriber IDs, missing plan assignments, unlinked billing accounts, and OCS bucket balance discrepancies. The discovery output is a written migration scope, a custom field manifest, and a data quality report flagging every record that requires pre-migration cleanup.
Freshsales schema design and custom object provisioning
We design the Freshsales target schema to receive the migrating data. This includes creating the bss_ocs_bucket__c, bss_catalog_hierarchy__c, bss_usage_record__c, and bss_invoice__c custom objects, adding custom fields to Contact and Account for telecom properties (bss_subscriber_id__c, service_type__c, plan_code__c, bundle_allowances__c), configuring the Deal pipeline stages to match the Digital BSS order lifecycle (Activations, Upgrades, Cancellations), and setting up Products for each service plan. Schema is provisioned in a Freshsales sandbox first for validation against a sample data set before production migration begins.
Pre-migration reconciliation and OCS bucket ledger verification
We run a pre-migration reconciliation pass on all subscriber records, billing accounts, and OCS bucket balances. Subscriber records with duplicate IDs or missing plan assignments are flagged and returned to the operator's data team for resolution. OCS bucket totals are summed in the source and compared against a computed total for the migration staging set; any discrepancy above a configurable threshold blocks the bucket migration phase until the source BSS ledger is corrected. This pass prevents the most common post-cutover complaint: subscribers seeing incorrect balances.
Sandbox migration and sample reconciliation
We run a full migration into the Freshsales sandbox using production-like data volume. The operator's data team reconciles record counts (Contacts in, Accounts in, Deals in, Custom Object records in), spot-checks 25-50 randomly sampled records against the Digital BSS source, and reviews the OCS bucket balance totals in Freshsales against the source ledger. The sandbox sign-off is required before production migration begins. Any mapping corrections, custom field additions, or data quality issues are resolved in this phase.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Digital BSS Billing Accounts), Contacts (with bss_subscriber_id__c and service fields populated), Deals (from Orders/Subscriptions with pipeline stages resolved), Products (from Service Plans), OCS Buckets custom object (with balance verification after write), Usage Records (last-billed entries with continuity flag), Invoices (as bss_invoice__c records), and Product Catalog (as bss_catalog_hierarchy__c records). Each phase emits a row-count reconciliation report before the next phase begins. We use Freshsales' CSV import API with chunking for large record sets.
Cutover, validation, and automation rebuild handoff
We freeze writes to Digital BSS during the cutover window, run a final delta migration of any records modified during the migration, then enable Freshsales as the CRM of record for subscriber-facing sales and account management. We deliver a written inventory of every Digital BSS automation, tariff rule, and workflow requiring rebuild in Freshsales, with the recommended Freshsales automation equivalent for each. We do not rebuild those automations as Freshsales workflows inside the migration scope; that is a separate engagement or an internal admin task. We support a one-week post-go-live window to resolve any record-level reconciliation issues raised by the customer success or sales team.
Platform deep dives
Digital BSS
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Digital BSS and Freshsales.
Object compatibility
2 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
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 Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Digital BSS to Freshsales 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 Freshsales
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.