Uploading records to Discogs with an inventory CSV: the columns, the release ID, and the grades
Selling a record on Discogs is not like listing it on eBay. On eBay you write the listing: the title, the photographs, the item specifics. On Discogs the record already exists in the database as a release, and what you add is your copy of it: its condition, your price, how many you have. That is why Discogs' bulk upload file is so short, and why one of its columns is harder than all the others put together.
This is how the inventory CSV works, how to get the release right, how Discogs' conditions have to be written, and what Point and Sell's Discogs file does and does not do.
The file Discogs takes
Discogs' inventory import is a comma separated file whose first row is a header of lower case field names, up to 10 MB. You reach it from your Inventory, under Import/Export CSV. The same import adds new listings, updates existing ones or removes them; this article is about adding.
Three columns are required to add a listing:
release_id: which release you are selling a copy of.price: your price.media_condition: the grade of the record itself.
The optional columns, as Discogs' help article lists them, are
sleeve_condition, accept_offer (Y or N),
private_notes, external_id, location,
weight, format_quantity, quantity and
status. Status takes FOR_SALE or DRAFT.
A row with no status defaults to For Sale; a draft comes in without going
live. Discogs says an import can take up to an hour to appear in its
Marketplace, so a listing that is missing ten minutes after the upload has not
necessarily failed.
The article lists the optional columns without defining each one, and it has no example rows. Where a name does not explain itself, a one-row test import is the way to learn what it does before a crate goes through it.
The release ID is the whole job
A Discogs release is one issued version of a recording. A master release is
something else: Discogs' glossary calls it a folder that gathers two or more
matching releases, the versions of one album, together. The upload wants the
release, the specific version, and its number is the release ID, the number in
a release page's address after discogs.com/release/.
This is where most wrong Discogs listings start. An album that was pressed many times has many releases, and the same catalog number is often carried by several of them: repressings, other countries, club editions. The first result under a catalog number is a release, but it may not be yours, and a buyer who wants that pressing gets something else.
What tells releases apart is on the record: the barcode if it has one, the catalog number on the label and the spine, the label itself, the country, the credits, and the matrix number in the run-out groove, which the glossary describes as the number used in manufacturing to identify the acetates and stampers. Compare the release page with the copy in your hand, the run-out above all, before you commit to a number.
Condition: two grades, in Discogs' words
Discogs grades on the Goldmine standard, and its grading guide grades the record and the sleeve separately. The import takes each condition as Discogs' own text, spelled exactly, parentheses included:
| Goldmine | What the file writes |
|---|---|
| M | Mint (M) |
| NM | Near Mint (NM or M-) |
| VG+ | Very Good Plus (VG+) |
| VG | Very Good (VG) |
| G+ | Good Plus (G+) |
| G | Good (G) |
| F | Fair (F) |
| P | Poor (P) |
The sleeve column takes the same eight plus three of its own:
Generic, Not Graded and No Cover.
Discogs' guide treats a generic sleeve as adding little value and not worth
grading further.
Two points from that guide are worth taking to the crate. It describes Mint as a record that has never been played, possibly still sealed, so a played record is not Mint however clean it looks. And it tells sellers to play a record to judge how it sounds rather than grade it by eye. Its Very Good turns on surface noise, and surface noise is something you hear, not something a photograph shows.
The rest of a row
quantity is how many copies of that exact release you have in
that condition; two copies in different grades are two rows.
external_id is a place for an ID of your own. The article does not
define it, but a SKU from your own shelves in it is what lets you trace a
Discogs order back to the box the record lives in.
A checklist before you upload
- The header row is lower case and spelled exactly as Discogs lists it.
- Every row has a release ID, and each one has been compared with the record, not only with its catalog number.
- Every condition is one of Discogs' strings, letter for letter.
- Any row you are not sure of says
DRAFTin the status column, so it comes in without going live. - If you also sell the same records on eBay, you know what you will do the day one sells in one place while it is still for sale in the other.
What Point and Sell's Discogs file does
A record batch can go to Discogs as well as eBay: tick Discogs inventory (records only) on the New batch form. When the batch is approved, its done page has a Discogs inventory CSV to download and a panel that explains it. Once eBay has seen the batch, those records are live stock and one may have sold, so the file comes from the show page instead, built from what is still live. It is records only: a comic, book, game or figure batch with the box ticked is refused. The file writes seven columns:
| Column | What goes in it |
|---|---|
release_id | The Discogs release, by number. Only a record whose pressing the Discogs check confirmed gets one; every other record is left out of the file. See below. |
price | The row's price from your review, to the cent. |
media_condition | The record's grade as Discogs' condition text. Discogs requires it, so a record with no usable record grade is left out. |
sleeve_condition | The sleeve's grade as Discogs' condition text, or blank (and the row named on the page) when the sleeve grade is not one of the eight. |
quantity | The row's quantity, or 1 when it has none. |
external_id | The row's SKU, the same label its eBay listing carries, so a sale on either side can be traced to the box. |
status | Left blank, so Discogs uses its default and the row goes on sale. Type DRAFT in a row to bring it in without it going live. |
Which records are in it
A row carries a release ID only when the Discogs check found exactly one release under the record's barcode or catalog number, agreeing with its artist, and only while the row's artist, title, label, catalog number, barcode, year and country still read as they did when the check ran. The check reads Discogs' monthly data dump, which Discogs publishes as CC0; no call is made to Discogs. Every other record is left out of the file and named on the done page with its reason, so you can list it on Discogs by hand:
- no single pressing confirmed: the Discogs check did not run on it, nothing under its barcode or catalog number found it, its number belongs to another record, or Discogs has more than one pressing under that number;
- edited after the Discogs check, so the release it confirmed may no longer be this record;
- sealed, because a sealed record has no disc grade and
media_conditionis required; - no record grade, or one that is not one of Discogs' conditions;
- no usable price, or a quantity of zero.
Even a confirmed release is only the one release Discogs' data has under that number, which is not proof it is the copy in your hand. The done page links each release in the file so you can open it and compare before you upload.
The grades, the status and the rest
The conditions are the same Goldmine grades the record's eBay listing states: the row's own, else your default from Settings. Each of the eight is Discogs' text letter for letter, so nothing is rounded. A sleeve grade that is not one of the eight leaves that cell blank and names the row, so you set it on Discogs. The file never writes Generic, Not Graded or No Cover.
The status column is left blank, so each row goes on sale by Discogs'
default; type DRAFT in a row's status before you upload to bring
it in without it going live. The file has no byte order mark, which would
otherwise become part of the first column's name, release_id. A
cell that looks like a spreadsheet formula is refused, and a file over
Discogs' 10 MB limit is refused with a note to approve the records in smaller
batches.
Why a file and not a connection: Discogs' API terms, as we read them, do not allow charging for an API integration without Discogs' written permission, and Point and Sell is a paid product. The upload is your own act on your own Discogs account, like every other file here: nothing is listed until you upload it.
What it does not do, as of today. No file
from here has been through a real Discogs import yet. The columns and the
condition text are written from Discogs' help article, so send the first one
with a single row, or with DRAFT on every row, and look at what
arrives. It writes seven columns, not everything Discogs takes: no
accept_offer, private_notes, location,
weight or format_quantity, and no public comment on
the listing, because the article names no column for one. It does not hear
about a Discogs sale: nothing tells it when a record sells there, so it cannot
end the eBay listing, and the done page of a batch that also went to eBay
tells you to end it yourself the same day (the show page makes an eBay End file from a pasted SKU). If your eBay
account is connected here with sale notices on, an eBay sale of a record the
file carried sends you an email that names Discogs, so you know to take it off
there; it does not take it off Discogs for you. It never prices from Discogs:
the price in the file is yours. And it never guesses a release, so a record
whose barcode or catalog number could not be read is left out.
Try it on a crate · Listing records on eBay · More guides
Sources
Discogs' support articles "Import and Export Your Inventory (CSV)" (marked updated 21 September 2026), "How To Grade Items" and "Database Glossary", all read on 26 September 2026. The condition text in the table above is the text the file writes, taken from the same code that writes it, and it matches the first of those articles letter for letter. What the product does is its code on the day this was published, and its decision log.