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.
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", the one value this store has put through a live upload in the
comics category), ConditionDescription and
Description (HTML is allowed). Format is
FixedPrice, Duration is GTC, and
BestOfferEnabled is 1 to take offers.
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. Two things worth knowing from experience:
- 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.
- Magazines and manga are not carried as USPS Media Mail. A file that puts them on a Media Mail policy uploads fine; the problem waits at the counter.
*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 URLcolumn 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,
ItemIDandQuantityis a complete file for a stock change; the action,ItemIDandItem photo URLfor 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 says | What 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 magazine and manga row is on a policy that is not Media Mail.
- 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, runs that checklist as gates the file cannot pass without, and reads eBay's report back into the batch so the refused rows get their own file and the live ones can be revised later. Try it on a box.