Blog

Supplier inventory feed automation: importing dropship stock and prices into Shopify and marketplaces

Supplier inventory feed automation for Shopify: import CSV, FTP and API stock and price feeds, map SKUs, set buffers and push updates to marketplaces.

By Rokibul Hasan8 min read

  • Shopify
  • Automation
Wooden crates in three sizes on a table

If you dropship, or keep part of your range at a wholesaler, your store's stock figures are only as good as the last file your supplier sent. Most suppliers send something: a spreadsheet by email every morning, a CSV on an FTP server, an XML file at a web address, an API, or EDI messages from the bigger distributors. Supplier inventory feed automation turns whatever arrives into correct stock and prices on Shopify and every marketplace you sell on, on a schedule, without anyone copying numbers across.

This guide is for Shopify sellers who sell products they don't hold, or hold only some of, and who are tired of selling items the supplier ran out of yesterday. It covers feed formats, SKU mapping, buffers, price rules, getting the data into Shopify and the marketplaces, and the checks that stop one broken file from emptying your store.

What a supplier inventory feed looks like

Suppliers rarely agree on a format. These are the common ones:

Format How it arrives What to watch
Spreadsheet by email An attachment once or twice a day Columns move, sheets get renamed, someone forgets to send it
CSV or XML at a URL, or on FTP/SFTP A file you fetch on a schedule Half-uploaded files, odd encodings, a file that quietly stops updating
Supplier API Your code asks for stock and prices Rate limits, pagination, expiring credentials
EDI 846 "Inventory inquiry/advice" messages from larger distributors Usually needs an EDI provider

Whatever the format, the feed is a list of rows: supplier SKU, quantity, cost, sometimes a discontinued flag. Everything after that is your rules.

How supplier feed automation works, step by step

A dependable import runs the same six steps every time:

  1. Fetch the file or call the API, and keep a copy of what arrived.
  2. Validate it: the right columns, a sensible number of rows, a recent date.
  3. Map each supplier SKU to your own SKU.
  4. Apply your rules: buffers, minimums, price calculations.
  5. Push only the changes to Shopify and each marketplace.
  6. Report what changed, what was skipped and what failed.

If the feed has 8,000 rows and 120 changed since yesterday, sending 120 updates is faster, kinder to rate limits and easier to audit.

Mapping supplier SKUs to your own

Supplier codes are rarely your codes. Keep a mapping table (supplier, supplier SKU, your SKU, pack size) instead of renaming your products. It lets you:

  • Handle pack sizes. If the supplier counts cases of 12 and you sell singles, multiply. If you sell a three-pack of their singles, divide and round down.
  • Use more than one supplier for a product, and record which one gets the next order.
  • Survive a supplier change by switching the mapping, not every product.
  • Catch the unmapped. New supplier SKUs go on a review list rather than becoming products automatically.

Keep it somewhere you can edit without a developer, such as a sheet the importer reads or Shopify metafields.

Dropship inventory sync rules: buffers, stale feeds and discontinued items

The supplier's number is not your number. Its three units are on offer to every other retailer too, and its file may be hours old. So:

  • Buffer. Show fewer than the supplier has: subtract a fixed number, or treat anything under a threshold as zero. If the supplier has 4 and your buffer is 3, show 1.
  • Combine with your own stock. Show yours plus the supplier's buffered figure, and ship from your shelf first.
  • Stale feeds. If a feed hasn't updated for longer than you allow, hold the last values briefly, then mark that supplier's products out of stock and tell someone.
  • Discontinued items. A product missing from today's file might be discontinued, or the export might be broken. Treat one missing day as a warning and several as discontinued, and never delete products automatically.

Per-channel buffers and bundles are covered in preventing overselling with multichannel inventory sync. The supplier feed is one more input into the same "available to sell" figure.

Automating supplier price updates

Many feeds carry cost prices, and when costs move, so does your margin. A price rule turns cost into a selling price: cost times a markup, plus shipping, rounded to your usual price ending, never below a minimum margin.

Prices need more caution than stock:

  • Guardrails. If a price would move by more than a set percentage, hold it for a person. A misplaced decimal point should never reach the shop.
  • Minimum advertised prices. If a brand sets one, keep it as a floor.
  • Per-channel prices. Marketplaces take different fees, so the same cost may need a different price on each.

Repricing against competitors is a different job; see Amazon repricing automation.

Importing a supplier feed into Shopify

