Usually yes, and the cost varies by an order of magnitude depending on decisions already made. What determines it is not the code. It is who holds the accounts, whether the data can be exported in a usable form, whether anyone outside the current team can deploy the system, and whether the contract says what happens on exit. Answer those four now and the question stops being frightening.
Replacing a live platform is a project in its own right, not a switch. Users, projects or investments, historical data and integrations may all need to be migrated, and the scope of that migration and the cutover approach have to be defined for the specific system being replaced. Anyone who tells you the outcome before looking at the source system is describing a hope.
Two companies left the same vendor in the same year. One owned its cloud account, had a tested database export and a written handover clause; it moved in six weeks. The other discovered that production ran on an account it could not access and that nobody outside the vendor had ever deployed the system. Same software, same vendor, completely different exit.
Repository, cloud, domain, database export, backups, third-party accounts. This is the whole question in one line: the parts you control are the parts you keep without negotiating.
Take a full export and restore it somewhere else. An export that has never been restored tells you nothing, and finding out during a transition is the worst possible time.
Have somebody outside the incumbent team build and deploy the system from what exists. Whatever they get stuck on is the real handover gap, and it is cheaper to find now.
Notice periods, what is delivered, at what cost, and what happens to support during the overlap. If there is no clause, that is your answer and it is worth knowing early.
Users, balances, transactions, documents, permissions, audit history. What has to move, what can be archived, how it will be reconciled afterwards, and what is legally required to be preserved.
Identity, payments, payouts, banking, reporting. Each has its own account, its own contract and its own re-onboarding. Integrations, not code, are what usually sets the timeline.
A read-only weekend, a staged move, a period of parallel running. Each has a different cost, and the requirement should be a business decision made in advance — not the outcome of whatever the transition allowed.
A defined sequence, a reconciliation step, acceptance criteria, and a rollback that has been thought about while it is still cheap to think about.