Background

783 Label is an independent punk and metal record label and distributor based in the UK. They sell physical merchandise — patches, enamel pins, vinyl, CDs, tapes, t-shirts, and wall flags — to retail customers and wholesale buyers across the UK and internationally. Their catalogue had grown to over 2,300 products across hundreds of wholesale accounts.

The Problem

The store ran on Square Online (Weebly), which had become a hard ceiling on their growth. Square couldn’t support their wholesale pricing tiers, had no proper collection hierarchy, lacked automation for discount rules, and made it impossible to run promotions like buy-3-get-1-free. Managing 2,300+ products and hundreds of wholesale accounts was increasingly manual.

They needed to move to Shopify — but at that scale, a manual migration was completely impractical. And any downtime during the move meant lost sales.

What Was Built

A fully automated Square → Shopify migration was built from scratch using the Shopify GraphQL Admin API and Square’s catalog API. Every layer of the store was rebuilt programmatically:

  • 2,373 retail products migrated with all variants, pricing, inventory quantities (summed across two Square locations), product images via S3 URL ingestion, and SEO metadata
  • 1,068 customers migrated (99%) with email marketing consent flags, phone number normalisation to E.164 format, and duplicate detection. Failed records were automatically retried with fallback logic.
  • 63 smart collections built with tag-based rules — 15 top-level, 48 subcategories — organised in a parent → child hierarchy stored via Shopify metafields
  • 6 wholesale discount tiers (40% / 45% / 50% / 55% / 56% / 64%) built as automatic Shopify discounts scoped to dedicated customer segments, covering 326 wholesale products
  • Buy 3 Get 1 Free discount implemented with a custom Liquid badge injected on product cards, collection pages, and search results
  • 287 printed patch prices corrected from £6.99 → £7.99 programmatically after a post-migration client audit

A custom audit system caught and recovered 6 products that were skipped due to a Square data-type bug. An incremental sync script was also built so new Square products can be pushed to Shopify at any time without re-running the full migration.

Results

  • 100% of the retail catalogue migrated — zero products or customers lost
  • Zero hours of store downtime — both platforms ran simultaneously throughout
  • All 6 wholesale discount tiers live on day one, covering 326 products
  • Buy-3-get-1-free promotion running site-wide with zero manual setup required