01

What exactly is an ERP data migration?

An ERP data migration consists of transferring data from one management system to another: from a legacy ERP to S/4HANA, from a homegrown system to IFS, or from several merged instances into a single one. But the honest definition is more demanding. It means rebuilding a data estate inside a model that does not expect it.

Two workstreams must be distinguished, though schedules often conflate them. The system migration (install, configure, train) is carried by the integrator. The data migration (extract, transform, qualify, load) is a discipline of its own. It is almost always the one that derails the project, and almost never the one that gets attention first.

The reason is structural: the target system is new and documented, while your data has twenty years of history and is not. Migrations fail because of the source data, not the destination tool.

Migrating a technical repository (Windchill, 3DEXPERIENCE, Teamcenter) rather than a management system? Product structures follow different rules: see the PLM data migration guide.

02

The link that decides whether the project succeeds

The numbers are well known and keep repeating: Gifi and its roughly €117 million in lost revenue, Revlon unable to fulfill $64 million in orders, Hershey's missing Halloween, Haribo losing 25% of its gummy bear sales. The real cost of a failed migration runs into tens of millions. And none of these companies lacked resources.

What they lacked: control over their data and their execution. A wrong record in the old system is an inconvenience. The same wrong record, loaded into a new ERP that drives production, inventory and invoicing, becomes an operations incident. Migration is the moment when data debt falls due.

03

Which data to migrate, and which to leave behind

Migrating everything is as costly a mistake as migrating too little. Scope is decided by category:

  • Master data (parts, bills of materials, customers, suppliers, chart of accounts): the heart of the job. It must be qualified, deduplicated and shaped to the target model. This is where the quality of the future system is decided;
  • Open transactional data (in-flight orders, inventory, work in progress, unsettled postings): essential for business continuity, and the most sensitive to cutover timing;
  • History: the temptation is to take everything "just in case". In most cases, a searchable archive costs ten times less than migration. And unqualified history pollutes the new system from day one.
04

Everything starts with an audit of the real data

Before deciding anything, you need to know what actually exists: effective volumes, duplicates, orphaned objects, diverging reference data, accumulated exceptions. The data audit is the phase everyone overlooks, yet it is the one that conditions all the others.

A serious audit extracts and profiles the entire source dataset, not a convenient sample. Its deliverable is a quantified map of the risk: what goes through as-is, what needs a rule, what requires a business decision. Without it, the project plan rests on assumptions. And assumptions are exactly what makes migrations fail.

On an undocumented legacy system, the audit carries more weight still: the profile of the values is the only specification that survived, and reading it back is most of the work.

05

Big bang, phased, or trickle: choosing your approach

Three cutover strategies exist, and the choice is usually made for the wrong reason: the one the programme plan already assumed. It is worth revisiting once the audit has told you what the data actually looks like.

One clarification before the comparison, because the two get conflated. What follows is about the cutover: when the old system stops and the new one starts. The structural decision comes earlier and is a different question, whether the data enters the target in the target's shape or in yours. That one constrains the cutover, not the reverse.

The big bang cutover, where everything is migrated over a weekend, is the easiest to plan and the most dangerous to execute: zero room for correction once the source system goes dark. It is only reasonable if the migration has been proven at real volume, several times, before the day itself.

The phased cutover, by site, by domain or by data family, reduces unit risk. In exchange, you have to run two systems in parallel, with temporary synchronizations that carry their own cost.

The trickle migration keeps both systems live and moves data continuously until the source can be switched off. It is the least brutal and by far the most demanding: it requires bidirectional synchronization and a reconciliation rule for every field that both systems can write.

Comparing the three cutover strategies
StrategyTypical durationRollback riskRelative costWhere it worksWhere it breaks
Big bangOne cutover window, 24 to 72 hours, after months of preparationHigh. Once the source is down, rolling back means restoring and losing the windowLowest, provided nothing goes wrongSingle site, one source system, business that can genuinely stop for a weekendAny volume discovered late. There is no second attempt, so an unmeasured scope becomes an outage
PhasedSeveral months, one wave per site, domain or data familyContained. A failed wave is replayed without affecting the ones already liveHigher: two systems running in parallel, plus temporary interfacesMulti-site groups, heterogeneous scopes, businesses that cannot stop everywhere at onceStrongly coupled data. If a bill of materials spans two waves, the split becomes artificial and costly
TrickleContinuous, from a few weeks to over a yearLow per record, high on consistency. Both systems hold truth at the same timeHighest: bidirectional synchronization to build, run and eventually decommissionContinuous operations with no acceptable downtime, or a very long coexistence periodFields both systems can write. Without an explicit arbitration rule, the two truths diverge silently
06

