Give every used record its own spreadsheet row: an ID sticker, its grade, what you paid, the shelf price and a status from bought to sold. Use AI to turn bench notes into consistent rows and listing text, but grade the vinyl yourself and price each copy from recent sales in the same grade. A simple till handles sales.
Used vinyl breaks the assumption most POS software is built on, which is that stock is a quantity of identical items. A used copy is a one-off with its own grade, cost, price and shelf position. That is why a sheet with one row per copy beats a large POS for the used racks, and why the AI's job here is paperwork, never judgement.
Why a quantity-based POS fights one-off records
Search for record store software and many of the results are full retail POS systems, which think of stock as products with a count: 14 cleaning kits, 30 inner sleeves, 6 slipmats. Used vinyl is the opposite. Three thousand records is three thousand different items, each with a quantity of one. In a large POS that means creating and labelling thousands of item records before the first sale, then paying every month for features such as variants, purchase orders and reorder points that a one-off copy never uses.
So split the shop into two lanes. New stock and accessories are ordinary quantity stock and belong in whatever till you already use. Used records go in a sheet where one row is one physical copy. The lanes meet only at the counter, where the sale is rung up in the till and the copy's ID is marked sold in the sheet.
| Lane | Examples | Tracked by | Lives in |
|---|---|---|---|
| Quantity stock | New releases, sleeves, cleaning kits, slipmats, turntables | Item and count | Your till's item list |
| One-off stock | Every used record, including used turntables if you sell them | One row per copy | The catalogue sheet |
The catalogue sheet: one row per copy, and what each column is for
The sheet is the source of truth. Discogs, eBay and your own website are only places where a row gets listed. Keep one header row, no merged cells, and one record per row, so that you can sort, filter and export it later without cleaning.
| Column | What goes in it | Filled by |
|---|---|---|
| ID | A unique code on a removable sticker or a small tag, such as R-004281; never reused | A counter in the sheet |
| Lot | The purchase the copy came from, such as L-0117, so the formula can spread the purchase price across it | You |
| Artist, Title, Label, Cat. no. | Copied from the sleeve and the centre label; left blank if you haven't read it | You, tidied by AI |
| Format | LP, 2LP, 12-inch single, 7-inch | You |
| Pressing notes | Only what is printed or etched, including matrix text if you've read it | You |
| Discogs release ID | The exact release, found by a person; blank means unchecked | You |
| Media grade, Sleeve grade | One of Discogs's exact labels, graded separately | You, at the bench |
| Defect notes | Short and factual: "ring wear, 2 cm seam split; two ticks, side B track 3" | You, tidied by AI |
| Cost | The share of the lot's price this copy carries | Formula |
| Price, Floor | The shelf price and the lowest you would accept | You, after the pricing check |
| Location | A bin code such as B3-04 (rack B, bin 3, position 4), or ONLINE for the online shelf | You |
| Status | Bought, Graded, Priced, Racked, Online hold, Sold, Withdrawn, from a drop-down | You |
| Date in, Date out, Sold price | Feeds the markdown rules and the margin figures | You and formulas |
Use Discogs's exact grade labels from the first day. Its CSV import says condition values must match exactly, and the accepted labels are Mint (M), Near Mint (NM or M-), Very Good Plus (VG+), Very Good (VG), Good Plus (G+), Good (G), Fair (F) and Poor (P). A sheet that already uses those words imports without edits, and the sheet's drop-down list stops staff typing "VG plus" or "excellent".
ChatGPT is good at the plumbing here. Ask it for the drop-down validation lists, a formula that issues the next ID, a "days on rack" column from Date in, and a conditional format that turns a row red when Price falls below Floor. If you want more help with formulas, the tutorial on Google Sheets AI prompts covers the approach.
A grading sheet the whole counter grades to
Grading drifts when each person carries their own idea of "Very Good". Discogs, which uses the Goldmine standard, puts numbers on how much it matters: its grading page describes Very Good Plus as worth about half of Near Mint, and Very Good as about a quarter. A one-notch slip on a record can therefore halve the price, which is why the counter needs one written standard. Discogs also says Mint should be used sparingly, if at all, and that many dealers won't grade above Near Mint.
| Grade | What Discogs's guide says (paraphrased) | House rule for the bench (yours to adjust) |
|---|---|---|
| Mint (M) | Perfect and likely never played, possibly sealed; use sparingly | Sealed copies only |
| Near Mint (NM or M-) | Nearly perfect; plays without audible flaws; sleeve with no creases, folds, seam splits or cut-out holes | Silent on a spot-play of both sides, sleeve flat with sharp corners |
| Very Good Plus (VG+) | Cosmetic defects that don't affect playback; light scuffs and slight warps acceptable if the sound is unaffected; slightly worn sleeve | Hairlines allowed if silent in play; a corner turn or light ring wear allowed on the sleeve |
| Very Good (VG) | Surface noise evident on playing; light scratches that affect the sound; writing, tape or stickers on labels | Noise audible between tracks but the music still carries; clear sleeve wear |
| Good Plus (G+) and Good (G) | Plays through without skipping but with significant surface noise, ticks and groove wear | Bargain bin only; say "plays through" in the listing |
| Fair (F) and Poor (P) | Won't play through without skipping or repeating; may be cracked or badly warped | Not sold as a playing copy |
The third column is a suggestion, not Discogs's wording, so rewrite it to match how your shop actually plays and handles records. What matters is that it is written down, short, and the same for everybody.
A bench routine that works for a busy counter: look at the disc out of its inner sleeve under a bright lamp at an angle, check the sleeve, inner and any inserts, then spot-play anything priced above a threshold you choose and everything you plan to grade Near Mint. Grade sleeve and disc separately, and write down the specific defect rather than relying on the grade to say it. Tell customers whether a listing is visual-graded or played, and use the same words every time.
Test the standard before you trust it. Have two people grade the same ten records without comparing notes, then line the grades up. If most match and the rest are one notch apart, the standard is working. If any pair is two notches apart, find the record and the sentence in the sheet that let them disagree, and rewrite that sentence. Repeat after a few weeks.
A box of 40 records, from the counter to the racks
Here is the whole routine on one illustrative purchase: a walk-in seller brings a box of 40 records and you pay $120. All prices below are invented for the example and nothing in them is a promise of what any record will fetch.
- Log the purchase. Date, what it was, $120 paid. If you buy from the public, keep the seller's details in your purchase book, not in any AI chat, and ask your adviser what record-keeping rules apply to second-hand dealers where you trade.
- Number the records. R-004281 to R-004320, one removable sticker or tag each, all with the lot code L-0117.
- Grade at the bench. About two minutes a record is a fair first guess, so 80 minutes for the box. Time your first ten and multiply. Type shorthand notes into your phone as you go.
- Turn the notes into rows. About ten minutes with the prompt in the next section.
- Price. Thirty-six records fit your standard tiers. Four need the pricing check below, about five minutes each.
- Rack and list. Write the bin code, set Status to Racked, and for anything going online set Status to Online hold and move the copy to the online shelf.
After pricing, the box looks like this. Because the $120 was paid for the whole lot, each copy carries a share of it in proportion to its price: $120 divided by the $447 total ticket value is 26.8%.
| Tier | Records | Price each | Ticket value | Cost carried per record |
|---|---|---|---|---|
| Bargain bin | 12 | $3 | $36 | $0.81 |
| Standard shelf | 16 | $9 | $144 | $2.42 |
| Mid shelf | 8 | $15 | $120 | $4.03 |
| Checked one by one | 3 | $24, $28, $35 | $87 | $6.44, $7.52, $9.40 |
| Online (Discogs) | 1 | $60 | $60 | $16.11 |
| Total | 40 | $447 | $120.00 |
That 26.8% is useful beyond the margin figure. A $9 record carries $2.42 of cost, so a 20% markdown to $7.20 still clears its cost by $4.78. The eight $15 records alone would repay the whole box if they all sold, which is a quick sanity check on whether $120 was a sensible offer. And the $3 bin records carry 81 cents each, so they are almost free to clear when a rack needs the space.
Bench notes to catalogue rows: the prompt and what to fix
Typing into a spreadsheet at the bench is slow. Typing shorthand into your phone and letting AI turn it into rows is faster, provided the AI is not allowed to fill gaps from memory. That rule is the important line in the prompt. Keep seller names and addresses out of it; the AI only needs the record details.
You are tidying notes for a used-record catalogue. Below are my bench notes, one record per paragraph, in shorthand. Return a CSV with these columns exactly: ID, Artist, Title, Label, Cat no, Format, Media grade, Sleeve grade, Defect notes, Check.
Rules:
- Use only what is in my notes. If the label, year, country or pressing is not in my notes, leave that cell empty. Never fill a gap from memory.
- Grades must be one of these exact labels: Mint (M), Near Mint (NM or M-), Very Good Plus (VG+), Very Good (VG), Good Plus (G+), Good (G), Fair (F), Poor (P). For a sleeve you may also use Generic or No Cover. If my notes give no grade, leave it empty and write NEEDS GRADE in Check.
- Defect notes: short, factual phrases in British English, sleeve first, then disc. Never soften, upgrade or add to what I wrote.
- Check: copy any guess I made (a question mark, "prob", "1st?") and flag any grade that doesn't fit the defects I described.
Made-up bench notes (the artists, titles and catalogue numbers are invented), in the kind of shorthand you would really type:
4281 brasswick trio, night kiln, LP, cat BWK 114. disc vg+, sleeve vg. ring wear, 2cm seam split bottom. 2 light ticks side b trk 3. 1st press?
4282 lantern sloop, weather for gulls, 2LP gatefold, LSP 2001. disc nm, sleeve vg+, corners bumped, no inners
4283 bramble & kite, moth bell, 7in, no cat visible. disc g, sleeve generic. skips side a
A first answer (illustrative) comes back as clean rows with the Check column doing real work:
ID,Artist,Title,Label,Cat no,Format,Media grade,Sleeve grade,Defect notes,Check
R-004281,Brasswick Trio,Night Kiln,,BWK 114,LP,Very Good Plus (VG+),Very Good (VG),"Sleeve: ring wear; 2 cm seam split at bottom. Disc: 2 light ticks, side B track 3","Note says '1st press?': a guess. Do not state it until the matrix is checked"
R-004282,Lantern Sloop,Weather for Gulls,,LSP 2001,2LP gatefold,Near Mint (NM or M-),Very Good Plus (VG+),"Sleeve: corners bumped; no inner sleeves. Disc: none noted",
R-004283,Bramble & Kite,Moth Bell,,,7-inch single,Good (G),Generic,"Disc: skips on side A","No cat no. in notes. Grade G conflicts with 'skips': Discogs's Good plays through without skipping, so this may be Fair or Poor"
Three things to fix or notice. First, the label column is empty on every row, correctly: you didn't note it, so it stays blank until someone reads the centre label. Second, "1st press?" is still a question, not a fact, and it must not reach a listing. Third, row 4283 is the useful catch. Discogs describes Good as a record that plays through without skipping, while Fair and Poor won't play through without skipping or repeating. A copy that skips on side A is probably Fair or Poor, so the grade, not the AI, needs correcting. Filter the Check column for anything non-empty and clear those first.
Listing text that describes condition without overselling
AI drafts listing text well when it is given facts, and badly when it is given a blank invitation. Without constraints it reaches for enthusiasm: "stunning", "rare", "must-have". Those words are claims you cannot support, and a buyer who feels let down by an inflated listing returns the record or leaves a review. Feed it the finished row and a tight brief:
Write a listing comment for each row below, 40 to 60 words, British English. Structure: format and cat no. first, then the disc condition in my words, then the sleeve condition in my words, then anything missing (inners, inserts). Rules: use only the facts in the row; do not call anything rare, sought-after, collectable, original or first pressing unless the Pressing notes column says so; do not mention price or value; keep the grade exactly as written in the row. Finish with the line [our standard postage line].
A lazy first draft (illustrative), and the corrected version a counter would publish:
Weak draft: A stunning, rare gem in excellent condition! A must-have for collectors, so don't miss out.
Corrected: Night Kiln, LP, cat. BWK 114. Disc graded Very Good Plus (VG+): two light ticks on side B, track 3, otherwise quiet. Sleeve graded Very Good (VG): ring wear and a 2 cm split on the bottom seam. [our standard postage line]
Check each draft against its row in thirty seconds: does the grade word match, does every defect appear, and is there a claim (rare, original, first pressing, price) that isn't in the row? Strip it if so. Do the same for any marketplace description, including the structured condition and flaws approach in the tutorial on eBay descriptions with a condition and flaws template. A reliable title format helps search and staff alike: Artist, Title, format, label, cat. no., then grades, with the year only when the Pressing notes column holds it.
The pricing check is yours: a five-step worksheet
AI cannot price a record. If you ask it what a copy is worth, it produces a confident number from nowhere, and nothing guarantees any price in this method either: sold history shows what happened, not what will. The check is five steps, done by you, and AI's role is limited to laying out the worksheet and doing the sums.
- Identify the exact release. Use the catalogue number, the barcode where there is one, and the matrix or runout text etched near the label. Different pressings of the same title can sell for very different prices. If you can't tell which one you hold, the release ID stays blank and the record stays unpriced.
- Look at what it has actually sold for, in the same grade. Discogs shows a suggested price based on the media condition you pick and the release's recent sales history, which is a starting point, not an answer. If you also look at sold listings elsewhere, eBay's Product Research in Seller Hub is free to sellers.
- Look at what is for sale now. Note the cheapest copy in the same or a better grade. A buyer will see it.
- Net it out if the copy is going online. Discogs charges 9% of the item price and the shipping you charge, with a $0.10 minimum and a $150 maximum, collected when the buyer pays; listing is free. Payment-provider charges and your real postage cost come on top, so check those on your own account.
- Set the price and the floor, and write why in one line with the date. Review it in 90 days, or sooner if a comparable copy sells.
The four records that needed a check are filled in below, with invented figures that you would replace with your own notes from steps 2 and 3:
| ID | Record (made-up) | Grades (disc / sleeve) | Last five sold in that grade | Cheapest for sale now | Your price | Why |
|---|---|---|---|---|---|---|
| R-004281 | Night Kiln, LP | VG+ / VG | $20 to $30 | $26 (VG+ / VG) | $24 | Just under the cheapest, because of the seam split |
| R-004290 | A reissue LP | NM / NM | $24 to $34 | $30 (NM / NM) | $28 | Same grades, priced to move |
| R-004297 | A gatefold 2LP | NM / VG+ | $30 to $42 | $38 (NM / VG+) | $35 | Below the cheapest; mid-range of sales |
| R-004303 | Possible early pressing | VG / VG | Two sales: $48 and $71 | $59 | $60 | Thin data; hold until the matrix is confirmed |
Then ask for the arithmetic and the outliers, not for prices:
Here is my pricing worksheet. Do not look anything up and do not suggest prices. Add two columns. First, net received if sold on Discogs with $5 shipping: price plus $5, less 9% of that total, with a minimum fee of $0.10 and a maximum of $150. Second, margin over the Cost column. Then list any row where my price is above the highest recent sale, or where fewer than three sales are recorded. Show the working for the first row.
On the worksheet above the sums come out as follows. For R-004303 at $60 plus $5 shipping, $65 is collected, the fee is $5.85, and $59.15 is left before payment charges and postage. Against the $16.11 of cost it carries, that is a margin of $43.04. The flag would fall on R-004303 for having only two recorded sales, and it should: two sales $23 apart is not a price range, and a matrix check on a possible early pressing is worth the minutes before you commit.
For the wider method of pricing used stock from sold data, see the tutorial on pricing used stock from sold-listing data, and for why AI shouldn't be the one to date or value stock, the antique shop tutorial covers what is safe to hand over.
Tracking stock from bought to sold without a POS
The status column does the tracking: Bought, Graded, Priced, Racked, Online hold, Sold, Withdrawn. Three habits keep it true without any software beyond the sheet.
- One home per copy. A copy is either on the shop racks or on the online shelf, never both. Anything listed online leaves the racks that day and goes behind a colour-coded divider, with Location set to ONLINE and Status to Online hold. That one rule prevents most double sales.
- Log sales by ID at close. Whoever closes the till types the IDs, the date and the sale price of everything sold today into a Sold tab, and lookup columns on the main sheet pull the date and price across, so any row with a Date out counts as sold in your filters. It takes about three minutes.
- Mark online sales each morning. Work through the new orders and set the matching rows to Sold. Discogs's CSV import lists external_id, private_notes and location as optional fields without describing how each behaves, so put your sticker ID in one of them on three test rows and see which comes back in your export. Whichever does, a lookup can then match each listing to its row. The import can also bring rows in as DRAFT, which doesn't make them live, so you can review a batch before it goes on sale.
The weekly routine is fifteen minutes. First, export your Discogs inventory and compare it with the Online hold rows in the sheet: anything on one list but not the other is a sale you missed or a listing you forgot. Discogs keeps your last five exports for 30 days. Second, apply your markdown rules. Third, spot-count two bins against the sheet.
Here is my stock sheet with columns ID, Title, Media grade, Price, Floor, Location, Status and Date in. Today is [date]. Apply these rules and return only a table of ID, Title, current Price, new Price and rule applied:
- Status Racked for 90 days or more and Media grade Very Good Plus or better: reduce Price by 15%.
- Status Racked for 180 days or more: reduce Price by 30%.
- Round to the nearest whole dollar and never go below Floor.
Show the arithmetic for the first three rows so I can check it.
An illustrative answer, with the check you would run on it:
ID | Title | Price | New price | Rule applied
R-004281 | Night Kiln | $24 | $20 | 94 days, VG+ or better: 24 x 0.85 = 20.40, rounded to 20
R-004290 | A reissue LP | $28 | $24 | 91 days, NM: 28 x 0.85 = 23.80, rounded to 24
R-003775 | (older stock) | $16 | $11 | 212 days: 16 x 0.70 = 11.20, rounded to 11
R-003650 | (older stock) | $12 | $9 | 190 days: 12 x 0.70 = 8.40, rounded to 8; Floor is 9, so 9
Recalculate two rows by hand before you reprint any stickers. The last row shows the floor rule doing its job, which is the thing most worth testing: a markdown rule that ignores the floor will eventually sell a record below what you paid for its share of the box. Then open the shelf and look at the actual copies. A rule can't see that a record has been in the front bin for three months because the sleeve is mouldy, and that is a different decision.
The spot count is the check that the sheet matches the building. Pick two bins, say B3 and the new arrivals rack. If the sheet shows 180 Racked rows with a B3 location and you count 176 on the rack, four records are missing, which is 2.2%. Look for them in neighbouring bins, on the online shelf, behind the counter as reserved, or sold and not logged. If the same bins come out short month after month, the weak point is the close-of-day logging rather than the records. For selling across several channels with automatic stock updates, the tutorial on syncing stock across Shopify, Amazon and eBay explains what that takes.
Where AI misleads on records, and the check for each
- Pressing and year claims. Given "Night Kiln, BWK 114", a chat assistant may write "original 1973 pressing", because it sounds right. Nothing in your notes said so. The check is that any year or pressing statement must trace to the label, the sleeve or the matrix text you read, and the prompt above forbids anything else.
- Invented identifiers. Release IDs, catalogue numbers, track lists and credits can all come back looking authoritative and be wrong. The Discogs CSV needs a release_id for every added listing, and it must come from the release page you checked, never from the AI. Ask the assistant for a search string to paste into Discogs, not for the ID itself.
- Grade inflation in prose. "Two light ticks" becomes "plays beautifully". The check compares the grade word and every defect in the finished text against the row, which is why the listing prompt tells it to keep the grade exactly as written.
- Rarity and value talk. "Rare", "sought-after" and "worth a lot" are claims that need evidence from sold history. Strip them from drafts and let your price do the talking.
- Photographed small print. OpenAI's help warns that ChatGPT may not reliably extract exact values from scanned files or image-based tables, and etched runout text photographed at an angle is harder still. Read matrix text yourself, with a torch at an angle, and type it in.
- Personal data in prompts. A seller's name, address or phone number has no business in an AI chat. Keep those in the purchase book and send only the record details.
When a full POS earns its monthly fee
The lean setup stops being enough at some point, and it is better to recognise the signs than to buy early. A fuller POS starts to pay when you have more than one till or location, when staff mis-key IDs often enough that you correct the sheet weekly, when you want in-store sales and a website store to share one stock count, or when the quantity lane (new releases, turntables, merchandise) has grown to be most of your takings.
Prices as of October 2026 give a sense of the step. Lightspeed Retail lists plans at $89, $149 and $289 a month on annual billing, and monthly billing costs more. Square for Retail lists Free at $0, Plus at $49 and Premium at $149 a month per location, and its comparison table appears to keep barcode label printing for the paid plans, so check that row before you settle on Free. Check the live pages for your own account before you decide, because plans and limits change.
If you do move, treat each used copy as an item with a quantity of one and import the sheet, rather than recreating anything by hand. Square's retail page says items can be imported in bulk, and most systems offer a CSV route. Ask ChatGPT to reshape your sheet's columns into the new system's import template, test it on 20 rows first, and keep the sheet's cost and grading columns even after the move, since they are the part of your stock record that a generic POS rarely holds.
Questions record store owners ask about cataloguing with AI
Can AI grade my records from a photo?
No. Surface noise, warps and light scuffs need a bright lamp, a stylus and your ears, and OpenAI's own help warns that ChatGPT may not reliably extract exact values from scanned files or image-based tables. Use AI to tidy your notes and draft the listing text. The grade stays a human call, written down at the bench.
Do I have to sell on Discogs to use this method?
No. The sheet works without it, and you can price shelf copies from sold history alone. Discogs is still the easiest place to identify a pressing, and listing there is free. When something sells, it charges 9% of the item and shipping, with a $0.10 minimum and a $150 maximum, so check its fees page before you price online.
How do I price a record with no sales history at all?
Use the nearest comparable copies instead: the same release in another grade, other pressings of the same title, or the same artist's records from that period, and write which comparison you used in the Why column. Set a cautious floor, list the copy for 30 days to see whether anyone bites, and review the price then rather than guessing high on day one.
Do I need barcode labels and a scanner for used stock?
Not at first. A handwritten or printed ID sticker is enough while you log sales by ID at close. Once that end-of-day typing takes more than a few minutes, print barcode labels from the sheet's ID column. Most basic USB scanners type the code into the selected cell as a keyboard would, so your lookup formulas keep working unchanged.
Further reads
- Comic Book Store Software: Pull Lists, Back Issues and AI Listings — Another one-off stock problem: back issues, pull lists and AI listings.
- Bookstore POS System: Special Orders, Used Books and AI Reorders — How used books and special orders fit a POS, side by side with vinyl.
- Music Store Inventory Management: Used Gear and Trade-Ins With AI — Trade-ins and used gear, where each item also has its own history.
- AI for Thrift Stores: List Donated Items From a Phone Photo — List one-off items from a phone photo when stock arrives in bags.
- Game Store Software: Trade-Ins, Tournaments and AI Product Listings — Trade-in pricing and product listings for another collector market.
- How Resellers Use AI to List Second-Hand Items Faster — Speed up the listing step across many second-hand items.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Discogs support pages (how to grade items; how to sell music on Discogs; fees for selling; import and export your inventory as CSV); OpenAI help page on data analysis; Square for Retail plan page; Lightspeed Retail pricing page.