Reselling Guides

Reselling Spreadsheet: How to Track Cost of Goods Sold and Profit Per Item

A reselling spreadsheet beats guessing. The seven columns that track cost of goods sold, fees, and real profit per item, shown with real numbers.

Illustration of an open ruled ledger book with a blank price tag resting on the page

Ask a reseller what they sold last month and you usually get a number right away. Ask which five items actually made the money and the answer gets slower, and that pause is the whole problem. Sales totals tell you how busy you were. Only a per-item record tells you what the work paid.

Your sales report is not a profit report

Every platform will show you gross sales. Your payout screen will show you what landed in the bank after fees. Neither one knows what you paid for the item, because you bought it somewhere else, usually in cash, often in a cart with nine other things.

That missing number is cost of goods sold, and it is the difference between a business and a hobby with good receipts. Until the buy cost sits next to the sale price on the same row, you are guessing at margin and you will guess high every time.

The seven columns that do the job

A reselling spreadsheet does not need to be clever. It needs seven columns and the discipline to fill them in.

  1. Date sold. Pair it with a date bought column later and you get days to sell, which is the number that tells you what to buy more of.
  2. Item and SKU. Enough to find the listing again. A short code beats a long description.
  3. What you paid. The cost of goods. Fill this in the day you buy, not the day it sells.
  4. What it sold for. The item price the buyer paid.
  5. Platform fee. The real one off the order detail if you have it, an estimate if you do not.
  6. Shipping you paid. Only the postage that came out of your pocket, not the buyer's.
  7. Profit. A formula, never a typed number: sale price, minus fee, minus your shipping, minus what you paid.

That is the entire ledger. Everything else, from mileage to supplies, is a monthly expense line and belongs below the table, not inside it.

What it looks like filled in

These are five real rows out of our own ledger, pulled from eBay sales this year.

Item Paid Sold Fee (est. 13.5%) Profit
Antigua Columbus Crew MLS Cup polo $5.00 $27.99 $3.78 $19.21
Peter Millar golf polo $5.00 $30.00 $4.05 $20.95
Highland Brewing tap handle $11.99 $39.95 $5.39 $22.57
Vintage Budweiser centennial crate $71.86 $114.95 $15.52 $27.57
Dale Earnhardt Coke can diecast $23.46 $22.00 $2.97 -$4.43

Two notes on honesty, because a ledger is only worth what its weakest column is worth. The fee is estimated at 13.5 percent on these rows, since the exact fee was not captured at the time. The two polos carry our standing $5 cost for a thrifted shirt rather than a line off a receipt, while the tap handle, the crate, and the diecast carry the actual cost we paid to win them. Buyer-paid shipping is not in this table at all.

Now read the rows against each other. The crate sold for nearly four times what the Peter Millar polo sold for and kept $6.62 more. It also tied up $71.86 for however long it sat, against five dollars for the polo. Sale price is the number people brag about. Profit against cash spent is the number that decides what you buy on the next sourcing run.

The row memory never remembers

Look at the last line. A $22 sale shows up in any monthly report as a sale. In the ledger it is a $4.43 loss, because the diecast cost $23.46 before the fee ever came off.

Nobody remembers that row a month later. You remember the crate and the tap handle, because wins are easy to recall and small losses are not. One quiet negative row a month does not sink anything on its own. A pattern of them, in a category you keep buying because you think it works, absolutely does, and the only thing that surfaces the pattern is a column that can go below zero.

Write the cost down at the buy

Almost every broken ledger breaks at the same point. The item sells, you try to remember what you paid for it in a bin four months ago, and you put down something that feels about right.

Log the cost the day the item comes home. When one receipt covers a cart, split it across the items instead of assigning the whole thing to the first one that sells. When a lot or a pallet covers forty items, divide the landed cost by the number of sellable units and use that as the per-item cost. And when you genuinely cannot tie a cost to an item, set a standing figure for that source and label it as an assumption, the way our $5 clothing line is labeled. An assumption you flagged is a working number. An assumption you forgot you made is a lie your own spreadsheet tells you later.

This is also the tax side

You are taxed on profit, not on gross sales. Your cost of goods, platform fees, shipping labels, packing supplies, and mileage are business expenses that reduce the number you owe on, and when a 1099-K shows up reporting your gross, the ledger is what stands between that figure and your actual income. Keep it from the first sale so you are not rebuilding a year of buys from memory in April. That is a record-keeping habit, not tax advice, and once you are selling steadily a professional who knows resellers earns their fee.

The takeaway

The spreadsheet is not paperwork you do because you should. It is the only instrument that tells you which shelf of your inventory is working, and it pays for itself the first time it talks you out of restocking a category you were sure about.

Building the ledger is the easy half. Reading it, and turning what it says into what you buy next weekend, is the part we work through together inside The Income Lab.

reselling spreadsheetcost of goods soldreseller bookkeepingprofit per itemebay fees