Why tooling decides more than strategy

The choice of approach matters less than the nature of the tooling. One-off scripts written for "the big day" survive neither iterations nor exceptions: they are written once, tested on a convenient extract, and discover the real data on the worst possible day.

An asynchronous migration chain, where each record moves, fails and is replayed individually, turns the migration into a repeatable system whatever cutover strategy you pick. The practical test is simple: how many times can you run the full migration before go-live? With scripts, the honest answer is usually two or three. With a chain, it is as many as the schedule allows, and every run makes the next one cleaner.

That number is the single best predictor of how the cutover will go. A migration executed thirty times is a routine. A migration executed twice is a rehearsal that never got past the read-through.

07

The five phases of a controlled migration

Our full methodology details each phase; in short:

  • 01 · Audit: measure the real scope, the volumes, the anomalies. Reality before assumptions;
  • 02 · Build: build a configurable, traceable, repeatable chain. An industrial system, not scripts;
  • 03 · Run / Fix: execute on real scopes, correct every discrepancy, loop until stable;
  • 04 · Dry Run: the dress rehearsal, at real volume, across the complete chain;
  • 05 · Go-Live: cutover happens once everything has already been proven. A controlled step, not a bet.
08

The pitfalls that cost the most

Five mistakes appear in virtually every post-mortem:

  • Validating on samples. Five hundred clean records pass acceptance; the two million real ones, never tested, blow it up in production;
  • Confusing valid data with qualified data. A record that is correct in the old system can violate the target model. S/4HANA is the textbook case: MATDOC, ACDOCA and the universal journal do not forgive unshaped reloads, and the standard toolchain validates structure rather than meaning;
  • Trusting native tools. Standard bridges move records, not structures. The Windchill to 3DEXPERIENCE case shows it: links, BOMs and lifecycles must be rebuilt, not copied;
  • Discovering the volumes at load time. Early-project estimates are systematically understated; only measurement protects you;
  • Freezing the code too early, the data too late. Data keeps living until cutover day: the chain must absorb the deltas, not suffer them.
09

What it costs, and what it prevents

Dedicated migration expertise runs between €200,000 and €1 million depending on scope. This is an order of magnitude drawn from our own engagements and from publicly reported programme costs, not a price list: the same ERP, migrated at two companies, can sit at either end of that range.

The variable is not the target system. It is the number of source systems to reconcile, the volume of records, and above all the share of that volume that needs a business decision rather than a rule. A scope where 95% of records pass on a deterministic rule costs a fraction of one where 30% need someone to arbitrate.

Against that, the other side of the ledger. Gifi lost roughly €117 million in revenue; Revlon could not fulfil $64 million in orders; Hershey missed Halloween. Those figures are public, and they describe companies that were not short of resources. The real cost of a failed migration puts the expertise well under 1% of the failure it is meant to prevent. That is the ratio of an insurance premium, except this insurance prevents the incident instead of reimbursing it.

A rough way to size your own case before any audit: count your source systems, multiply by the number of master data families you must migrate, and treat anything above fifteen combinations as the upper half of the range. It is crude, and it is still closer than a percentage of the ERP licence, which is how migration budgets usually get set. Our data migration services page sets out what is covered at each phase, and what is not.

10

One case, anonymised: 400,000 parts, two truths

An industrial group, four production sites, migrating a homegrown ERP and two site-level systems to a single S/4HANA instance. The integrator was in place, the functional design was signed off, and the data workstream was scheduled as a two-month task near the end of the plan.

What the audit found. The declared scope was 250,000 active parts. The extraction returned 412,000, because two sites had kept creating records in a legacy system everyone believed had been switched off in 2019. Of those, 61,000 were duplicates across sites: the same physical component with different codifications, different units of measure, and in 9,000 cases different suppliers listed as sole source. No single system held the truth, and no rule could pick a winner: only the site engineers could.

