Data migration
A migration is judged three months after the cutover.
It is judged the day somebody compares last year’s revenue in the new system with the figure they presented to the board. If the two do not match, the migration failed, even though every row went across.
- Categories of variance, all traced
- 3
- Cutovers on an unexplained variance
- 0
- Business Central, Nav, SAP, Sage
- 4 ERP
- Expert consultants
- 11
- 3
- Categories of variance, each with its own treatment
- 0
- Cutovers on a variance nobody can explain
- 2–3
- Fiscal years usually enough in the new ERP
- 100 %
- Of history kept in the data platform
Where the value is
Moving the rows is the easy part
A data migration presents itself as a technical problem: extract, transform, load. That is the part tools handle well, and it is rarely where projects fail.
The real problem is semantic. In the old system the “category” field holds three values inherited from an organisation that stopped existing in 2018; the “customer code 2” field was repurposed to store a site code; a commercial discount is sometimes a negative invoice line and sometimes a header field. None of that is in a schema. It is in the memory of three people, two of whom have left.
Our work is to recover those conventions, write them down, have them validated, and then demonstrate by calculation that the translation is right. Moving the data comes last, and it is the shortest part.
If last year’s revenue does not match to the cent, we do not go live.
What we check before every cutover
Reconciliation
Three kinds of variance, three treatments
Documented, we move on
Explained and intended
We fix and replay
Explained and unintended
The cutover waits
Unexplained
Ground knowledge
What we know about each system
Every system has its habits. Knowing them in advance saves weeks: these are the ones we meet most often.
| System | Its particularity | What we put in place |
|---|---|---|
| Business Central | FlowFields are not stored: they are calculated on the fly. A naive extract brings them back as zero, and customer balances look empty. | We rebuild them as explicit measures from the ledger entries, and reconcile against the ERP screen, line by line. |
| Business Central, several instances | Each company has its own chart of accounts, item codes and dimensions. The same code means two different things. | We add a reconciliation step before any consolidation, and use bc2adls for an incremental export that spares the API quotas. |
| Dynamics NAV | Analytical dimensions often changed meaning across versions, with nothing recording it. | We date each convention and apply the right one per period. A code is not translated the same way in 2014 and in 2024. |
| Sage 100 and Sage 1000 | Analytics are often kept partially, with unallocated entries an aggregated report hides. | We isolate and quantify the unallocated rather than spreading it pro rata. A wrong figure spread neatly is still wrong. |
| SAP | Volume and depth of history make a full extract expensive, and the tables are many. | We narrow the scope to the domains actually used for steering, after the inventory, not before. |
| Service spreadsheets | They hold the real rules, and they are neither versioned nor consistent with one another. | We treat them as a source in their own right: reading, formalising the rules, validation by their author, then replacement. |
Our position
Between three parties, serving only one
A migration brings three players together: the integrator of the old solution, the integrator of the new one, and your teams. Each holds part of the answer and none holds all of it.
The incumbent integrator
The new solution’s integrator
Your teams
Our place
The cutover
Parallel run, criteria, rollback
Cutover is a moment of risk, and risk is reduced by decisions taken in advance, not by vigilance on the day.
The parallel run keeps both systems running side by side for an agreed period, with automated reconciliation every day. It is not comfortable for your teams, who key everything twice; it is what lets us detect a variance on real data, before it becomes irreversible.
The cutover criteria are written beforehand, not decided on the day: which totals must match, to what tolerance, on which scopes. A criterion written after the fact always bends to the result obtained.
The rollback plan states what stays readable, for how long, and until what date the decision to cancel remains open. Without a deadline the question keeps coming back and nobody dares to settle it.
Inventory and mapping
What exists, what it means, and the correspondence table that translates it. Produced as a deliverable you can review.
Parallel run
Both systems run side by side for an agreed period, with automated reconciliation every day.
Written cutover criteria
Which totals must match, to what tolerance, on which scopes, decided before, not on the day.
Rollback plan
What stays readable, for how long, and until what date cancelling remains possible.
Systems
What we migrate from, most often
Business CentralSaaS and on-premise, single or multi-instance- Dynamics NAVIncluding versions with heavy customisation
- SAPScoped to the domains used for steering
- Sage 100 and Sage 1000Accounting, analytics, sales management
- Service spreadsheetsTreated as a source in their own right
- Custom softwareIn-house applications and legacy databases
Going further
What extends a successful migration
- Data platformMicrosoft FabricWhere the full history belongs: inexpensive storage, queryable, decoupled from the ERP.
- Multi-instanceBusiness CentralThe case we handle most: several instances of the same ERP, with bc2adls and an alignment step.
- MethodData projectThe seven phases of a project, and the three moments your teams will really be needed.
Frequently asked
What people ask us about migrations
How long does a data migration take?
What happens when the totals do not match?
Do you work with our incumbent integrator?
Do we have to migrate everything?
What if we need to roll back?
The cutover
One domain at a time
Each domain moves across one after the other while the existing platform keeps serving. The overlap lets your teams compare the two platforms on their own figures before deciding what comes next.
Tell us where you are coming from, and where you are going.
Eleven expert consultantsSaint-Priest, near Lyon, France
Two hours with a consultant, free of charge. We look at the source system, the target system and the figures that will have to match, and we tell you what we would move, what we would leave, and where we expect variances.
Request a scoping workshopScoping workshop · 2 hours · free · near Lyon or remote