Shopify's GraphQL Admin API has what an importer needs:

  • Stock. inventorySetQuantities sets absolute quantities at a location, which suits a feed that says "the supplier has 14". You pass the quantity you expect to change from, and Shopify rejects the write if the stored value has moved, for example because an order came in. That field is mandatory from API version 2026-04 (Shopify changelog), and so is an idempotency key, so a retried request can't apply a change twice.
  • Prices. productVariantsBulkUpdate changes the price and compare-at price of many variants of a product in one call.
  • Large catalogues. For thousands of changes, upload a JSONL file of up to 100 MB through stagedUploadsCreate and run bulkOperationRunMutation. From API version 2026-01 an app can run up to five bulk mutations per shop at once, and each must finish within 24 hours (Shopify).
  • Rate limits. Ordinary calls draw on a points bucket that refills at 100 points a second on standard plans, so push changes, not the whole catalogue every hour.

If you also hold stock yourself, give each supplier its own Shopify location so orders can be routed by location.

If your supplier also sells on Shopify, check Shopify Collective first: you import the supplier store's products and the supplier manages inventory. It is free on all plans, subject to eligibility, and both stores must be in the same country.

Pushing supplier stock to Amazon, Etsy and TikTok Shop

When Shopify is your source of truth, marketplaces should get their numbers from Shopify, not straight from the feed, so rules apply once.

  • Amazon. Quantity and price on seller-fulfilled offers update through the Listings Items API one SKU at a time, or in batches through the JSON_LISTINGS_FEED. Amazon recommends the feed for more than 1,500 items, up to 25,000 per feed, and says processing can take up to eight hours (Amazon). The old XML and flat-file listings feeds stopped working through the API on 31 July 2025 (Amazon). Read Amazon's drop shipping policy before listing supplier-shipped products.
  • Etsy. Updating a listing's inventory means sending the entire set of products and offerings, not just the quantity that changed (Etsy). Read the current inventory, change the numbers and send it all back, or you risk overwriting variations.
  • TikTok Shop. With TikTok's app for Shopify, Shopify is the source of truth and inventory flows from Shopify to TikTok Shop, so a correct Shopify figure carries across.

Error handling: stop a bad file emptying your store

The costly failures are quiet: an empty export, a file cut off halfway, a column shifted so costs land in the stock column. Checks that catch them:

  • Row count. If today's file has far fewer rows than yesterday's, stop and alert.
  • Zero share. If many products would drop to zero at once, hold the run for a person.
  • Price swing. Hold price changes above your threshold.
  • Freshness. Check the date inside the file, not just that a file exists.
  • Repeatable runs. The same file run twice changes nothing the second time.
  • A log per run, kept long enough to answer "why did this go out of stock on Tuesday?"
  • Alerts a person sees, by email, Slack or WhatsApp, when a feed fails, arrives late or is held.

Keep the raw files too: when a supplier disputes a figure, they are your evidence.

Supplier feed apps or a custom importer: what it costs

Shopify's App Store has feed importers that fetch CSV, XML, JSON or spreadsheet files from a URL, FTP or Google Sheets on a schedule; syncX: Stock Sync and Matrixify are two examples. Dropshipping platforms such as Syncee and DSers sync supplier catalogues directly. If your supplier is on one of them, or sends a clean CSV that already uses your SKUs, start there.

A custom supplier inventory feed importer earns its cost when several suppliers in different formats feed the same products, when pack sizes or multi-supplier rules apply, when Amazon and Etsy need different prices, or when the supplier offers an API or EDI no app speaks.

One scheduled import into Shopify with stock rules is the kind of single automation my marketplace MVP plan covers, from $2,500. Feeding Shopify and the marketplaces, with stock and orders kept in sync and a dashboard, fits the Flexible plan from $5,500. Both are starting prices, and every project gets a fixed quote after a short brief: see the Marketplace & e-commerce apps plans and what automation costs. If you are still deciding what to automate first, start with the e-commerce automation guide.

FAQ

What if my supplier only sends a spreadsheet by email?

That is common and workable. The importer gets its own email address or reads a shared mailbox, picks up the attachment, and checks that it is the expected file from the expected sender before using it. Spreadsheets break more often than CSV files, because people rename sheets or paste totals at the bottom, so validation matters more. Ask whether the supplier can export the same data as a scheduled CSV; it is often a setting they already have.

Can I combine stock from several suppliers for one product?

Yes, through a mapping table that links one of your SKUs to several supplier SKUs. The importer adds up what each supplier can ship after its own buffer, and records which supplier should receive the next order, usually the cheapest one with enough stock. Keep each supplier's figure separate, so when one feed goes stale you drop only that supplier's stock.

Should supplier price changes go live automatically?

Small ones can, within rules you set: a markup, a rounding style, a minimum margin and any minimum advertised price. Large changes should wait for a person. A misplaced decimal point could otherwise put products on sale at a loss within minutes. A daily summary of what changed, plus a short queue of held changes to approve, keeps you in control without slowing routine updates.

If your supplier feeds are still copied by hand, send me a short brief: which suppliers you use and what format each one sends, how many SKUs, where you sell, and what has gone wrong so far. You can start a marketplace MVP enquiry, see e-commerce automation, or read how Shopify and TikTok Shop stay in sync.