eBay repricing software should do one thing eBay’s own tools don’t: price each live listing against what that item actually sold for recently, and refuse to go below your break-even. Almost none of it does. Markdown Manager takes a blanket percentage off a group of listings with no market data, no cost basis and no floor — it will discount an item straight through a loss and never tell you. Cross-listing tools like Vendoo and List Perfectly move listings between marketplaces; they don’t price them.
So we built the repricing side into ING Listing Engine as Inventory Health. This page is an honest account of what it does today, what it deliberately refuses to do, and where a different tool is the better choice.
The three leaks eBay repricing software has to find
Every screen in most reseller software points forward — at stock you haven’t bought yet. Research it, source it, price it, list it. Past the Publish button, nothing. That’s a problem, because for an established seller most of the money is already spent. It’s sitting in listings that stopped selling months ago at a price the market has since drifted below, and nothing in eBay Seller Hub ever says so.
There are three distinct leaks, and a repricing tool that only handles one of them isn’t finished:
- Capital that has stopped moving. Not “11 stale listings” — a dollar figure. What is tied up in listings older than 90 days, valued at what you paid where that’s known and at market value where it isn’t. A statistic isn’t a decision. A number with a dollar sign is.
- Prices the market has drifted below. An age-laddered discount toward today’s sold price, floored at break-even, applied to eBay in one confirmed action.
- Underpricing — the half nobody looks for. Listings sitting below market, with what each one gives away per sale. A markdown tool that only ever cuts prices misses this entirely, and it’s the one case where waiting genuinely costs you: once it sells, the difference is gone.

