Work

/

About
Play
Blog
Home/Blog/Shopify
Shopify
•
Updated Oct 1, 2026
•
3 min read

Running a 70,000-Product Shopify Store on Seven Suppliers: Stock, Pricing and Orders

Running a 70,000-Product Shopify Store on Seven Suppliers: Stock, Pricing and Orders
MS
Muhammad Saad

Shopify engineer. I build storefronts, two published Shopify apps, and the infrastructure behind a 70,000+ product store, and I write here about what that work teaches me.

Follow on LinkedInSee my workBook a call
Found this useful? Share it.

Keep reading

Shopify Collection Sorting for Large Catalogs: Rank by What Actually Sells
Shopify
•
4 min read

Shopify Collection Sorting for Large Catalogs: Rank by What Actually Sells

Rank Shopify collections on revenue, margin, stock and click-through instead of one sort order, and re-sort large catalogs hourly without API limits.

Oct 1, 2026
Missing product images workflow: hold arrivals, check variant photos, then publish
Shopify
•
5 min read

Shopify Products Missing Images: Hold, Fix, Then Publish

A practical queue for Shopify products missing images: hold supplier arrivals, verify the right variant photo, and publish without duplicating products.

Oct 1, 2026
Shopify Search Is Losing You Sales: Typos, Zero Results, and What to Measure
Shopify
•
3 min read

Shopify Search Is Losing You Sales: Typos, Zero Results, and What to Measure

Where Shopify store search loses sales: misspellings, zero-result searches and slow results, how to find them in your data, and how to measure search revenue.

Oct 1, 2026
Back to the blog

© 2026 Muhammad Saad • Colophon

Connect with me on LinkedIn

Elsewhere

  • Github
  • Testimonials
  • CV
  • LinkedIn

Contact

  • Book a call
  • Email
On this page
  1. Seven Suppliers, Three Kinds of Feed
  2. Import as a Plan, Not a Blind Upload
  3. Hold Bad Feeds Instead of Zeroing Stock
  4. Price From a Floor, Not From a Guess
  5. Order From Whoever Can Actually Fill It
  6. Guard Every Live Write
  7. Where to Start

A Shopify store with tens of thousands of products from several suppliers is an operations problem first and a storefront problem second. These are the patterns behind the platform I built for a 70,000+ product beauty store sourcing from seven suppliers.

Quick answer

Match supplier rows to store products by barcode, turn every change into a reviewable plan before it touches Shopify, hold bad feeds instead of zeroing stock, price from a cost-based floor, and route orders to whichever supplier can actually fill them. Guard every live write.

Seven Suppliers, Three Kinds of Feed

Real supplier data is messy. Of the seven suppliers here, three send automated feeds and four still send spreadsheets. Each uses its own column names, price formats and stock conventions. The first job is a shared normalisation step, so everything downstream sees one shape of data. Clean supplier data also pays off in large-catalog SEO.

Import as a Plan, Not a Blind Upload

A sync downloads the supplier feed, normalises it and matches every barcode against the live store, without writing anything. Only then does a reviewable plan appear: which products are new, which changed, and which are ready to publish.

Products with no usable images are parked instead of published so operators can review them before they reach the storefront. Splitting that queue by supplier makes it finishable; at one point 1,354 new arrivals were waiting on images across five suppliers. The missing-image review and publishing workflow explains how to take those arrivals from a hold to a reviewed listing.

Hold Bad Feeds Instead of Zeroing Stock

The most dangerous day is when a supplier sends a short or broken file. A naive sync reads "these products are missing" and sets thousands of items to zero stock. A feed-health check compares the feed with what is expected and holds removals when something looks wrong, then flags it for a person to review.

Price From a Floor, Not From a Guess

  • Resolve the real supplier cost for each product and compute a cost-based minimum price.
  • Use competitor research to suggest a price just under the cheapest market listing, but only when it still clears the floor.
  • Flag listings where the market sits at twice your own minimum. That usually means bad data, not an opportunity.
  • Run a floor audit that only ever raises prices that fell below the minimum. One run checked 70,418 variants and found 24 priced under the floor.

Order From Whoever Can Actually Fill It

Orders, whether paid, cash on delivery or bank transfer, are queued, re-checked against live Shopify data, grouped into dispatch windows and sent to suppliers as consolidated purchase orders once a batch clears the supplier's minimum. The hard case is an order line whose supplier sold out after the customer paid. The system looks for the same product at another supplier instead of cancelling.

Least-cost sourcing works the same way. When two or more suppliers carry a product, it moves to the cheaper one only if the saving is at least 2%, and the delivery estimate shown to customers is updated to match.

Guard Every Live Write

Safety layers that let automation run on a live store
GuardWhat it prevents
Dry run firstImport, stock sync, dispatch and repricing all produce a plan before any live write
Typed confirmationsSpending money needs a typed word such as DISPATCH or PRICE, not one click
Double write flagsLive writes need both DRY_RUN=false and a specific ALLOW_*_WRITES flag
Paced background jobsBulk writes of 1,000+ items run in workers instead of hitting rate limits
Audit logs and ledgersInterrupted jobs resume instead of duplicating orders or writes

All of it runs on one Ubuntu server behind nginx, as more than ten systemd services and timers. You do not need a big cloud bill to run a big catalog; you need careful operations.

Where to Start

If your team spends its week on supplier spreadsheets and stock fixes, start with the dry-run plan and the feed-health hold. Those two alone prevent most expensive mistakes. The BC Supply Ops case study shows the full platform, and you can book a call if you want something similar for your store.