Guides

How eBay's bulk upload works for comics, with a template

File Exchange is eBay's bulk upload: a CSV file with one listing per row, uploaded in Seller Hub under Reports, then Upload. Its habits: it is strict about column names, silent about some mistakes, and it tells you what happened in a report you have to go and download. This is how a comic file is put together, from a store that lists its own long boxes this way.

The template

Download the comic Add template. It is one header row, 55 columns, with every name spelled the way eBay's comic category expects, including the 25 item specifics. Fill one row per comic under it. The file is saved the way eBay reads it best: UTF-8 with a byte order mark, Windows line endings, and the header unquoted.

See a filled-in sample: 10 comic rows (single issues and a lot of three), with placeholder policy names, location and photo addresses where yours would carry your own. It has the same 55 columns as the template.

What the columns are

The action

The first column's header is long and exact: Action(SiteID=US|Country=US|Currency=USD|Version=1193|CC=UTF-8). It tells eBay the site, the country, the currency and the file version, and its value on each row is the action: Add for a new listing, Revise for a change to a live one.

The listing

Custom label (SKU) is your own reference for the row, and the one thing that connects eBay's report back to your file, so give every row one. Category ID is 259104 for comics; the older 63080 is deprecated, do not use it. Title is 80 characters at most. Price is at least $0.99. Quantity, Item photo URL (public picture addresses, pipe separated, up to 24), Condition ID (4000 is "Very Good"), ConditionDescription and Description (HTML is allowed). Format is FixedPrice, Duration is GTC, and BestOfferEnabled is 1 to take offers. For an auction, Format is Auction, Duration is 1, 3, 5, 7 or 10, the price column is the opening bid, Best Offer is off, and an optional Buy It Now price column has to be at least 30 percent above the opening bid.

The item specifics

The 25 C: columns. A field by field guide is its own article; the short version is that a column name that does not match a built-in field exactly creates a custom field, and any value over 65 characters refuses the row.

Shipping, returns and the store

Returns are four columns (ReturnsAcceptedOption, ReturnsWithinOption, RefundOption, ShippingCostPaidByOption). Shipping is the service in ShippingService-1:Option and, if you use business policies, the policy's exact name in ShippingProfileName, with ShippingType, the handling time in DispatchTimeMax, and the weight and package in WeightMajor, WeightMinor, PackageLength, PackageWidth and PackageDepth.

A policy name that does not match one of your policies exactly, down to a space before a comma, makes eBay create a new policy on the spot rather than fail. Combined shipping then breaks for every order that touches the new policy. Copy the name out of Seller Hub; do not type it.

*StoreCategory, if you have an eBay store, takes the numeric id of the store category, never its name. A name is refused with "Input data for tag StoreCategoryID is invalid".

Add, Revise, and what Revise leaves alone

An Add row makes a listing. A Revise row changes a live one, and needs the listing's ItemID, which you get from the upload report of the Add. Two Revise habits save a lot of trouble:

  • Leave out the photo column to keep the photos. A Revise with no Item photo URL column leaves the listing's pictures as they are. A Revise with the column replaces them, and eBay fetches the pictures again from the addresses you give.
  • A small Revise can be a small file. The action column, ItemID and Quantity is a complete file for a stock change; the action, ItemID and Item photo URL for a photo swap. Nothing else in the listing is touched.
  • Never put one C: column in a small Revise. Any item specific in a Revise file clears every item specific that is not in it. To change one, send all of them.

One more, learned the hard way: eBay's listing editor will not add one of its own hosted pictures to a listing whose photos came in by URL ("a mixture of self hosted and EPS pictures are not allowed"), so a listing whose photos came in by URL is re-photographed by another photo-only Revise, not in the web form.

Rows are processed one at a time

This is the fact that shapes everything else. Once eBay can read the file at all (one byte order mark, not two, or the whole file is refused), it accepts or rejects each row on its own. A file with 25 rows and one bad value puts 24 listings live and skips one, and the report is where you find out which. Two consequences:

  • Never upload the whole file a second time to fix one row. The 24 good rows list again. Make a file of only the refused rows.
  • Always read the report.

The upload report

When the upload finishes, the same Seller Hub page offers a report to download. It is a CSV with one row per row of your file: a Status of Success or Failure, the ItemID for every success, your CustomLabel so you can match it back (on an Add report; a Revise report carries the item number and no label), and an ErrorMessage for every failure. A Revise from a file needs those item numbers, so keep the report with the batch.

The errors, decoded

What eBay saysWhat it means
Enter a value of no more than 65 characters (21919308) An item specific is over the cap. For a pipe separated field, one segment is. Shorten the value; the row was skipped.
Input data for tag StoreCategoryID is invalid *StoreCategory holds a name. It needs the numeric id.
A mixture of self hosted and EPS pictures are not allowed Said by eBay's listing editor, not the upload report: an eBay hosted picture was added to a listing whose photos came in by URL. Replace the photos with a photo-only Revise instead.
Your data appears under "custom item specifics" Not an error message, which is the problem. A C: column name did not match a built-in field. Fix the header and Revise.

A checklist before you press upload

  • Every header byte-matches eBay's names, including the parenthetical in Custom label (SKU).
  • No item specific value over 65 characters, per pipe segment.
  • Store categories are numbers.
  • Every shipping policy name is copied exactly from Seller Hub.
  • Every lot has its own price, not the box's single-comic price.
  • Every photo address is public and already returns the picture. eBay fetches photos at upload, and an address that is not live yet is dropped in silence: the listing goes live missing that picture, the rest stay, and nothing tells you.

Point and Sell builds this file from a box of photographs, checks it against that list before you get it, and reads eBay's report back so the refused rows get their own file. Try it on a box.

See it on one of yours. Take one photo of a comic's front cover. Point and Sell shows you the eBay listing it makes, with no email and no sign-up.

Try one comic free, no email

Search help
Every answer