← Blog

How Much Does Data Migration Cost? A Real Breakdown by Program Size

Kaan Dincer
Founder & CEO, Settle. Previously ran Fortune 500 data migrations at Deloitte.
July 10, 2026

Data migration on an ERP or CRM implementation typically costs between $250,000 and $1.5 million, with smaller single-source projects landing near $75,000 and multi-entity global programs running past $2 million. The number is driven almost entirely by labor, and specifically by how many times the team loads, breaks, fixes, and reloads the data before it passes.

Key takeaway: Data migration is priced as a mapping exercise and delivered as an iteration exercise. The mapping is a bounded, estimable cost. The reload cycles are not, which is why the data line is the most frequently underquoted item in an implementation statement of work and the most common source of change orders.

What data migration costs by program size

Cost tracks source system count and object count far more closely than it tracks record volume. A ten-million-row single-source migration with clean master data is cheaper than a four-hundred-thousand-row migration out of three legacy systems with conflicting definitions, because the second one requires survivorship decisions the first one does not. The same arithmetic governs any ERP data migration engagement, whatever the target platform.

Data migration cost is the total labor and tooling required to extract, profile, map, transform, cleanse, load, validate, and reconcile data from legacy systems into a target platform, including all test load cycles and cutover support.

Program profileTypical rangeWhat defines it
Single source, single entity, clean master data$75K to $250KOne legacy system, 5 to 8 objects, limited history
Mid-market, 2 to 3 sources, single or dual entity$250K to $600K8 to 15 objects, some cleansing, moderate customization
Enterprise, multi-entity or multi-country$600K to $1.5M15+ objects, multiple ledgers, localization, phased cutover
Complex transformation or consolidation$1.5M+ECC to S/4HANA, post-merger consolidation, multi-plant manufacturing

Locate yourself by source count and object count before you look at any vendor's number. If a quote sits a full band below where your profile lands, the gap is almost always in assumed reload cycles or in cleansing effort pushed back onto your staff.

How the number is actually built

Every data migration quote is the same arithmetic underneath: blended hourly rate multiplied by hours, with hours dominated by per-object work and repeated test loads. Vendors present it as a fixed deliverable price, but the model beneath it is straightforward enough that you can rebuild it and check their assumptions.

A cost build-up for data migration decomposes the total into discovery and profiling, mapping design per object, transformation development per object, test load cycles, reconciliation, cutover support, and hypercare.

Blended rates in the market generally run $125 to $225 per hour for onshore delivery, $150 to $300 for Big Four and tier-one integrators, and $50 to $100 for offshore-heavy models. Hours build up roughly like this on a mid-market program with twelve major objects:

ActivityTypical hoursNotes
Discovery and profiling150 to 400Scales with source count, not row count
Mapping design40 to 120 per objectHigher where definitions conflict across sources
Transformation development60 to 200 per objectBusiness logic, not field renaming
Test load cycles80 to 200 per cycleMultiplied by 4 to 8 cycles
Reconciliation and cutover200 to 500Balance tie-outs, sign-off packages
Hypercare100 to 300Post-go-live defect resolution

Twelve objects at mid-range assumptions lands around 4,000 to 4,500 hours, which at a $175 blended rate produces roughly $700,000 to $790,000. Run this build-up against any quote you receive. If the vendor will not tell you their assumed object count, cycle count, and blended rate, you are not comparing prices, you are comparing marketing.

The seven drivers that move the number

Data migration cost is set by seven variables, and only one of them is data volume. Understanding which ones apply to you is the difference between a defensible budget and a number pulled from a previous project.

Source system count. Each additional source adds extraction work, and more importantly adds conflict resolution. Two sources do not cost twice one source; they cost roughly one and a half times plus the survivorship rules.

Object count. Customers, items, vendors, chart of accounts, open orders, open POs, inventory, pricing, BOMs, routings. Each is a separate mapping and validation effort. Object count is the strongest single predictor of hours.

Data quality in the source. Free-text where structure was needed, overloaded status fields, duplicate customers under variant names. Cleansing effort is the least estimable component and the most common source of overrun, and it sits behind most of the common reasons ERP migrations fail.

Target system rigidity. Some targets reject anything that violates a constraint. Others accept it and fail later. Rigid targets cost more up front and less after go-live, which is the trade you want.

Historical scope. Every additional year of transactional history adds validation and reconciliation surface. History is also the cheapest scope to cut, which makes it the first lever when budgets tighten.

Reload cycle count. The multiplier on everything. Four cycles versus eight is frequently the difference between the middle and the top of a cost band, and it is determined by how early exceptions surface. See why implementations run four to eight reload rounds, and how those rounds set the overall schedule.

Regulatory and audit requirements. Validated environments, retained evidence, signed reconciliation packages. Life sciences, financial services, and government programs carry a documentation load that shows up directly in hours.

What the quote usually leaves out

The number in the SOW is rarely the number the program costs, because three substantial cost categories sit outside the vendor's scope by default. Budget them separately or absorb them as surprises.

Total cost of migration includes vendor fees plus internal staff time, cleansing labor, archive infrastructure, and post-go-live remediation. Vendor fees typically represent sixty to eighty percent of the true total.

Internal SME time is the largest omission. A mid-market program pulls two to five business subject matter experts at twenty to forty percent allocation for six to twelve months, and those people are your best operators. That cost is real even though it never appears on an invoice, and it is the reason "we will just do it ourselves" is usually more expensive than it looks.

Cleansing labor is the second. Most SOWs make the client responsible for correcting bad source records, which sounds reasonable until profiling returns forty thousand exceptions. Read the responsibility matrix carefully and ask specifically who fixes what.

Archive infrastructure is the third. If you are keeping history outside the new system, something has to store it and something has to make it queryable for audit. That is a separate project with its own budget.

Fixed-price versus time-and-materials

Fixed price transfers risk to the vendor and you pay a premium for it, typically fifteen to thirty percent above the equivalent T&M estimate. Time and materials is cheaper if the project runs as planned and unbounded if it does not.

Fixed-price data migration sets a total fee for a defined scope, with change orders for anything outside it. Time and materials bills actual hours at agreed rates, with the client carrying schedule and scope risk.

The determining question is not which is cheaper but how well you can define scope up front. Fixed price only protects you if the scope statement is precise enough that the vendor cannot reclassify ordinary work as a change. If your object list, source list, history window, and cycle count are all nailed down, fixed price is a good trade. If any of them are still open, you will pay the premium and litigate the change orders anyway.

Decision framework: how to structure the engagement

If your scope is well defined and your source data is well understood, take fixed price and pay the risk premium. You are buying schedule certainty, which on an ERP program is worth more than the fifteen to thirty percent.

If you are still discovering your own data, take T&M for a bounded discovery and profiling phase, then convert to fixed price once you know your object and exception counts. Fixed-pricing an unknown scope prices the vendor's worst case, and you pay for it.

If you are on a hard external deadline (end of support, a TSA exit, a lease expiry), buy the reload cycles explicitly rather than the deliverable. Cycles are what you actually need and they are what runs out.

If your budget is genuinely capped, cut historical scope first, then defer secondary objects to a post-go-live phase. Do not cut reload cycles or reconciliation. Those are the two line items where saving money reliably costs more money.

Where the cost can actually come down

The lever that moves total cost is not rate negotiation. It is cycle reduction, because cycles multiply every other line in the build-up. A rule error caught in the first pass costs a day of rework. The same error caught in the sixth pass costs the rebuild of everything downstream of it, plus the schedule float you no longer have.

Settle attacks the number at that multiplier. The engine proposes mappings with confidence scores, runs them through deterministic validation against the target's constraints, loads to staging, and simulates the workflows the business will run on day one, against the full dataset, in the first weeks. Exceptions that would otherwise surface in the fourth mock load surface before the first one. Engagements typically price at roughly half the equivalent consulting-led cost, and the saving comes from cycles that do not have to run rather than from rates.

AccountNumbercustomer_ext_id96%
Namename_1 · trim + truncatetransform98%
AnnualRevenuecredit_limityour call

Every mapping proposed with a confidence score, and flagged where the agent cannot decide.

What automation does not reduce is the cost of deciding what your data means. Survivorship rules, retention windows, and costing method conflicts still require the business to make calls, and no tool prices that work away.

What overrun looks like from inside

On one implementation, the data workstream was quoted assuming four mock loads. We ran seven. The additional three were not caused by anything exotic. Each one turned up a class of records the previous round had not reached, because the previous round had failed early enough that the loader never got to them. By the time we were clean, the data line had consumed most of the program's contingency and the schedule had moved twice.

Nothing in that overrun was a surprise in retrospect. All of it was a surprise at the time, which is the entire problem. Discovery serialized behind loading means you cannot know your exception count until you have already spent the budget finding it.

ApproachTypical cycle countCost position in band
Sample testing, discover on load6 to 8Top of band, frequent change orders
Full manual testing4 to 6Middle of band
Automated pre-load validation2 to 4Bottom of band

Frequently Asked Questions

How much does data migration cost?

Most ERP and CRM data migrations cost between $250,000 and $1.5 million, with single-source projects starting near $75,000 and complex multi-entity transformations exceeding $2 million. Cost is driven by source system count, object count, source data quality, and the number of test load cycles required. Labor accounts for the large majority of the total; tooling licenses are usually a small fraction.

Why is data migration so expensive?

Because it is priced as mapping and delivered as iteration. Mapping fields is bounded work, but the undocumented business rules buried in legacy data only surface when real volumes hit the target system, and each discovery triggers another correction and reload cycle. Programs commonly run four to eight of these cycles, and each one carries eighty to two hundred hours.

What percentage of an ERP implementation budget is data migration?

Data typically represents ten to twenty percent of total implementation cost, though it is often quoted at less and settles higher through change orders. The share rises with source system count and with the age of the legacy environment. On consolidation and post-merger programs it can exceed twenty-five percent.

Should I choose fixed-price or time-and-materials?

Fixed price costs roughly fifteen to thirty percent more than the equivalent T&M estimate and is worth it when your scope is genuinely well defined. If you are still discovering your own data, run discovery on T&M and convert to fixed price once object and exception counts are known. Fixed-pricing an undefined scope means paying for the vendor's worst-case assumption.

How can we reduce data migration cost?

Cut historical scope, reduce object count by deferring secondary objects past go-live, and above all reduce reload cycles by validating against target rules before loading rather than learning them from load failures. Rate negotiation moves the number least, because cycles multiply every line in the estimate. Do not cut reconciliation or cutover support.

What is not included in a typical data migration quote?

Internal subject matter expert time, source data cleansing labor where the responsibility matrix assigns it to the client, archive infrastructure for retained history, and post-go-live remediation beyond the stated hypercare window. Vendor fees generally account for sixty to eighty percent of true total cost. Ask for the responsibility matrix before signing, not after.

Bringing it together

The honest answer to what data migration costs is a range, and the range is wide because the variable that sets it, how many times you have to reload before the data passes, is not knowable at quoting time under the standard approach. That is the thing worth changing. Every cycle you remove takes a proportional slice out of every line in the estimate.

If you are budgeting the data workstream on an upcoming implementation, Settle will scope it against your actual source systems and give you a fixed number, delivered as a priced engagement. Book a scoping call.