Salesforce · Communications Cloud

Migrating the data is the easy half. Proving it still bills is the job.

Communications Cloud migration covers two different moves. One is coming off a legacy CRM or BSS onto Communications Cloud — customers, subscriptions, assets, contracts and an old product catalog. The other is moving an existing Vlocity-era deployment onto the current runtime. Twopir Consulting runs both, and treats reconciliation as the deliverable rather than the load. If it cannot be proved against source, it has not migrated.

Migration Architecture
LEGACY ESTATE Legacy CRM & BSS Customers · Subscriptions · Contracts Legacy Catalog Products · Prices · Vlocity-era Billing history Open orders Documents TWOPIR MIGRATION LAYER Profile & Map Quality · Gaps Source to target Rationalise Target model Fewer, better SKUs Load & Reconcile Iterative trials Row-level proof NOTHING MOVES UNTIL IT RECONCILES 2πr MIGRATED ESTATE Billing Still Right Every subscription reconciled to source A Smaller Catalog Rationalised, not lifted and shifted A Reversible Cutover Tested fallback, not a hope PROFILE · MAP · RATIONALISE · LOAD · RECONCILE
12+
Years of delivery
500+
Clients served
40+
Consultants & architects
250+
Deployments delivered

Trusted by 500+ organizations — including connectivity and communications providers moving off legacy platforms with Twopir Consulting.

Kacific
Mitratech
Client A
Client R
Client
Ultra's

Migration Scope

  • Salesforce Partner
  • Legacy BSS & CRM
  • Vlocity-Era Runtime
  • Catalog Rationalisation
  • Subscriber & Asset Data
  • Contract Migration
  • Reconciliation
  • Cutover & Fallback
Where Migrations Fail

Migrations rarely fail on load. They fail on proof.

Every one of these is discoverable before cutover, and every one of them is routinely discovered afterwards instead.

The old catalog is carried across intact

A portfolio that grew for fifteen years around the constraints of an old system gets recreated faithfully inside a new one. Salesforce's own guidance is explicit that lift-and-shift makes the project more complex and slower to go live. Migration is the one moment when rationalising is nearly free.

Subscriptions arrive without the state billing needs

Assets load, but the asset action history, the state periods and the recurring revenue context behind them do not. The first bill run after cutover is where this surfaces, and by then the migration team has usually been stood down.

Reconciliation is a row count

Confirming that the same number of records arrived proves almost nothing. What matters is whether each subscription, price, discount and contract term produces the same commercial outcome as it did in the source system.

Open orders are forgotten

In-flight orders at the moment of cutover are the hardest population and the one most often left to the last fortnight. A partially provisioned order that exists in neither system is an incident with a customer attached to it.

Contracts lose the terms that were negotiated

Contracted rates, committed volumes, renewal dates and bespoke terms are frequently held outside the system of record — in documents, side letters and someone's spreadsheet. If they are not found during profiling, they are simply lost.

There is no way back

Fallback is described rather than built. A cutover without a rehearsed, time-boxed reversal is a one-way decision made under time pressure, usually at night, by people who have been awake too long.

Two Different Moves

Which migration are you actually doing?

Communications Cloud migration means one of two quite different engagements, and conflating them is the fastest route to a wrong estimate. The first is a platform migration: moving commercial operations off a legacy CRM or BSS onto Communications Cloud. That involves customers, subscriptions and assets, contracts, the product catalog, open orders and enough history for billing and care to keep working. The second is a runtime migration: an operator already on a Vlocity-era Communications Cloud deployment moving to the current runtime, where the data mostly stays and the configuration, components and deployment pipeline are what change.

The two share one discipline and almost nothing else. The shared discipline is reconciliation: every migrated population has to be proved against source, at the level of commercial outcome rather than record count. A subscription has migrated correctly when it produces the same charge, on the same cycle, with the same discounts and the same contract terms as it did before. Anything less is a load, not a migration.

Twopir Consulting runs both paths. What we will not do is move a portfolio unexamined. Migration is the only point in a platform's life when rationalising the catalog costs almost nothing extra, and the difference between migrating 4,000 products and migrating the 400 that are actually sold is felt in every release for the following decade.

If you are still choosing the platform, start on Salesforce Communications Cloud consulting. If the build is the main event and migration is one phase inside it, Communications Cloud implementation is the closer fit. This page is for when the move itself is the engagement.

The Two Paths

Platform migration and runtime migration, side by side

Same discipline, different work, different risk. This is the first thing we establish, because everything downstream is scoped from it.

Platform migration vs runtime migration

