rodionsoftware engineeroakville, on

(case study) 01

Shopify Migration QA Platform

Illustration with sample data. No client data is shown.

Will Shopify accept this file? I designed and built an internal tool that answers before anything touches a client store.

Scale
70k+ customers, 200k+ SKUs

The problem

Migration specialists move merchants' customers and products into Shopify from CSV exports. Shopify rejects rows for reasons that aren't obvious from the file: a variant that duplicates another, a blank option value, an email Shopify won't accept.

Checking a file by hand took about four hours per customer migration. Even more for products.

What I built

A web app with two sections, customers and products, sharing one server, one client and one PostgreSQL database.

  1. UploadDrop in the CSV. Customer files get a column-mapping step; product files are already in Shopify's format.
  2. Pre-checkRules flag what Shopify will reject, judged on the exact rows the import will send.
  3. Test importImport into one or more test stores in parallel through Shopify's bulk API.
  4. ReportEvery rejection traced to its source row and grouped by field and error code, with an Excel export.

Engineering decisions

Results

4h → 1hQA and prep time per migration (75% less)
200k+SKUs per file, 70k+ customer records

Stack