Order History Migration to Shopify
Last updated August 2026
Migrating historical order data from the source platform to Shopify, including order status, payment information, fulfillment records, timestamps, and customer associations.
Complexity7/10
Affected platforms11
ApproachSee below
What transfers
- Order ID mapping can be created via API
- Order line items with product references
- Order totals and subtotals
- Payment status (limited)
- Fulfillment status (limited)
- Order timestamps
What does NOT transfer: Shopify migration tools cannot transfer all data types. The following are commonly lost during migration.
- Historical orders are NOT migrated by Shopify's native tools for most platforms
- Order notes and internal comments usually lost
- Payment gateway transaction IDs
- Tax breakdowns at line-item level
- Discount codes and their exact application
- Order-level custom fields (most platforms)
- Gift messages and wrapping data
- Shipping carrier and tracking ID history
Risks and common problems
- Customer order association requires customer records to exist in Shopify first
- Importing orders via API counts toward Shopify API rate limits
- Order IDs will change, breaking any external references
- Historical payment data (partial refunds, payment method details) may be incomplete
- Orders from deleted products create orphan records
- Multi-currency orders require Shopify Markets configuration
Recommended approach
For most stores, historical orders should NOT be migrated to Shopify unless required for customer service, reordering, or loyalty programs. Use a separate reporting system for historical order data. If migration is required, use the Shopify Admin API or a third-party app like Matrixify, importing customers first, then orders.
Technical notes
- Shopify's Order API requires POST /admin/api/2026-07/graphql.json with complete order structure
- Orders must reference existing customer and product IDs in Shopify
- Shopify does not support importing order discount codes via API
- Transaction history (order payment events) should be imported separately via the Transaction API
- Order timeline events (fulfillment, refund) can be added via Order/fulfillment endpoints
- Shopify uses GraphQL cost-based rate limiting. Check current limits at shopify.dev/docs/api/usage/rate-limits
- Matrixify (Excelify) is the most commonly used app for bulk order import
- Consider archiving instead of importing: export orders to a database/reporting tool
Platform-specific guides
Order History Migration by platform:
Related migration problems
References
Free assessmentPlanning a Shopify migration?
Get a free assessment of your migration complexity and risks.
Assess my store