Platform migrationRuntime migration
What is movingCustomers, subscriptions, assets, contracts, catalogConfiguration, components and the deployment pipeline
Starting pointLegacy CRM or BSS, often several systemsAn existing Vlocity-era Communications Cloud org
Dominant riskCommercial data fidelity — does it still bill correctlyBehavioural drift — does it still do what it did
Catalog workRationalise and remodel; do not lift and shiftMostly preserved; revisited only where it blocks the upgrade
Reconciliation focusCharge, cycle, discount and contract term against sourceRegression against current production behaviour
Typical shapeRuns as part of, or straight after, an implementationA contained upgrade programme with its own regression suite
FallbackParallel run where the business allows it, plus a reversal windowEnvironment-level rollback with a tested restore path

An operator occasionally needs both, in sequence. When that happens we do the runtime migration first so the platform migration lands on a current, supported foundation rather than on one that is about to change underneath it.

What We Migrate

The populations, and what each one demands

Each of these is profiled, mapped, loaded iteratively and reconciled on its own terms. They do not share a definition of correct.

Customers & Accounts

The hierarchy is the hard part. Business customers arrive as tangles of parents, sites, billing accounts and legal entities that the legacy system expressed loosely.

  • Account, site and billing-account hierarchy design
  • Duplicate detection and survivorship rules
  • Contact, role and permission mapping
  • Address normalisation and serviceability keys
  • Reconciliation on hierarchy shape, not just counts

Subscriptions & Assets

The population that decides whether billing still works. Assets need the state and history behind them, not just their current shape.

  • Asset and asset-action modelling
  • State periods and recurring revenue context
  • In-life discounts, promotions and overrides
  • Suspended, ceased and pending-change states
  • Charge-level reconciliation against source

Product Catalog

The one population we actively argue about. Migration is the cheapest moment to reduce a portfolio that grew around old constraints.

  • Portfolio analysis: what is actually sold
  • Commercial offer to technical service remodelling
  • Pricing, eligibility and compatibility rules
  • Retirement plan for what is not carried over
  • Mapping table kept for audit and rollback

Contracts & Commercial Terms

Negotiated terms are the population most often held outside the system of record, and the easiest to lose silently.

  • Contracted rate cards and committed volumes
  • Renewal, notice and expiry dates
  • Bespoke terms held in documents or side letters
  • Amendment and version history
  • Validation with the commercial owners, not just IT

Open & In-Flight Orders

The population that cannot wait and cannot be re-keyed. It needs its own plan and its own cutover window.

  • Order state classification at freeze
  • Partial-provision handling and completion path
  • Draining strategy versus carrying across
  • Customer-facing status continuity
  • Rehearsed handling in the cutover runbook

History & Reporting Data

How far back you go is a commercial decision with a direct cost. We make it explicitly rather than migrating everything by default.

  • Retention requirements: legal, billing, care
  • Summary versus transactional history
  • Archive strategy for what stays behind
  • Reporting continuity across the cutover
  • Access path to the legacy system if retained
How We Run It

Five stages, and a hard rule at the end of each

Migrations go wrong slowly and then all at once. Gating each stage on evidence rather than on schedule is what keeps a problem from travelling.

Stage 01 · 2–3 weeks

Profile the Source

Before mapping anything we measure what is actually there: volumes, quality, duplicates, orphans, nulls in fields the target requires, and the populations nobody mentioned. Most migration surprises are visible in profiling and expensive anywhere later.

Stage 02 · 3–5 weeks

Map & Rationalise

Source-to-target mapping at field level, with the catalog rationalisation decisions taken alongside the commercial owners. The mapping is a reviewed artefact, not a spreadsheet someone keeps privately, and it becomes the audit trail.

Stage 03 · iterative

Trial Loads

Repeated full-volume loads into a target environment, each one reconciled and each one narrowing the exception list. We plan for several; the first is never clean and a migration that claims otherwise has not looked hard enough.

Stage 04 · before cutover

Reconcile & Sign Off

Reconciliation at commercial-outcome level: same charge, same cycle, same discounts, same contract terms. Exceptions are either fixed, or accepted in writing by a named owner with a documented reason. Nothing migrates on an unresolved exception.

Stage 05 · the window

Cut Over & Prove

Freeze, final delta load, reconcile, switch, verify against a prepared checklist, and keep the tested fallback available for the agreed window. We rehearse the runbook against real timings before the night itself.

What You Get

What a migration has to be able to prove

Stated as evidence rather than as reassurance. Each of these is something we can show you.

Billing

Every subscription reconciles to source

Charge, cycle, discount and contract term match the legacy system, proved at record level rather than inferred from a matching row count.

Catalog

A smaller portfolio than you started with

The products actually sold are modelled properly and the rest are retired on a documented plan, with the mapping kept for audit and for rollback.

Contracts

Negotiated terms survive the move

Rate cards, committed volumes and renewal dates are validated with the commercial owners who negotiated them, not only with the systems that stored them.

