MostStack Install on Shopify
Shopify app · stock from supplier feeds

Supplier feeds in.
Shopify stock out.

MostStack reads the price lists and stock files your suppliers already send, cleans them up, and keeps your Shopify inventory current. Only what changed is sent. You preview every sync before it goes live.

Works with CSV, XLSX, XML, Google Sheets, FTP/SFTP and emailed files. No customer data is ever read.

Reads files from Any link Google Sheets Google Drive FTP · FTPS · SFTP Emailed attachments CSV · XLSX · XML PDF price lists Another Shopify store
How it works

Three steps per supplier. Then it runs on its own.

Point MostStack at the file a supplier already sends you. Tell it which column is which, once. From then on every new file is read, checked and synced.

1

Connect the supplier file

Wherever the file lives. MostStack fetches it on a schedule and skips it when nothing changed.

  • A link, including Google Sheets and Drive
  • A folder on the supplier's FTP or SFTP server, or "newest file matching a pattern"
  • An attachment forwarded to your private MostStack inbox
  • A one-off upload
2

Map the columns once

SKU, barcode, name, brand, quantity, cost, price, RRP. Everything else is kept as extra information.

  • Any CSV separator and encoding, XLSX sheets, XML
  • Barcodes fixed to 14-digit GTIN and checked
  • "10+", "in stock", "1.234,50" and week numbers understood
  • Duplicate rows dropped, conflicts resolved by rule
3

Sync to your store

Match by SKU (barcode as a fallback), apply your stock rules, preview, then switch to live.

  • Runs after every import and on a re-check schedule
  • Only differences are sent, 100 at a time
  • Products gone from the file go to 0
  • One sync per supplier and location
What you get

Built for stores that buy from many suppliers

Every supplier sends a different file. MostStack makes them all behave the same way, and keeps a record of everything it did.

Stock rules per supplier

Multiply, keep a buffer, cap at a maximum, or set different rules per brand. Variants that aren't stocked at the location yet are set up on the way.

History of every change

What changed, when, and in which import, for each product. Filters for in stock, gone, bad barcode, incoming and changed. Export to CSV.

Runs every few minutes

Sources are checked on their own schedule. A failed or stopped import is tried again after 15 minutes, 30 minutes and an hour, and you get an email when it still needs you.

New products from supplier files

Pick products a supplier has that your store doesn't, or drop a price list, an invoice or an order confirmation on the page (PDFs are read with AI). Review title, brand, SKU, barcode, price, cost and weight, link colour and size rows into one product with variants, and create them in Shopify as drafts with tracked inventory. Prices can follow a rule: RRP minus a percentage, cost plus a margin, compare-at from the RRP.

A supplier's Shopify store as a feed

Read a supplier's own store like any other file. When creating products from it, descriptions, images, tags, SEO and metafields come along.

Reports that answer the awkward questions

Matched vs not-in-store products per supplier, duplicate SKUs in the store, and SKUs written by more than one supplier, so you know which one wins.

Cost next to your own

Supplier cost is read into the store copy. A quiet marker shows where a supplier's cost for the same SKU differs from yours by more than 2%.

Your team, with roles

Admins, editors and viewers per store. Every action is in the activity log.

Safety brakes

A broken file should never empty your store

Supplier files go wrong: an export with no rows, a sheet with half the products missing, a column that moved. MostStack notices and stops before it touches your stock.

  • Import stops when the file has no usable rows, far fewer rows than last time, or would remove too many products. Nothing changes until you say "import anyway".
  • Sync stops when too many matched variants would drop to zero at once.
  • Preview mode first. Every sync starts in preview. You see exactly which quantities would change before switching it live.
  • Stock only, by default. Syncs touch inventory. Product creation is a separate step, needs an extra permission, and creates drafts.
Rules, not spreadsheets

Prices and stock worked out the way you'd do it by hand

Set a rule once per supplier, see a worked example right there, and stop re-doing the maths every time a new file arrives.

  • Stock: multiply, buffer, cap, per brand. "In stock" and "10+" become numbers you choose.
  • Price: highest or lowest of price and RRP, RRP minus a percentage, or cost plus a margin. Compare-at from the RRP when it's higher.
  • Cost: read from the file, or worked out as a discount off the RRP, per brand, when the supplier doesn't share it.
Pricing

Simple plans, billed through Shopify

Every plan includes every feature. Plans differ by how many suppliers you connect. Pricing is still being finalised; what's shown here is a draft.

Starter

$19 / month

For a store with a couple of suppliers.

  • Up to 3 suppliers
  • Stock sync with rules and preview
  • Safety brakes and history
  • New products from files
Start free trial

Scale

$129 / month

For large catalogues and teams.

  • Unlimited suppliers
  • Everything in Growth
  • Several locations and stores
  • Priority support
Start free trial

14-day free trial on every plan. Cancel from your Shopify admin at any time.

Questions

Before you install

Does MostStack change my prices?

Not on its own. Syncs send stock quantities only. Prices, compare-at prices and cost are used when you create new products from a supplier file, and those are created as drafts for you to check.

What happens to products that disappear from a supplier's file?

Their stock at that location goes to 0, because the supplier no longer has them. If a file loses too many products at once, the import stops instead and waits for you, so a bad export can't zero out your store.

How does it match supplier rows to my products?

By SKU, with the barcode as an optional fallback. Barcodes are normalised to 14-digit GTIN first, which fixes UPCs that lost a leading zero in a spreadsheet. The report shows what matched and what didn't.

Which permissions does the app ask for?

Read products, read and write inventory, and read locations. Writing products is asked for separately, the first time you create products from a supplier file. MostStack never reads orders or customer data.

My supplier emails the file. Does that work?

Yes. Each store gets a private forwarding address. Forward the supplier's emails there (or set a rule in your mailbox) and MostStack picks the attachment by sender, subject and file name.

Can I see what it would do before it does it?

Every sync starts in preview mode: you see the matched products and the quantities that would change. Switch it to live when you're happy. Every live run keeps a report of what was sent.

What if a file is unchanged?

It isn't even downloaded. Remote files are fingerprinted (ETag, Drive version, FTP size and date), and an identical file is skipped by its hash. Only rows whose content changed are written.

Stop re-typing supplier stock.

Install MostStack, connect your first supplier file, and see the preview in minutes.