Notes

Data migration vs data integration: differences and a cutover example

Three stock rows and their total match, yet the new system has the wrong item quantities. Compare migration with ongoing integration, then reconcile a cutover snapshot.

Data migration moves data into a new system or environment. Data integration combines and aligns data from different sources so it can be used together. A migration aims to leave the required data ready in the new environment. An integration often keeps supplying or updating it afterwards.

Both may use extraction, mapping, transformation and loading. The difference is the purpose and the acceptance decision, not whether someone wrote a script or called an API.

IBM's migration and integration explanations describe those purposes. Moving opening stock into a new ERP and keeping its warehouse feed working are related jobs, but a successful opening load does not show that the ongoing feed works.

Data migration vs integration: the main differences

Question Data migration Data integration
What is the intended result? Establish the required data in the target environment Bring data together in a consistent, usable form
What happens over time? Rehearsals and staged transfers can lead to a controlled cutover Updates may run periodically or continuously for the required use
What needs checking? Required records, relationships and opening state at an agreed cutoff Mappings, updates, exceptions and the meaning of the combined output
Warehouse example Load item stock, holds and allocations into the replacement ERP Feed later warehouse movements into the authorised stock record
Are the jobs exclusive? No; migration can use integration tools and incremental loads No; ongoing integration may need an initial migrated baseline

The ETL vs ELT comparison explains where transformation happens. That architecture choice can support either job. It does not supply the missing item mapping or decide which stock status is pickable.

ERP migration example: matching totals can hide wrong records

Our fictional warehouse moves one location's stock into a replacement enterprise resource planning system, or ERP. Every quantity below is in individual pieces, identified by item and location. Held and allocated stock are separate groups.

At the initial extract, the source holds 250 pieces across three items. A trial target also has three rows and 250 pieces. Its import job reports success.

But twenty pieces belonging to P03 have been assigned to P02, and P01's ten held pieces have lost their hold quantity. The row count and total have concealed different errors.

Before cutover, the warehouse issues ten unallocated, released pieces from P01. The source now holds 240. That final movement needs to reach the target once, alongside the corrected mapping.

Source at cutover Physical stock Allocated Held Unallocated pickable stock
P01 110 20 10 80
P02 80 0 20 60
P03 50 10 0 40
Total 240 30 30 180

Here, pickable means physical less the separate, non-overlapping held and allocated groups. The data governance example explains why that definition needs agreement before comparing screens.

Reconcile by item, status and cutoff

The target starts with the final ten-piece issue included. Its total matches 240, but the item quantities and hold records are still wrong.

Correct the mapping, then remove the final movement to see why a correct extract can still be too old for cutover.

One location / three item records / pieces

Same total, different stock

The source is the cutover snapshot, including a ten-piece P01 issue. Correct the mapping and decide whether that final movement is included in the target.

Source at cutover240 pieces3 rows; 180 unallocated pickable

Target after selected loads240 pieces3 rows; 190 unallocated pickable

Totals match; item records do not

3 item records differ: P01 (held); P02 (physical); P03 (physical).

Scroll sideways for source and target by item. All quantities follow in the ledger.

Item-level stock and status reveal differences hidden by totalsSource physical total 240; target 240. 3 item records differ. Each pair of bars splits physical stock into unallocated pickable, allocated and held pieces. Exact values are in the table.04080120P01SourceP01: physical 110, pickable 80, allocated 20, held 10 piecesTargetP01: physical 110, pickable 90, allocated 20, held 0 piecesP02SourceP02: physical 80, pickable 60, allocated 0, held 20 piecesTargetP02: physical 100, pickable 80, allocated 0, held 20 piecesP03SourceP03: physical 50, pickable 40, allocated 10, held 0 piecesTargetP03: physical 30, pickable 20, allocated 10, held 0 piecesPhysical pieces, split by status

Graphite: unallocated pickable. Grey: allocated. Rust: quality hold. A missing hold can make target stock look pickable without adding physical pieces.

Every pair reads source / target at the same cutover. Held and allocated groups do not overlap.
ItemPhysicalHeldAllocatedPickable
P01110 / 11010 / 020 / 2080 / 90
P0280 / 10020 / 200 / 060 / 80
P0350 / 300 / 010 / 1040 / 20
Mapping errors, delta load and scope

At extraction, source physical quantities are 120/80/50, holds 10/20/0 and allocations 20/0/10. The incorrect target assigns twenty P03 units to P02 and omits P01's ten held units. Correct mapping restores both item quantities and holds. Both mappings retain the three item IDs and allocations.

The final source issue reduces P01 by ten unallocated released pieces. It is applied once to the target only when selected. Source physical stock is therefore 240 at cutover; a target missing that movement is 250. Matching physical totals can coexist with different per-item quantities and different pickable stock. Other locations, orders, accounting, duplicate IDs and posting permissions need separate migration checks.

Fictional source and target at one location, all quantities in pieces. The source includes a final ten-piece P01 issue. Correct the item and hold mappings, then check that the final issue is included once. Other migration checks remain outside this stock example.

A complete stock check compares the item and location keys, units, physical quantity, held quantity and allocations at the same effective time. A duplicate row, unknown status or missing item must remain visible as an exception.

The master-data vs transactional-data example shows why a correct item ID is not enough if its quantity uses the wrong pack definition. Reconcile converted values against the original quantities and approved conversion too.

Do not stop at stock totals. Open orders need their remaining quantities, status and relationships checked. Test that a held lot stays blocked and a legitimate shipment can post using the intended opening records.

Plan the final delta and the switch in authority

A delta load brings changes since an earlier extraction. It is useful when a full transfer happens before the business stops using the old system.

Microsoft's cutover-planning guide describes full and incremental loads, comparison by business users and a final load under controlled change conditions. Its suggested timings are specific to that platform context, not deadlines used in this example.

For this warehouse, agree when the old system stops accepting stock postings, how the last movements are captured and who checks the resulting target state. Record what happens if the check fails, including the rollback decision and how any new postings would be reconciled.

Agree when each system may stop or start posting movements. If both systems can independently post the same issue after cutover, correct opening balances can diverge immediately. Record the authoritative stock system and the role of the warehouse connection.

Keep integration controls after migration ends

The next warehouse issue still needs item identity, units, timing and a stable movement identity. Repeating a message must not issue the stock twice. The EDI vs API example follows that retry problem through an order connection.

Monitor failed updates and unresolved records after go-live. Define who corrects them and how the corrected result is checked. A migration reconciliation sheet will not notice tomorrow's disconnected warehouse feed by itself.

The SIT and UAT guide separates the integration check from the user's ability to complete the business flow. Keep both in the release evidence.

For these three items, fix the mapping and replay the ten-piece issue once before reviewing the stock checks. Then follow a real permitted movement through the new operating route. That connects the opening state to the system the warehouse will actually use.

Sources and example notes

All items, balances and errors are fictional. The stock figure covers one location. A migration also needs checks for lot history, open orders, accounting and access. Preserve movement IDs when replaying final changes.

NextDesign of experiments: a factorial example with two settings

Working on something like this?

I work with operations and transformation teams on operational excellence, digital transformation programs, supply chains and industrial AI. If this sounds like your line, your program or your problem, I’d be glad to compare notes.

Abolfazl ShirkavandImage preview unavailable