Inventory the history your business still uses
Start with the questions people answer from the old system. Support may search old orders for shipment details. Finance may need refunds and payout references. Operations may need mapping decisions or inventory adjustments. Identify these uses before deciding which fields to migrate and which records can remain in a protected, searchable archive.
Do not assume that one order export contains every relevant event. Review what the source actually includes, including line items, transaction details, comments, attachments, and external references. Shopify's export guidance, for example, explains the structure and scope of its order CSV. Treat each export as a defined view rather than an automatic full backup of the operational history.
Separate historical reference from active work
A completed order from last year may only need to remain searchable. An order awaiting fulfillment needs a clear operational owner. A partially refunded order may need both historical context and future financial follow-up. Classify records by the work that remains, not simply by age.
This separation reduces risk. Recreating every old order as if it were new can trigger notifications, reserve stock, or confuse revenue reporting if the import is not designed for history. Use supported migration methods and verify their side effects. The goal is continuity of information and responsibility, not a visually impressive count of imported records that behaves differently from the originals.
Preserve the identifiers that connect the business
Keep the original channel, seller account, order identifier, internal order reference, line-item references, shipment identifiers, and refund references where relevant and available. These relationships let the new system recognize existing work and avoid importing it again when a delayed event or catch-up job arrives.
Create a mapping between old and new internal identifiers if the destination assigns new ones. Do not overwrite the original references with the new values. A support agent should still be able to search using the number a customer received at purchase. A finance colleague should still be able to trace a refund from a source report back to the same order.
Keep a crosswalk for records that receive new identifiers during migration. It should connect the old order reference, new record reference, source channel, and relevant line identities. Test that a support agent can start with an older customer email and locate the correct history. The crosswalk is especially valuable when two systems format visible order numbers differently or reuse familiar sequences. Never rely on a display number alone if a more durable original reference is available.
Test the difficult records before the easy bulk
Choose a representative sample that includes multiple items, multiple shipments, partial refunds, canceled orders, changed product titles, and more than one channel. Include records with old or archived product references. A sample containing only recent single-item orders will not reveal the problems that make historical support difficult.
Compare the source and destination field by field for the information the business needs. Check quantities, currencies, dates, time zones, and relationships. Then ask an operator who did not perform the migration to answer a real question using the new view. A technically successful import is not enough if the resulting record cannot explain what happened.
Define a cutover boundary that people can follow
Choose when the old system stops initiating each action and when the new system starts. The boundary may differ for order imports, inventory updates, and shipment confirmation, but each responsibility needs one clear owner. Avoid a period in which both systems believe they should create the same order or publish competing stock quantities.
Record the boundary with timestamps and the relevant source references. Plan for work already in flight: delayed notifications, queued updates, and orders accepted just before the switch. A catch-up process should use the same duplicate checks as the normal importer. The cutover plan should explain how these records are recognized rather than relying on someone to remember which tab was active.
Compare in read-only mode where practical
Before granting the new workflow responsibility for changes, compare what it reads with the established operating view. Review counts, mappings, eligible orders, and inventory definitions. Differences may reveal a useful correction or a missing assumption, but they should be explained before the new system begins writing.
Keep the comparison bounded. Choose representative products and a defined order window, then expand after the important cases agree. Do not treat a matching total as proof that individual records are correct; two different errors can cancel each other numerically. Compare original identifiers and outcomes as well as aggregate counts.
Keep a recovery plan with explicit limits
Decide what would cause you to stop the cutover and how the team will handle new orders while investigating. Preserve access to the old records and the exports needed for reconciliation. If the new system has already performed changes, understand those changes before returning responsibility elsewhere; a simple switch back can create duplicates if the old system has not learned what happened.
The recovery plan should identify who can make the decision, which workflows can pause, and how the affected period will be reconciled. Test the plan with a tabletop example. A practical plan acknowledges the work already completed instead of promising that every migration can be reversed by pressing one button.
Verify the first operating cycle end to end
After cutover, follow actual eligible orders through product matching, inventory commitments, fulfillment, tracking, and the relevant financial records. Keep the original references for comparison. Watch exception age and duplicate detection closely during the initial period, because delayed events can reveal gaps that were not visible at the exact switch time.
Continue to verify historical lookup as well. Ask support to find an old shipment and finance to trace an older refund. A migration can succeed at new order processing while making the past unnecessarily difficult to access. Both capabilities matter to the business, and both deserve a clear acceptance check.
Retire the old system deliberately
Before ending access, confirm retention needs, export completeness, ownership of stored files, and the team's ability to search the retained history. Keep appropriate access controls and avoid copying unnecessary personal information into loosely managed folders. Consult the responsible professionals on formal retention obligations rather than treating a software migration as permission to delete records.
Document the final arrangement: where current work lives, where historical evidence lives, and who maintains the link between them. A successful change should reduce confusion for the next person who joins the business. When the history remains explainable and the new order flow has one clear owner, the software change becomes a controlled improvement rather than a break in the company's memory.
Sources & further reading
Official documentation for the concepts discussed. Platform requirements can change; check the linked source for the current details.