The overselling trap, SKUs sold out on Ecwid but still buyable on a marketplace.
At a glance
A cross-channel card that compares Ecwid stock against active marketplace listings (for example Amazon, eBay, or a Google Shopping feed) to catch overselling risk: a SKU that is out of stock on Ecwid but still live and orderable elsewhere. When stock is shared across channels but not synced in lockstep, a sell-out on one surface leaves the others exposed to orders you cannot fulfil. That means cancellations, refunds, and marketplace seller-metric damage. The card combines Ecwid with a marketplace connector, matching listings on SKU.
| What it counts | The number of SKUs that are out of stock on Ecwid (in_stock = false or tracked quantity zero) but still appear as active, orderable listings in the connected marketplace at the same moment. |
| API endpoint | Ecwid side: GET /v3/{store-id}/products (OAuth2 with read_catalog). Marketplace side: active-listing and inventory status from the connected marketplace connector. The two are joined by Vortex IQ on SKU. |
| What counts | A SKU OOS on Ecwid whose matched marketplace listing is still active and shows available-to-sell stock. Each mismatched SKU counts once. |
| What it excludes | SKUs not listed on the marketplace at all (no listing to compare); SKUs OOS on both sides (no overselling risk); SKUs with stock tracking disabled on Ecwid (never report OOS). |
| Currency | Number. The card counts mismatched SKUs; per-row it may show the exposed quantity, but the headline metric is a count. |
| Time window | RT/24H (real-time comparison, evaluated continuously with a 24h reconciliation pass). |
| Alert trigger | >10 SKUs OOS on Ecwid but active elsewhere. |
| Sentiment | Inverse gauge. Sensitive card; a rising mismatch count is bad, and the alert is the headline. |
| Roles | owner, operations, marketing. |
Calculation
Calculated automatically from your Ecwid data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK hobby seller of vinyl records running an Ecwid widget on a Wix site, also listing on eBay. Reading taken 03 Apr 26. The seller keeps a single pool of physical stock but lists the same records on both their Ecwid store and eBay. Ecwid decrements when it sells; eBay decrements when it sells; nothing tells eBay when Ecwid sells out, so a flurry of Ecwid sales leaves eBay listings live with no stock behind them.| SKU | Title (masked) | Ecwid stock | eBay listing | eBay shows | Risk |
|---|---|---|---|---|---|
| VIN-0041 | ”Blue Note reissue” | 0 | active | 2 available | oversell |
| VIN-0078 | ”Soul 45 box” | 0 | active | 1 available | oversell |
| VIN-0112 | ”Jazz LP, mono” | 0 | active | 3 available | oversell |
| VIN-0156 | ”Funk comp” | 0 | active | 1 available | oversell |
| …8 more rows |
- Stop the bleeding first. End or set to zero the eBay listings for the highest-risk SKUs (those with multiple “available”) immediately; an oversell is worse than a temporarily missing listing.
- Fix the root cause: shared stock with no central sync. The durable fix is a single source of truth (an inventory tool or a marketplace connector that pushes Ecwid sell-outs to eBay) so a sell-out on one channel zeroes the others automatically.
- Reorder if the SKU is a genuine seller; relist on both channels once stock lands.
- Watch the count fall to zero. Each SKU drops off as its marketplace listing is corrected to match Ecwid’s stock.
Sibling cards merchants should reference together
| Card | Why it matters next to this card | What the combination tells you |
|---|---|---|
| Out-of-Stock Products | The Ecwid side of the comparison. | The OOS list is the input; this card filters it to the SKUs still live elsewhere. |
| Inventory Sync Drift Across Storefronts | Sibling sync check. | Drift across your own surfaces and drift vs a marketplace usually share a root cause. |
| Stock-Out Burst (>5 SKUs in <1h) | The trigger event. | A burst of Ecwid sell-outs is exactly what creates a fresh marketplace mismatch. |
| Low-Stock Products | Early warning. | SKUs low on Ecwid are the ones about to create a mismatch; pre-empt by trimming marketplace stock. |
| Cancellation Rate | The downstream cost. | Overselling shows up later as cancellations; a rising cancel rate validates the risk this card flags. |
| Top Products by Revenue | Exposure ranking. | If mismatched SKUs are top sellers, the oversell risk and lost-sales cost are both higher. |
| Total Products | Catalogue context. | Frames how much of your range is exposed to cross-channel mismatch. |
Reconciling against Ecwid
Where to look:
Ecwid Control Panel (my.ecwid.com) -> Catalog -> Products -> filter by Out of stock
This is the Ecwid half: the SKUs reporting zero stock. Note their SKU codes to match against the marketplace.
This is a cross-channel card, so the comparison also draws on your marketplace connector. The “still active elsewhere” half lives in the marketplace’s own seller dashboard (for example Amazon Seller Central, eBay Seller Hub, or Google Merchant Center), not in Ecwid. To fully reconcile a row, confirm the SKU is OOS in the Ecwid Control Panel and active with available stock in the marketplace dashboard. The card reconciles against BOTH dashboards.
Why our number may differ from the two source dashboards:
| Reason | Direction | Why |
|---|---|---|
| SKU match | Ours lower | SKUs that do not share an identical code between Ecwid and the marketplace cannot be joined and are excluded. |
| Listing vs inventory | Either | Some marketplaces keep a listing “active” with zero available; we treat genuinely orderable stock as the risk, which may differ from a raw active-listing count. |
| Untracked Ecwid stock | Ours lower | SKUs with stock tracking disabled never report OOS on Ecwid, so they cannot appear here even if the marketplace shows them live. |
| Reconciliation cadence | Boundary | The 24h pass squares up against the real-time view; a very recent change may show in one before the other. |
| Marketplace sync lag | Marginal | The marketplace connector’s own refresh interval can leave a just-changed listing momentarily out of step. |
ecwid_inventory_vs_marketplace = count(SKUs WHERE ecwid_oos AND marketplace_active_orderable), joined on SKU between Ecwid and the marketplace connector.