How to Track Reseller Inventory and Profit (eBay, Poshmark, Etsy)
October 24, 2026 · 6 min read
A sale price is not a profit. Here is how to set up a reseller spreadsheet that tracks every item from sourcing to sale, with real cost basis, fees, shipping and aging inventory.
Resellers are good at knowing what an item sells for. Fewer know exactly what they made on it after the thrift-store receipt, the platform fees, the shipping label, the poly mailer and the three months it sat in a bin. Without that number it is hard to answer the questions that actually grow a reselling business: which sources are worth the drive, which categories pay, and which inventory should be marked down today.
This guide shows how to build one spreadsheet that tracks every item from purchase to sale, works across eBay, Poshmark, Etsy and other marketplaces, and gives you real profit per item and per month.
Start with cost basis
Cost basis is what you paid to acquire an item, and it is the number most resellers get wrong. The rules of thumb:
- Single items — the price paid plus any sales tax you paid on it.
- Bundles and bulk lots — divide the total cost across the items. Equal split is simplest; splitting in proportion to expected resale value is more accurate when one item is clearly the prize of the lot.
- Inbound costs — if you paid shipping to have inventory delivered to you, add it to the cost of those items.
- Keep the receipt. Thrift, estate sale and wholesale receipts are your proof of cost. A photo is fine as long as you can find it later.
Here is a bulk lot split by expected value. Total paid: $60 for four items.
| Item | Expected sale | Share of lot | Allocated cost |
|---|---|---|---|
| Denim jacket | $80 | 50% | $30.00 |
| Leather belt | $40 | 25% | $15.00 |
| Graphic tee | $20 | 12.5% | $7.50 |
| Scarf | $20 | 12.5% | $7.50 |
| Total | $160 | 100% | $60.00 |
Allocated cost (D2), with expected sale in B and lot total in $F$1: =ROUND(B2/SUM($B$2:$B$5)*$F$1,2)
If you shop at thrift stores, estate sales or wholesale suppliers, photograph the receipt the same day. The receipt to Excel converter extracts each line item, price and the store and date, so you can paste them straight into your inventory sheet as cost basis instead of typing them.
The columns you actually need
One row per item. Keep it to columns you will genuinely fill in — a sheet with 30 columns gets abandoned.
| Column | Example | Why it matters |
|---|---|---|
| SKU | DEN-JKT-0142 | Matches the bin label and the listing |
| Item | Levi's trucker jacket, M | What it is |
| Source | Goodwill - Main St | Which sources pay off |
| Acquired date | 2026-08-03 | Aging and tax records |
| Cost | $30.00 | Cost basis |
| Location | Bin 14 | Find it when it sells |
| Platform | eBay / Poshmark / Etsy | Compare channels |
| Listed date | 2026-08-05 | Days to sell |
| Sold date | 2026-09-11 | Blank until sold |
| Sale price | $78.00 | Item price paid by the buyer |
| Shipping charged | $0.00 | Shipping the buyer paid you, if any |
| Platform fees | $11.20 | Copied from the order details |
| Shipping label | $8.45 | What you paid for postage |
| Supplies | $0.60 | Mailer, tissue, tape |
| Profit | formula | The number that matters |
SKUs do not need to be complicated, but they need to be unique and printed on the bin or tag. If you are not using them yet, our guide on how to create SKU numbers has a simple scheme and an Excel formula that builds them for you.
Fees: record them, don't estimate them
Each marketplace charges differently. Some take a percentage of the sale, some add a fixed per-order fee, some charge on the shipping amount too, and there are optional costs like promoted listings, offsite ads and payment processing. The structures and percentages also change from time to time, so any number you memorize today may be wrong next year. Check each platform's current fee page when you set up your sheet, and revisit it periodically.
The reliable approach is to copy the actual fee from each sale's order or payout details into the Platform fees column. That captures promoted listing fees, discounts and any fee changes automatically. If you want a quick estimate before listing, you can keep a small lookup table of your own approximate rates, clearly labeled as an estimate:
Estimated fee (before the sale), using your own lookup table FeeRates[Platform, Pct, Fixed]: =ROUND(J2*XLOOKUP(G2,FeeRates[Platform],FeeRates[Pct])+XLOOKUP(G2,FeeRates[Platform],FeeRates[Fixed]),2) Replace with the actual fee from the order once the item sells.
The profit formula
With the columns above (Cost in E, Sale price in J, Shipping charged in K, Platform fees in L, Shipping label in M, Supplies in N):
Profit (O2): =IF(I2="","",J2+K2-E2-L2-M2-N2) Profit margin (P2): =IF(O2="","",O2/(J2+K2)) ROI on cost (Q2): =IF(OR(O2="",E2=0),"",O2/E2) Days to sell (R2): =IF(I2="","",I2-H2)
A worked example for three sold items:
| Item | Cost | Sale | Ship chg. | Fees | Label | Supplies | Profit | ROI |
|---|---|---|---|---|---|---|---|---|
| Trucker jacket | $30.00 | $78.00 | $0.00 | $11.20 | $8.45 | $0.60 | $27.75 | 92.5% |
| Ceramic vase | $4.00 | $32.00 | $9.00 | $5.10 | $9.00 | $1.20 | $21.70 | 542.5% |
| Running shoes | $12.00 | $45.00 | $0.00 | $6.40 | $7.25 | $0.60 | $18.75 | 156.3% |
The fee and label amounts above are illustrative, not current platform rates. Notice how different ROI and dollar profit can look: the vase has the highest ROI, but the jacket made the most dollars. Track both. ROI tells you where your sourcing money works hardest; dollar profit tells you where your time pays best.
Profit, ROI, days-to-sell and aging formulas already built in, with versions for eBay, Poshmark, Etsy and sneaker resellers.
Track aging inventory
Unsold inventory is cash sitting on a shelf. An aging column shows how long each unsold item has been with you, so you can decide what to relist, discount, bundle or donate:
Days held (S2): =IF(I2="",TODAY()-D2,I2-D2) Age bucket (T2): =IF(I2<>"","Sold",IF(S2<=30,"0-30",IF(S2<=90,"31-90",IF(S2<=180,"91-180","180+")))) Conditional formatting rule (unsold and older than 90 days): =AND($I2="",TODAY()-$D2>90) → fill amber
Then summarize how much money is tied up in each bucket:
Cost tied up in 91-180 day stock: =SUMIFS(E:E,T:T,"91-180")
A simple rule many resellers use: anything past a set age gets a price drop, a relist, or a move to a different platform. Pick your own threshold — what matters is that the sheet surfaces the list so you act on it.
Monthly summary: what the sheet should tell you
Once data is flowing, a small summary tab answers the big questions. A pivot table on the inventory sheet works, or a few SUMIFS formulas:
- Profit by platform — =SUMIFS(O:O,G:G,"eBay",I:I,">="&DATE(2026,10,1),I:I,"<"&DATE(2026,11,1))
- Profit by source — tells you which thrift store or supplier is worth the trip.
- Average days to sell by category — fast-moving categories deserve more sourcing budget.
- Inventory at cost, unsold — =SUMIFS(E:E,I:I,"") — the cash you have tied up.
A weekly workflow that keeps the sheet current
The spreadsheet only works if it is updated in small batches. A routine that fits around sourcing and shipping days:
- After every sourcing trip: photograph the receipt, add one row per item with SKU, source, date and cost, and write the SKU on the tag or bag.
- When you list: fill in platform, listed date and bin location. If you cross-list, note every platform so you can end the other listings when it sells.
- When it sells: fill in sold date and sale price, then copy the fee and shipping label cost from the order page. Doing it at pack time takes a minute; reconstructing it at month end takes hours.
- Once a week: sort unsold items by days held and pick the ones to reprice, relist or bundle.
- Once a month: review profit by platform and by source, and total the receipts for your records.
If you buy wholesale or from liquidation suppliers, inventory arrives with an invoice or packing list rather than a register receipt. Run those through the invoice to inventory spreadsheet converter to get item, quantity and unit cost per line, then split any shipping charge across the units as part of cost basis.
Taxes and record keeping
If you resell for profit, your sales and cost of goods sold matter at tax time, and marketplaces may report your sales to the IRS. A spreadsheet with cost, sale, fees and shipping per item makes it much easier to work out your numbers or hand them to a tax professional. Keep the sourcing receipts that support your cost basis — see how to organize receipts for taxes and how long to keep receipts for a simple system. This is general information, not tax advice; check with a tax professional for your situation.
For platform-specific layouts, see the eBay seller template, Poshmark seller template, Etsy shop template and sneaker reseller template.
Frequently asked questions
How do I calculate cost basis for items bought in a bulk lot?
Divide the total lot cost across the items. An equal split is simplest; splitting in proportion to each item's expected sale price is more accurate when values vary a lot. Use the same method consistently.
Should I include shipping in my profit calculation?
Yes. Add any shipping the buyer paid you to revenue and subtract the label you paid as a cost. If you offer free shipping, the label cost comes straight out of your profit.
What fee percentage should I use for eBay, Poshmark or Etsy?
Fees vary by platform, category and seller options, and they change over time, so check each platform's current fee page. For your records, copy the actual fee shown in each order's details rather than relying on an estimate.
What is aging inventory?
Aging inventory is stock that has been unsold for a long time. Tracking days held for each unsold item helps you decide when to drop the price, relist, bundle or move it to another platform.