Back to Blog
Product Updates

When Sale Manager Says Something Went Wrong, Now It Actually Tells You Why

Sale Manager now translates eBay's cryptic error codes into plain English — so when an action fails, you know exactly what happened and what to do next.

Chris Crooker·Co-Founder
July 2, 2026
7 min read

The Problem With "1 Failed"

If you've been using Sale Manager to automate price adjustments and offer management on eBay, you've probably seen it: an action runs, something doesn't go through, and the error message is either missing entirely or reads like it was written for a developer at 2am.

"Access denied." "errorId: 1100." "Invalid AutoAccept price." "0 succeeded, 1 failed."

None of that tells you what actually happened or what you're supposed to do about it. Did your eBay connection expire? Is there a conflict with your Best Offer settings? Did the listing end while Sale Manager was processing it? You'd have no idea — you'd just know something failed.

That changes with today's update. Sale Manager now translates eBay's raw error output into language that makes sense, shows you the actual reason for every failure, and routes that context to every surface where you need to see it: the hub, the inventory lens, and item detail on both web and mobile.


What Shipped

This update has three distinct parts, each addressing a different failure point in how Sale Manager communicates with you.

Humanized Error Messages, Server-Side

Previously, when an eBay action failed, the raw error string from the API would surface directly in the UI. eBay's error messages are written for engineers, not resellers. They reference internal error IDs, use permission jargon, and often don't map cleanly to anything you can actually act on.

We've now added a centralized translation layer on the server. When Sale Manager records a failed action, it runs the error through a prioritized set of rules before storing it:

  • "Access denied" or permission errors (errorId 1100, HTTP 403) become "eBay needs to be reconnected (missing permissions)" — because that's almost always what it means, and reconnecting your account is the fix
  • "Auction ended" errors become "the listing has ended on eBay" — straightforward, nothing to act on, the listing is gone
  • AutoAccept price conflicts become "Best Offer threshold conflict" — this tells you the price you're trying to set violates your Best Offer auto-accept floor, and you need to adjust one or the other
  • Unknown errors pass through as-is — we'd rather show you something technical than hide the signal entirely

Because this translation happens server-side, in a single place, it flows automatically to every client. Web hub, web item detail, mobile plan card, mobile review screen — they all show the same clear explanation without any separate work needed per platform.

Bulk Action Failures Now Surface the Reason

When you select multiple listings in the Sale Manager hub and run a bulk action, the old behavior on failure was a count: "0 succeeded, 1 failed." That count is useless. You need to know which listing failed and why before you can do anything about it.

Bulk action responses now include the API's reason field for each failure. If a batch of repricing actions fails because eBay rejected one due to a credits issue, you'll see that. If an eligibility check blocked an item from being promoted, you'll see that too. The specific reason surfaces alongside the specific listing.

Selection State Clears Correctly

This one is smaller but affects anyone who works through long lists. When you change pages or switch between chip filters in the hub, any carried-over selection used to stay active even if those listings were no longer visible. That meant the "select all" checkbox could show all rows selected when you actually only had a subset visible — and bulk actions could act on rows you weren't looking at.

Selection now clears when you change pages or apply a chip filter. The "select all" state also compares against actual visible rows, so the checkbox accurately reflects what would be affected by a bulk action.


How to Use the New Error Transparency

Most of this update is automatic — you don't configure anything. But here's how to get the most out of it.

When an action shows "needs you" status:

  1. Open the listing in the hub or inventory lens
  2. Look at the failed action chip — it now shows a plain-English reason
  3. Act on it: if it says reconnect eBay, go to Settings and reconnect; if it says the listing ended, you can disenroll it from Sale Manager; if it's a Best Offer conflict, check your threshold settings

When running bulk actions:

  1. Select the listings you want to act on
  2. After the action completes, if any failed, the response now includes the per-item reason
  3. You can address each failure individually rather than guessing what went wrong

On mobile: The same humanized errors appear on your iPhone or Android in the Sale Manager plan card and review screen. You don't need to switch to desktop to understand what happened.


Why This Matters for Real-World Reselling

Sale Manager is an automated system. That's the whole point — it runs in the background, monitors your listings, proposes adjustments, and executes them when you approve. But automation only stays useful if you trust it. And trust requires honesty: when something fails, the system needs to tell you what happened in terms you can understand.

The old error behavior had a subtle but real cost. When you saw "1 failed" with no context, you had three bad options: dig through Sentry logs (you can't), ignore it and hope it resolved (risky), or reconnect eBay even though that might not be the problem (wasteful). None of those are acceptable at scale.

With humanized errors, Sale Manager now behaves more like a co-worker than a black box. "eBay needs to be reconnected" is actionable. "The listing has ended" is informational — you know to move on. "Best Offer threshold conflict" tells you exactly which setting to check.

This also feeds into the broader principle behind how we build Sale Manager: every action it proposes or executes should be traceable and understandable. You should always be able to see what happened, why it happened, and what to do next. Error transparency is a core part of that.

The practical impact for resellers:

Before After
"0 succeeded, 1 failed" "Best Offer threshold conflict on listing [X]"
"Access denied" "eBay needs to be reconnected (missing permissions)"
"Auction ended." "the listing has ended on eBay"
Bulk failure count only Per-item failure reason in bulk responses
Selection persists across page changes Selection clears on chip/page change

A Note on the Mobile Approval Surface

We also removed a leftover approval bar from the mobile plan card in this update. It was hidden behind a flag and never actually visible, but its existence in the code created the risk of a duplicate approval path — where you could theoretically approve the same Sale Manager plan from two different places. The Tasks screen's sticky decision bar is the single approval surface on mobile, and we cleaned up the dead code to keep that contract clear.

This doesn't change anything you do — you wouldn't have seen the old bar anyway. But it matters for the integrity of how Sale Manager handles plan approval, especially as we build out more of the automation pipeline.


What's Coming Next

Error transparency is one piece of a larger effort to make Sale Manager more honest about what it's doing and why. Related work that's either shipped recently or in progress:

  • Reconnect notifications — proactive alerts when your eBay connection expires before it causes failures (shipped earlier)
  • Settings that actually do what they say — a separate update that audited every Sale Manager setting and made the runtime behavior match the documented behavior (coming in the next post)
  • eBay rate limit handling — a fix that prevents eBay API 429 errors from surfacing as failed actions (also coming soon)

Try It Now

If you're already using Sale Manager, the humanized error messages are live today. Open any listing that's showing a "needs you" status and you should see the updated failure explanation.

If you're not using Sale Manager yet, it's available on the Pro plan at list-forge.ai. It monitors your active eBay listings, proposes data-driven adjustments to pricing, promotions, and shipping, and executes those adjustments when you approve — or automatically when you set it up that way.

When something goes wrong, it'll actually tell you now.