A glowing conveyor belt of listing tiles being sorted by a robotic arm into four colored triage lanes, with five marketplace portals and the Sellerbot logo in the background.
← All posts

November 6, 2026

When a Bulk Restock Partially Fails: A Triage Workflow for Game Account and Item Sellers

You upload 300 rows, 240 go live, and 60 don't. What you do in the next 20 minutes decides whether you end up with clean inventory or duplicate listings and phantom stock. This guide covers how to triage a partially failed bulk restock across Eldorado, G2G, iGVault, Racoon, and GameBoost without re-uploading rows that already succeeded.

Why partial failures are more dangerous than total failures

If a whole batch fails, the fix is obvious: nothing is live, so fix the problem and upload again. A partial failure is harder because your spreadsheet now disagrees with reality. Some rows are live, some are not, and some may be in an unknown state if a request timed out.

The usual mistakes after a partial failure are:

  • Re-uploading the entire file, which creates duplicate listings for the rows that already worked.
  • Deleting the "failed" rows from the sheet, then losing track of stock that exists but never got listed.
  • Assuming a row failed because it isn't visible yet, when it was actually created and is still processing.
  • Fixing the error on one marketplace but forgetting the same row failed for the same reason on another.

The goal of triage is to put every row into exactly one clear state before you touch anything.

Step 1: Freeze the batch and don't re-upload yet

The first rule is to do nothing destructive for a few minutes. Don't clear the file, don't hit retry on everything, and don't edit the source sheet in place.

  1. Save a copy of the exact file you uploaded, with a date and batch name.
  2. Note the time the upload started and finished.
  3. Open your live listings on each target marketplace and check what was actually created.

If you use a consistent internal listing ID in your sheet (see our guide on listing ID and title naming conventions), matching live listings back to rows takes minutes. Without it, you end up comparing titles by eye, which is where duplicates slip through.

Step 2: Sort every row into one of four states

Add a batch_status column to your batch copy and label every row:

StatusMeaningNext action
LiveListing exists and matches the rowMark as done, don't touch
Failed - fixableRejected for a data or mapping reason you can correctFix and include in retry batch
Failed - blockedRejected for a reason outside the data (account, policy, category)Hold and resolve separately
UnknownCan't confirm whether it was createdVerify manually before any retry

The "Unknown" bucket is the one people skip. Timeouts, session expiries, and interrupted uploads can leave rows where you honestly don't know. Check these one by one on the marketplace itself. Only after verifying should they move to Live or Failed.

Step 3: Group failures by cause, not by row

Sixty failed rows rarely mean sixty different problems. Usually it's three or four causes repeated. Grouping by cause means one fix clears many rows.

Common categories to look for (exact messages and rules differ by marketplace and change over time, so check each marketplace's current requirements):

Field and value mismatches

A server, region, rank, or platform value that one marketplace doesn't accept as written. This is the most common cause when you list the same stock on several marketplaces. If this is your pattern, revisit your attribute normalization approach and fix the mapping once, not row by row.

Price and quantity problems

Prices below a marketplace's minimum, quantities outside allowed ranges, or currency unit sizes that don't fit a marketplace's offer structure. For game currency, unit size and minimum order mismatches are especially common.

Text and content problems

Titles or descriptions over a length limit, unsupported characters, or required description fields left blank after a template change.

Category and offer type problems

A row placed under the wrong game, category, or offer type (account vs currency vs item), so required fields differ from what you supplied.

Access and session problems

An expired login, a connection that dropped midway, or an account that isn't permitted to list in a particular category. These affect many rows at once and usually appear as a cluster starting at one point in the batch.

A useful pattern to notice: if failures start at a specific row and continue to the end, suspect access or connection. If failures are scattered, suspect data.

Step 4: Build a retry batch from only the fixable rows

Once causes are grouped, create a new batch file containing only the rows marked "Failed - fixable" after correction. Don't edit your original batch. Keep it as a record.

Before uploading the retry batch:

  • Confirm none of its rows appear as live on any target marketplace.
  • Re-run your pre-upload checks from the bulk restock batch prep checklist.
  • Start with a small test slice, such as 5 to 10 rows covering each failure cause, before sending the rest.

The small slice matters. If your fix for the server-name problem actually introduced a new mismatch, you find out after 8 rows, not 60.

Step 5: Handle the blocked rows separately

"Failed - blocked" rows shouldn't go in the retry batch. They need a decision, not an edit:

  • Category not available for your account: list elsewhere or hold the stock until access is sorted out.
  • Stock that doesn't fit a marketplace's rules: decide whether to list it on a different marketplace instead.
  • Rows with unclear item data: send back to whoever sourced the stock for clarification.

Important: blocked stock is still real stock. Keep it in your inventory count as unlisted so your numbers don't drift. This ties directly into preventing overselling across marketplaces, because stock you forgot about on one side is as problematic as stock you listed twice.

Step 6: Reconcile counts before you call it done

After the retry batch finishes, run a simple reconciliation for the batch:

CheckWhat you're confirming
Rows in original fileTotal starting stock
Live count per marketplaceMatches expected listings for that marketplace
Blocked and held countAccounted for as unlisted stock
Live + held vs. originalAdds up, with no missing rows

If these don't add up, you have an unknown row somewhere. Find it before the next sale, because a sold item that your sheet thinks is unlisted will cause confusion when sold-stock sync runs.

Once the batch is reconciled, your sold stock sync keeps things honest going forward: when something sells, the inventory record should reflect it, so you aren't manually chasing live versus sold status.

Step 7: Write down what caused it

The most valuable output of a failed batch is a short note in a running log:

  • Batch name and date
  • Number of rows and failure rate
  • Top causes (e.g. "region value 'EUW1' not accepted, normalized to 'EU West'")
  • What changed in your template or mapping as a result

After a month, this log shows patterns. If the same cause appears three times, it belongs in your pre-upload checklist or your field mapping, not in your memory.

A quick pre-flight to reduce partial failures

You can't remove failures completely, since marketplace rules change, but you can cut the rate:

  • Test small first. Send a 10-row slice of any new batch type before the full file.
  • Keep a controlled vocabulary. One approved spelling for each server, region, rank, and platform.
  • Check session and access first. Confirm you're signed in and permitted for the category before a long upload.
  • Don't change templates mid-batch. Edit templates between batches, not during.
  • Stage new marketplaces. When adding a channel, start with a pilot, as described in our multi-marketplace expansion playbook.

Sellerbot is built around this kind of workflow: managing listings, bulk restock, field mapping, and sold stock sync across the supported marketplaces from one place. You can see how the platform features fit together, check the supported marketplaces, or look at the preview to see what the workflow looks like before committing to a plan on the plans page.

The short version

When a bulk restock partially fails: freeze, verify what's live, label every row with one of four states, group failures by cause, retry only the fixable rows in a small test slice first, hold blocked stock separately, reconcile the counts, and log the cause. That sequence turns a messy half-uploaded batch into a clean record, and it keeps duplicates and forgotten stock out of your inventory.