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.
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.
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:
Apps like Codisto (now part of eBay's own integration push) and CedCommerce go further than the native channel. They generally offer:
What still breaks, even on the paid tiers:
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:
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.
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.
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.
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.
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.
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.
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.
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.
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 →