Cost basis is the number eBay cannot give you
Break-even is the whole game, and eBay has no idea what you paid. So the app stores it: cost per unit and inbound freight as two separate fields, because sellers know them as two numbers and asking you to pre-add them is how the figure ends up blank or wrong.
It’s keyed on listing ID and SKU, because neither works alone. Listings created on the eBay website often have no SKU at all, and an item that ends and relists gets a brand-new listing ID while keeping its SKU. Enter a cost once and a relist shouldn’t lose it.
Without a cost basis the feature still runs — it just says so on the rows it’s recommending a price for, instead of pretending the floor was checked.
What a real scan caught that reasoning-in-the-abstract didn’t
The first scan was pointed at my own connected account: 87 active listings, median age 199 days, 48 distinct products priced against the sold-comps database. It produced three confident, expensive, wrong answers. Each one is now a rule and a test.
Multi-unit lots priced against single-unit comps. A listing reading “Lot of 20 — Antminer S19” at $3,000 matched a $35 single-unit comp. An 8,471% gap, and a recommended 35% cut. Lot quantity is now read off the title, and a lot listing gets no recommendation at all — the comps are per unit and the ask is for twenty of them. Scaling by 20 would be worse, since lots trade at a discount to 20× the single price.
Comp-match failures read as mispricing. A gap past ±300% isn’t a seller accidentally listing at four times the going rate. It’s the matcher having found a different product. Those rows now report a matching failure, recommend nothing, and stay out of the headline totals.
The worst one: a proven seller marked for a 27.6% cut. A listing 138 days old, 38% “above market” — that had sold 44 units and had 64 watchers. The ladder wanted $105 off each of the 80 units remaining. That is $8,400 of margin off a listing that was demonstrably working. A listing that has sold units has already settled the question the comps were only estimating. Any sold quantity now suppresses markdowns entirely, and age stops meaning “stuck” on a multi-quantity listing — it measures how long the listing has been up, not how long the stock has sat.
That single fix moved the stale-capital headline on the same inventory from $260,218 to $185,664. The first number was wrong in a way that would have cost real money.
The rules exist mostly to say nothing
The judgement rules are the product, and most of them are there to withhold a recommendation:
| Rule | Why |
|---|---|
| Never below break-even | A markdown through cost is the one failure mode that turns a repricing tool into a loss-making one. |
| Break-even above market → no price at all | There is no profitable price. Saying so is the answer; a suggestion here would be a suggested loss. |
| Max 35% cut, max 25% raise per revision | A tool that answers a 90-day-old listing with “minus 60%” is a panic button. Deep cuts are reached over successive scans, with you seeing each step. |
| Under 2% or $1 of change → nothing | A one-cent revision churns the listing and changes no buyer’s mind. |
| Fewer than 3 sold comps → nothing | Same evidence bar every other verdict in the app uses. |
| Listings under 30 days aren’t marked down | A listing that hasn’t had a fair run at its price doesn’t need a discount — unless it’s 25%+ over market, which is mispricing, not newness. |
| …but new listings are checked for underpricing | The grace period exists to avoid cutting early. It has no bearing on a price that’s too low. |
| 3+ watchers at a fair price → hold | Watchers are the only free demand signal eBay gives you. The item is close; a markdown gives away margin you didn’t have to spend. Send those people a private offer instead — it costs nothing unless one of them takes it. |
| Below market and unsold 90+ days → no raise | That’s evidence the comp match is wrong for this item — different condition, missing parts, weaker photos — not evidence the price is too low. |
| Raises are never bulk-applied | A raise makes a stronger claim than a markdown, and it’s a per-item judgement. |
Charm pricing rounds down to the .99, so it errs cheap on a markdown and conservative on a raise, and never crosses the floor to get there.
Writing prices to live listings: three brakes
Repricing is the only thing in the app that changes something buyers can already see, so it’s gated harder than anything else. Every scan is a preview by default. A second explicit confirmation is required on top of that — either flag alone still yields a preview. The break-even floor is recomputed server-side and never trusted from the browser, so a price under it is refused even if the interface asked for it. There’s a 100-listing cap per batch, and the confirmation dialog lists every individual price change rather than offering one bulk button.
If you’ve genuinely decided to clear stock at a loss, you can opt in per batch — and that override is written to the action log.
Where something else is the better tool
Being straight about this matters more than a feature list:
- eBay Markdown Manager is better for a real, deliberate sale event. If you want 20% off a whole category for a weekend because it’s a promotion, not a pricing correction, use it. It’s free, it’s built in, and it puts a strike-through price on your listings — which Inventory Health does not.
- Vendoo and List Perfectly are better if the actual job is getting one item onto five marketplaces. That’s what they’re built for and they do it well.
- Sellbrite, ChannelAdvisor and the enterprise tier are better if you’re repricing thousands of catalogued SKUs across channels with a real ops team. This is built for a seller with a few hundred one-of-a-kind or semi-unique listings.
- Terapeak is still better for mainstream, well-catalogued categories where eBay’s own sold data is dense. Our comps database earns its keep on the awkward stuff — miners, servers, industrial gear — where the catalogue is thin.
What it doesn’t model
Stated here rather than buried: storage cost, your own time and return risk aren’t in the math. Fee rates are eBay’s published ones — roughly 13% plus a per-order fee in most categories — not account-specific, because no marketplace exposes a per-account fee API. Sales rate is reported per month but it’s a lifetime average: eBay returns a cumulative sold count with no dates, so it can’t tell a steady seller from one that sold out fast and stopped. Listings whose age eBay doesn’t report are counted separately instead of assumed new.
Market prices are estimates from sold comparables. They’re not guarantees, and the tool says so on the screen.
Try it on your own listings
The scan is read-only. You can point it at your account, see the three dollar figures, and close the app without a single thing changing on eBay. Download ING Listing Engine free — it’s in open beta, there’s no paywall and no card.
Related reading: AI eBay listing software covers the listing-creation side of the same app, and how AI writes an eBay listing from one photo walks through the step that produces the listings this tool later reprices. Every “above market” and “below market” figure on this page comes out of a sold-comp match, and where sold-comp research breaks down is the honest account of how often that match is wrong — including four live queries where our own database returned a different product entirely.
Common questions
Does eBay allow third-party repricing software? Yes. Price revisions go through eBay’s official ReviseInventoryStatus API, the same call any listing tool uses. What eBay doesn’t allow is anything that manipulates search or misrepresents an item, and repricing does neither.
Will it change my prices automatically? No. There is no unattended mode. Every scan is a preview, and a price only moves when you confirm that specific change.
Does it work without cost data? Yes, but with less confidence, and it tells you which rows those are. With no cost basis it can’t verify a floor, so it’s explicit about that instead of quietly guessing.
How many listings can it handle? Comp lookups are done per distinct product rather than per listing, cached first, and the remaining scrape budget is spent in order of dollars at stake — a 40% gap on a $12 item isn’t worth a page load, a 16% gap on a $1,400 one is. Live price writes are capped at 100 per batch.
What about items nobody’s watching and nobody’s buying? Those are the ones the stale-capital figure is built from. If break-even sits above market, the app says there is no profitable price rather than inventing one — which is usually the signal to accept the loss deliberately or part the item out.
