Blog ·

How to sync supplier stock to Shopify without an API

Ask ten dropship merchants how their supplier stock gets into Shopify and most of them will say one of three things: someone updates a spreadsheet, we pay an integrator for this specific supplier, or we don't — we find out we're out when a customer complains.

The awkward truth is that most suppliers don't have an API. Not a bad one, none at all. What they do have is a person in logistics who exports a CSV from their ERP every Friday morning and emails it to their accounts. That email is the integration everyone has and nobody uses. Here is how to turn it into a Shopify sync.

The pieces you need

Four moving parts, in order:

  1. An inbound email address per store. Your supplier emails here; you route on the address. `shop-<slug>@your-domain.com` is plenty of entropy, gated by a sender allowlist.
  2. SPF, DKIM, and DMARC enforcement, because supplier emails flow through an external system and you don't want a vendor's email account compromise writing stock values on your products.
  3. A parser with an explicit column mapping. Suppliers name their columns inconsistently ("SKU" vs "Product Code" vs "Item No"). Pick your column names per supplier once; don't auto-detect.
  4. A place to put the result. Shopify product metafields, under a namespace you own.

That's it. There is no hard bit. The hard bit is the operational bit — what happens when a supplier silently renames a column, when a sender's email gets spoofed, when they forget to send a week. But the core integration is small.

Why product metafields, not Shopify inventory?

Shopify has native inventory levels tied to locations. You could, in theory, create one Location per supplier and write quantities there. Most merchants don't want that. They want their supplier's stock as advisory data — something that informs their fulfilment rules, triggers their Shopify Flow automations, feeds their out-of-stock alerts — without overwriting the inventory numbers they've carefully assembled themselves.

Product metafields are perfect for advisory data. They show up on the admin product page if you add a metafield definition. They're queryable from the Storefront API if you want to show "only 3 left from supplier" on a PDP. And they don't fight with your existing inventory model.

What breaks in practice

A few lessons from a few hundred thousand ingested rows:

The "no supplier integration" integration

The best integration is the one that requires zero work from your supplier. They keep sending the same CSV they've been sending for years. You handle the rest. When merchants realise they can add new suppliers without so much as a meeting, the adoption curve looks different.

Stockpost is this idea, productised: one inbound address per store, sender allowlists, column mapping per supplier, metafield writes, full audit log. $39 / store / month, 14-day trial.

Related reading: