Migration & replatforming
Migrate a custom commerce platform to Shopify
Updated
A custom platform has no standard migration template. The safe route starts with observed processes, real data and code paths. Every capability is assigned to Shopify standard, an app, an integration, a custom extension or retirement before data, URLs and cutover are planned.
For proprietary shop systems, framework-based custom builds and historically accumulated commerce applications.
Contents
When is this approach the right fit?
For proprietary shop systems, framework-based custom builds and historically accumulated commerce applications.
The first step is therefore not tool selection but a decision map. It separates essential processes from habits, names dependencies and shows which parts already sit inside Shopify's standard capabilities. Only the remaining gaps justify apps, middleware or custom development.
NICCOS considers a topic ready for delivery only when the objective, non-goals, owners and acceptance are documented. This prevents a concise page title from turning into an open-ended transformation programme whose effort nobody can explain reliably.
What architecture does it require?
The target architecture is derived from business processes rather than source code. Legacy contracts are decoupled through temporary adapters until every surrounding system points to Shopify.
The architecture is shaped around change frequency, outage impact and team ownership. A process that runs every minute needs different guarantees from a nightly catalogue export. Editorial content requires different approvals from a price or an order.
We always plan an observable path: stable IDs, logged state transitions, repeatable processing and a dashboard for exceptions. Without that operating layer, a technically working connection is only a demo rather than a dependable commerce solution.
Which data and process decisions come first?
There is no reliable standard meaning for the data. Tables, fields and status values are interpreted with business teams and reconciled against Shopify using real records.
For every relevant object we document source, destination, key, update frequency, conflict rule and error path. It sounds formal, but it removes the late loops caused when two systems hold the same field with different meanings.
Data is not merely migrated or synchronised; it is reconciled against business meaning. Samples must cover variants, taxes, markets, discounts, returns and historical exceptions. A successful import without business reconciliation proves only that files were read.
What does delivery look like from discovery to operations?
The delivery path is deliberately split into verifiable outcomes. Every phase ends with an artefact, a decision or test evidence. The team can change scope without losing the overall plan, and risks become visible before they block the critical path.
The order follows risk: data and processes first, then architecture and prototype, followed by implementation, migration, acceptance and staged rollout. Interfaces are not approved against sample data, and integrations are complete only after failure and recovery paths have been tested.
- Process, code and data inventory
- Fit-gap and retirement matrix
- Target data model with reconciliation rules
- Migration rehearsals and dry run
- Cutover with explicit legacy shutdown
Which risks require active control?
These risks need explicit controls in discovery, testing and monitoring. Before implementation, each one receives an owner, evidence requirement and fallback path.
Undocumented cron jobs and admin workarounds contain hidden business logic.
Data fields carry several historical meanings.
The old store remains a parallel source of truth for too long.
What does NICCOS add beyond a standard implementation?
Source code is evidence, not specification. What matters is which process is actually used today and what value it still creates in the target.
We connect commerce decisions with SEO, data quality, analytics and operations. A solution is not complete when the happy path works. It must be discoverable, measurable, accessible, translatable and understandable to the team after the project.
We also document when the standard is the better decision. Not every requirement deserves custom software, not every data flow needs real-time processing, and not every historical exception should be carried into the target architecture.
How is quality measured before launch?
Acceptance measures are set before implementation and tested with real data. Functional tests alone are insufficient: completeness, speed, fault tolerance and the team's ability to recognise and classify exceptions are what matter.
- Gate 1
- Every active process has a tested target path
- Gate 2
- Record counts and totals reconcile between source and target
- Gate 3
- The legacy system can be retired through a documented plan
| Check | Expected evidence |
|---|---|
| Gate 1 | Every active process has a tested target path |
| Gate 2 | Record counts and totals reconcile between source and target |
| Gate 3 | The legacy system can be retired through a documented plan |
Keep exploring
Related playbooks
FAQ
Frequently asked questions
When is this approach useful?
For proprietary shop systems, framework-based custom builds and historically accumulated commerce applications. The business value, data ownership and operating model must be explicit before implementation begins. A technology decision without those three points merely pushes unresolved questions into delivery.
How should the project start?
With a short discovery sprint covering current processes, interfaces, volumes, exceptions and acceptance criteria. Process, code and data inventory The scope can then be split into testable delivery packages instead of being estimated from a feature list.
Which data must never be maintained twice?
There is no reliable standard meaning for the data. Tables, fields and status values are interpreted with business teams and reconciled against Shopify using real records. Every object needs one system of record, a defined direction and an owner for corrections. Double maintenance is not an integration pattern; it is a reconciliation problem waiting to happen.
What belongs in acceptance testing?
Acceptance covers visible behaviour as well as failure modes, permissions, retries, monitoring and realistic data. Every active process has a tested target path The solution is production-ready only after load and partial outages have been addressed.
What is the NICCOS point of view?
Source code is evidence, not specification. What matters is which process is actually used today and what value it still creates in the target. We prefer understandable standards, a small number of justified exceptions and measurable release gates. That lowers project cost and leaves the internal team with a system it can operate.
Primary sources
Official documentation used for capabilities, constraints and implementation guidance.
Next step
Settle the decision before the build
We assess a custom commerce platform migration to Shopify against real processes, data and operating requirements, then turn it into a deliverable scope with clear release gates.