Shopify & eBay automation

Shopify eBay inventory sync: why stock drifts and how to fix it properly

Shopify and eBay each keep their own idea of how many you've got left. The moment those two numbers disagree, you're either overselling or sitting on phantom out-of-stock pages losing sales. Here's what actually causes the drift, what the native tools and apps get you, and where they fall over.

Run a free audit on your Shopify store →

In short: Shopify and eBay hold separate inventory, so without a sync the same item can sell on both and you oversell. Native and app options (Codisto, CedCommerce) suit simple catalogues; a bespoke sync handles variants, bundles and near-real-time reconciliation.

The core problem: two stock numbers, one item

Shopify holds a quantity for every variant. eBay holds its own quantity for the same listing. Unless something actively keeps those two numbers equal, they will drift, and it doesn't take long. A customer buys the last unit on eBay, and for the next few minutes (sometimes longer) your Shopify store still shows it in stock. Someone else buys it there too. Now you owe one of them a cancellation, an apology, and possibly a defect mark against your eBay seller account, which is the part most owners don't think about until it's already hurt their search ranking.

Run this across a few hundred SKUs and it's not an occasional embarrassment, it's a weekly admin job: chasing cancellations, refunding, manually editing quantities, and hoping you caught every case before the next sale came in.

What Shopify's native eBay channel actually does

Shopify's own eBay sales channel is a reasonable starting point and it's free, which is why most owners try it first. It creates and manages your eBay listings from Shopify, and when an eBay sale comes in, it pulls the order back into Shopify and decrements stock there too. That much works.

Where it falls short:

  • Multi-location Shopify stock (more than one warehouse or shop floor) isn't handled cleanly, eBay usually only sees one aggregated figure.
  • Bundles and kits, where one eBay listing maps to several Shopify SKUs, aren't supported at all. You have to manage those by hand.
  • Variants (size, colour) sync, but mapping errors are common when a listing was created outside Shopify first and then connected later.
  • There's a genuine delay between an eBay sale happening and Shopify's number updating. It's usually short, but "usually short" is exactly the window a second buyer slips through.

Where the third-party apps help, and where they don't

Apps like Codisto (now part of eBay's own integration push) and CedCommerce go further than the native channel. They generally offer:

  • Two-way sync with shorter polling intervals than the native channel.
  • Better handling of listing templates, item specifics, and eBay-specific fields Shopify doesn't natively store.
  • Some support for linking one Shopify product to multiple eBay listings (useful if you list the same item under different titles for SEO reasons).

What still breaks, even on the paid tiers:

  • Bundles. Almost none of the mainstream apps correctly decrement three underlying SKUs when a bundle sells on eBay. You end up overselling the components even though the bundle itself synced fine.
  • Scale. Polling-based apps that check every 5 or 15 minutes are fine at low volume. Once you're doing meaningful daily sales on a fast-moving line, that window is exactly where the double-sell happens.
  • Bad data resilience. If eBay's API hiccups or returns a malformed response, cheaper apps have a habit of writing zero or blank stock back to Shopify rather than skipping the update, which silently kills live listings.
  • Cost at volume. Most of these apps price by order or SKU count, so the bill climbs with the exact growth you were hoping for.

The real fix: one source of truth, reconciled near-real-time

A proper sync doesn't try to make Shopify and eBay talk to each other directly. It puts a single authoritative stock figure between them (usually driven off Shopify, sometimes off a warehouse system if you have one) and pushes reconciled numbers out to every channel on a schedule tight enough that the overselling window closes. Done properly, it also:

  • Decrements every component SKU correctly when a bundle sells, on either channel.
  • Rejects malformed or zero-quantity data from a flaky API instead of writing it straight to your live listings.
  • Handles variants and multi-location stock without manual mapping.
  • Logs every change, so when a number looks wrong you can see exactly what happened and why, instead of guessing.

This is the same discipline I apply to WooCommerce and Amazon syncs: for a UK workwear retailer I built a nightly multichannel stock sync across 91,000 products, covered by 121 automated tests, with bad-data guards and monitoring so it runs unattended. The mechanics for Shopify and eBay are the same problem in different plumbing.

App or bespoke: the honest line

If you're running one or two straightforward SKUs a day across Shopify and eBay with no bundles, a decent app is genuinely fine, don't pay for more than you need. The line moves once you've got bundles, more than one warehouse, a few thousand SKUs, or a third channel in the mix (Amazon usually joins next). At that point app subscription costs stack up, the polling delay starts costing real sales, and the edge cases (bundles especially) need someone to actually solve them rather than work around them by hand every week. A sync scoped to your exact catalogue, tested against your actual bundle and variant structure, tends to come out cheaper than a growing app bill and it stops the specific leaks the app couldn't reach.

What to check first

Before you touch any app or automation, find out how bad the drift actually is today. That's what the free checker does: it looks at your live Shopify store and shows you, in a couple of minutes, how many listings are already out of step with reality. Most owners are surprised by the number.

Does Shopify sync stock with eBay automatically?

Only partially. Shopify's own eBay sales channel will push a sale from eBay back into Shopify, but it doesn't reliably handle bundles, multi-location stock, or fast-moving variant changes, and the reverse direction (Shopify sale updating eBay) can lag by minutes.

Will a sync app like Codisto or CedCommerce stop overselling?

It reduces overselling but rarely eliminates it. These apps poll on a schedule rather than reacting instantly, and most struggle once you introduce bundles, kits, or products sold under more than one SKU across channels.

What causes the "sold on eBay, still live on Shopify" problem?

Latency. Each platform holds its own stock number and updates it on its own schedule. Between an eBay sale and Shopify hearing about it, there's a window where both listings still show available, and a second buyer can get through on Shopify.

When does a bespoke sync make more sense than an app?

Once you're running bundles, multiple warehouses, several thousand SKUs, or more than two channels, app pricing and reliability both start to break down. A bespoke sync scoped to your exact catalogue is usually cheaper and more accurate at that point.

See how the full stock sync build works →

About the author

Jordan Bee builds automation for UK online retailers at GlideOps. In June 2026 he manually audited 135 UK online shops, finding 4 in 10 showing sold-out products still live and ranking on Google, research that underpins these guides and the free dead-listing checker. He has built stock-sync systems covering 91,000+ products for UK retailers.

Run a free audit on your Shopify store

Two minutes, no login needed. I'll show you exactly how many of your listings are already out of step with your real stock, free, before we talk about fixing it.

Get my free store audit →