What was corrected. The deduplication was not automated, because it could not be. It was turned into an arbitration workflow: the chain grouped candidate duplicates, presented them with their usage and their stock, and routed each group to the site that owned the part. The engineering effort went into the routing and the audit trail, not into a matching algorithm that would have guessed wrong 9,000 times. In parallel, the unit-of-measure conversions were rebuilt as explicit rules rather than inferred from the target model.

Result. The arbitration took eleven weeks of part-time work from four site teams, which is the number nobody wanted to hear and the reason the go-live moved by one quarter. The migration itself ran twenty-eight full passes before cutover. Go-live weekend loaded 351,000 parts with 240 rejects, all of them qualified and replayed within the window. No production stoppage.

The honest reading of this case is not that the migration went well. It is that the two months allocated to data were wrong by a factor of five, and the audit is the only reason anyone found out while the date could still move.

11

Data migration checklist

The short version, in the order that matters. If you can answer all of these with a measurement rather than an estimate, your plan rests on something.

  • Extract every source at full volume, including the systems people believe are switched off. Verify that belief rather than accepting it;
  • Count what actually exists: records per family, duplicates within and across systems, orphaned objects, records violating the target model;
  • Separate rule from arbitration. Quantify the share of records that need a human decision. This number drives the schedule more than the total volume does, and it belongs in the plan as its own workstream rather than inside a cleansing task;
  • Name an owner per data family, on the business side, with the authority to decide. A migration blocked on arbitration is blocked on org chart, not on technology;
  • Decide the history scope explicitly, against your retention obligations. An archive is usually ten times cheaper than a migration;
  • Build a chain you can rerun, with per-record status and replay. Count how many full passes the schedule allows;
  • Test on the real data, never on a sample. A sample validates your code; only the full set validates your rules. What each level of testing actually establishes is covered in what a passing test proves;
  • Plan the delta. Source data keeps living until cutover day. The chain must absorb changes made after the last full pass;
  • Run a dry run at real volume, with the cutover clock running, on the complete chain including the target load interfaces;
  • Define the rollback decision before the window opens: who calls it, on what threshold, and by what time.
// Questions

Frequently asked

How long does an ERP data migration take?

From a few months to over a year. The driver is not the target ERP but the number of source systems, the volume of records, and the share of those records needing a business decision rather than an automated rule. Only the audit turns that range into a date, which is why it is sold and delivered first.

Should we migrate our transaction history?

Usually not all of it. A searchable archive typically costs around a tenth of a migration, and unqualified history pollutes the new system from day one. The exception is regulatory retention: what you are legally required to produce on demand has to remain accessible, which is a different requirement from living inside the new ERP.

Can our ERP integrator handle the data migration?

They can run the loads. The harder part is the source data, and there the incentives differ: the integrator is measured on the new system going live, which makes "the source data is worse than planned and the date must move" a difficult finding to deliver. An independent data workstream has no reason to soften it.

What is the difference between valid data and qualified data?

Valid means the old system accepts it. Qualified means the target model accepts it and it still means the same thing. A record can be perfectly valid in a legacy ERP and violate the target: S/4HANA is the textbook case, where MATDOC, ACDOCA and the universal journal reject content the old schema was happy with.

How many test runs are enough before go-live?

There is no fixed number, but the count itself is the best predictor of the cutover. Programmes that run the full migration two or three times discover their exceptions in production. Programmes that run it twenty or thirty times discover them in week six. The question to ask a supplier is not whether they test, but how many complete passes their tooling makes possible.

What happens to data that fails to load?

In a well-built chain, a failing record goes to an error queue with its cause attached, gets corrected, and is replayed individually while everything else keeps moving. In a batch script, it stops the batch. That difference is what determines whether a cutover window absorbs a few hundred rejects or ends in a rollback.

When should the data workstream start?

At the same time as the functional design, not after it. The target model and the source data constrain each other: decisions made in workshops without knowing the state of the sources are routinely undone three months later, at the cost of both workstreams.

Do you migrate to SAP S/4HANA specifically?

Yes, alongside IFS, homegrown legacy systems and multi-instance consolidations. S/4HANA carries a specific difficulty: it is often treated as a version upgrade when it is a different data model, so data that migrated cleanly in a previous project fails here for reasons that look arbitrary until the schema change is understood.

Your migration

Let's talk about your data, not assumptions.

ERP or PLM, S/4HANA or homegrown legacy: one conversation is often enough to qualify the real risks of your project.

Contact us