Every quote you receive for moving a system somewhere else is a price for the part that is visible. Copy the software, point the address at the new place, test it, switch over. That part is genuinely well understood and it is genuinely quotable.
The cost lands somewhere else: on the things nobody has looked at yet, which are discovered in a fixed order, and which have nothing to do with how good anyone’s estimate was.
Here is what actually turns up, in the order it usually turns up.
Week one: what is really on the machine
The first surprise is almost always inventory. Not “what software runs here” — that is known — but what else has quietly accumulated in the same place over the years.
A second website nobody mentioned, still being served. Scheduled jobs running every few minutes for a purpose no one can name. A folder of files that the software reads but nothing in the documentation refers to. A database on the machine that everybody believed had been moved years ago.
None of these are disasters. Every one of them is a decision somebody has to make before the move can be called finished, and the decisions cannot be made by whoever is doing the moving. They need the owner. That is calendar time, and calendar time is where migrations actually go over.
The way to spend less of it is to ask for the inventory as the first deliverable, in writing, before anybody prices the move.
Week two: the thing that has no second copy
The most expensive discovery is usually made early and it is not a technical problem.
On one system we moved, every file the business had ever received from a customer — six hundred and forty gigabytes of uploads, images and signed agreements — existed on exactly one machine. There had been a routine that copied them elsewhere. Its destination had been deleted at some point in the past, and it had been reporting success into nothing ever since. The whole story is here.
This changes the shape of the project. The first copy off the machine is no longer a migration step; it is the first real backup this data has ever had, and it wants doing on day three rather than week six. That is not extra cost so much as re-ordered cost — but it only gets re-ordered if somebody asks the question, and the question is not on any standard checklist.
Ask it about your own system this week, in exactly these words: where is the second copy of our files, and when did somebody last bring one back from it?
Week three: the number that changes the plan
The other expensive discovery is commercial, not technical, and it comes from your own records rather than your code.
A store we looked at had four payment providers installed and was scoping a rebuild around which ones people remembered as important. One query over three years of orders showed that a single provider carried 94% of revenue and 98% of active subscriptions, while the one everybody named carried about two per cent. It also surfaced something nobody had costed: the stored card details for every recurring customer live with the payment provider, not with the store, and they have to move with it or every renewal fails. That afternoon’s work is written up here.
Two hours of arithmetic in week one would have changed the estimate, the scope and the schedule. Done in week three, it becomes a change request.
There is a general rule hiding in that. The most expensive requirements in a migration are the ones that live in your business data, not in your code, and they are cheap to find and expensive to discover late.
The cost people forget entirely: finishing
A migration is not over when the new system serves traffic. It is over when the old one is gone.
That last step is the one that gets deferred, because everything works and nobody wants to touch it. So the old machine sits there for a year, still running, still reachable, still holding a copy of your data, still not receiving security updates, and now with nobody paying attention to it at all. It is the most dangerous object in the estate precisely because it has been declared finished with.
Doing it properly means going through the machine looking for anything that exists only there, accounting for every item, and only then switching it off and deleting it. It takes a few days. It is the difference between a migration and a migration plus a permanent liability. We wrote up what that looked like on one system, including the second website nobody remembered was running on it.
What it costs to run afterwards
The other question rarely answered up front is what the new arrangement costs every month, and whether that number is under your control.
Two honest observations from doing this.
Managed hosting is usually more expensive per month than the single old machine and materially cheaper than the old machine plus one bad weekend. For a small business system with a few hundred gigabytes of files, the running cost tends to land in the region of a thousand dollars a month rather than a hundred — and roughly half of that is storage, which is the one line that only ever grows.
And the bill responds to attention. On the same system, moving older files to a cheaper storage tier and right-sizing two over-provisioned services took a meaningful bite out of the monthly cost within a fortnight of anyone looking. Nobody had been looking, because the bill had never been anybody’s job.
Ask for that number before you sign anything: what will this cost per month once it is running, and which line grows fastest?
The estimate you should actually ask for
Not a price for the move. A price for finding out.
A week of somebody reading the system, the machine and the history produces the inventory, the backup position, the commercial requirements hiding in your own data, and a list of what would have to be decided. That document makes the migration quote meaningful. Without it, every quote you receive is a guess with a confident tone, and the difference between the good ones and the bad ones is not visible from where you are standing.
What we charge for that read is published here. If you would rather just describe what you are running and get an opinion, write and tell us — the reply is free, and it will say honestly whether the move is worth doing at all.