Orders

In-flight work has a known outcome

Every open order at freeze is classified, and either drained, completed or carried with its state intact — rehearsed in the runbook before the night itself.

Rollback

A fallback that has been tested

A time-boxed reversal path that has been exercised, so the cutover decision is reversible rather than a one-way door taken under pressure.

Audit

A defensible record of what moved

Mapping documents, reconciliation reports and the signed exception register — the artefacts finance and audit will ask for months afterwards.

Why Twopir

We would rather migrate less. Deliberately.

The cheapest record to migrate is the one you decide not to carry. Most of the value we add on a migration is in what we persuade you to leave behind.

We profile before we promise

No credible migration estimate exists before someone has measured the source. Profiling comes first, and occasionally it changes the shape of the whole engagement — which is far better news in week two than in month six.

We treat rationalisation as part of the job

Migration is the one moment when reducing a portfolio is nearly free. We bring the analysis that shows what is actually sold, and we will make the case for retiring the rest.

We reconcile on outcome, not on count

Matching record counts proves the load ran. Matching charge, cycle, discount and contract term proves the migration worked. Only the second one protects the first bill run.

We build the fallback before the cutover

A reversal path that has been rehearsed against real timings changes how the cutover decision gets made. It is the difference between a judgement call and a gamble.

We keep the audit trail

Mapping documents, reconciliation reports and a signed exception register. Finance and audit will ask months later, and the answer should not depend on anyone's memory.

Common Questions

Answers before the first call

We would strongly advise against it, and so does Salesforce's own implementation guidance, which warns against a lift-and-shift approach: carrying equivalent legacy functionality and product structures into Salesforce Industries makes the project more complex and slower to go live. Most portfolios contain a large tail of products that exist because an older system could not express something more simply, or that have not been sold in years. Migration is the only moment in a platform's life when rationalising is nearly free, and the difference between carrying four thousand products and the four hundred actually sold is felt in every release afterwards.

A platform migration moves commercial operations off a legacy CRM or BSS onto Communications Cloud: customers, subscriptions, assets, contracts, the catalog and open orders. The dominant risk is commercial data fidelity — whether everything still bills correctly. A runtime migration moves an operator already running a Vlocity-era Communications Cloud deployment onto the current runtime: the data largely stays, and the configuration, components and deployment pipeline are what change. The dominant risk there is behavioural drift, so the work is regression-led rather than reconciliation-led. When an operator needs both, we do the runtime migration first so the platform migration lands on a foundation that is not about to change.

Reconciliation at commercial-outcome level, not record count. A subscription has migrated correctly when it produces the same charge, on the same cycle, with the same discounts and the same contract terms as it did in the source system. We run repeated full-volume trial loads, reconcile each one, and narrow the exception list until every remaining exception is either fixed or accepted in writing by a named owner with a documented reason. The mapping documents, reconciliation reports and signed exception register are deliverables, because finance and audit will ask for them long after the team has moved on.

They get their own plan, because they can neither wait nor be re-keyed. At freeze, every open order is classified by state, and each class is either drained before the switch, completed in the legacy system afterwards, or carried across with its state intact. Partially provisioned orders — where the commercial record and the network state disagree — are the hardest case and the one we rehearse explicitly. This work belongs in the cutover runbook weeks in advance, not in the final fortnight.

Less than most operators assume, and it is a commercial decision with a direct cost rather than a technical default. Billing needs enough history to handle disputes and credits, care needs enough to hold a sensible conversation, and legal or regulatory retention sets a floor. Beyond that, summary history or a retained read-only path back to the legacy system is usually cheaper and simpler than migrating every transaction. We make the call explicitly during profiling because it materially changes both volume and timeline.

Sometimes, and it is valuable when the shape of the business allows it. Parallel running works best when new business can be written on the new platform while the existing base stays on the old one, so the two are separated by customer rather than by function. It works badly when both systems have to stay synchronised on the same accounts, because you then own a two-way integration whose only purpose is to be switched off. Where parallel running is not viable, the substitute is a rehearsed, time-boxed fallback window rather than a longer test phase.

It depends on what already exists. If Communications Cloud is being stood up for the first time, migration is one phase inside a larger build and the implementation page describes that programme. If Communications Cloud is already live and you are consolidating another market, brand or acquired business onto it, the migration genuinely is the engagement, with configuration work limited to whatever the incoming population needs that the platform does not already do. We establish which of those you are in during the first conversation, because the two are scoped completely differently.

Next Step

Show us the source system. We will tell you what is really in it.

A migration assessment starts with profiling, not with a plan. We will look at what is actually in your legacy estate, what it will cost to carry, and what you would be better off leaving behind.

Speak with a team that reconciles before it congratulates itself