Cost of goods sold for a reseller is the purchase price of an item plus every direct cost required to get it sale-ready: allocated lot cost, cleaning and repair, inbound freight, and a share of sourcing expenses like mileage. Most resellers only log the purchase price. That understates COGS, inflates taxable profit, and means paying tax on money you never kept.
This isn't a rounding error. If you source in lots, do any repair or cleaning work, and drive to thrift stores, estate sales, or liquidation pickups, the gap between "what I paid" and "what it cost to have it sellable" can be a meaningful slice of your true cost basis. In the example below it is about 12%. Multiply that across 500 items a month and you pay real tax on phantom profit.
What Counts as Cost of Goods Sold for a Reseller (and What Doesn't)
COGS is a specific accounting category, not a catch-all for "stuff I spent money on." For a clothing reseller, it should include:
- The purchase price of the item itself (or its allocated share of a lot or bulk purchase)
- Freight-in or shipping costs to receive the item from a supplier, auction, or liquidator
- Direct costs to make the item sellable: cleaning, repair, alteration, replacing a missing button or zipper pull
- A reasonable allocation of sourcing costs directly tied to acquiring the item, such as mileage, tolls, and bin or booth fees at an auction
It should not include period expenses that aren't tied to a specific unit of inventory. Those still matter for your P&L and your tax return. They just live in a different bucket:
- Listing tool subscriptions, photo editing software, SKU or inventory management tools
- Shipping cost to the buyer (a selling expense, not COGS)
- Storage unit rent or shelving (general overhead, not tied to one SKU)
- Platform fees: eBay final value fees, Poshmark's cut, Mercari's selling fee
Both buckets reduce taxable income. The problem is that resellers who only track purchase price under-capture both. They undercount COGS, and they often forget to log operating expenses too, because nothing prompts them per item.
One caution: how you classify and deduct these costs (for example, whether mileage is treated as part of inventory cost or as a separate deduction, and which accounting method you use) depends on your filing situation. Pick one treatment, apply it consistently, and confirm it with a tax professional. The goal is that no cost gets counted twice or dropped.
The Five Hidden Costs Most Resellers Leave Out
These are the costs that quietly disappear between the thrift store register and your Schedule C:
| Cost Component | Purchase-Price-Only Tracking | Full COGS Tracking |
|---|---|---|
| Item purchase price | Included | Included |
| Lot/bulk allocation (per-unit split of a $220 lot of 40 items) | Missed: logged as one lump expense or ignored | Divided per SKU at intake |
| Cleaning supplies (stain remover, dry cleaning fee, odor treatment) | Logged as general supplies, rarely tied to a SKU | Allocated per batch or per item |
| Repair costs (button, zipper, reweave, hem) | Often skipped entirely, treated as a sunk cost | Added to that specific item's cost basis |
| Sourcing mileage and tolls | Not tracked, or tracked as vague "gas" with no per-item link | Allocated across the haul from that trip |
None of these are large individually. That's exactly why they get skipped. A $12 repair or $0.45 in cleaning supplies doesn't feel worth logging. But COGS accuracy is a volume game. A gap of $0.65 per item across 500 items a month is $325 a month, or $3,900 a year, in cost basis you're not claiming.
Two more leaks worth checking: inbound shipping on bulk lots bought online (it belongs in the lot cost before you split it), and items you buy but never sell. Unsold, damaged, or donated inventory has its own tax treatment, so record what happened to it rather than letting it vanish from your books.
How to Calculate Cost of Goods Sold as a Reseller: Step by Step
Here's the procedure that captures full cost basis without turning intake into an accounting exercise:
- Log the purchase price at intake, itemized per unit, not as a single lump sum for the whole trip or lot.
- For bulk buys, add any inbound shipping, tax, or auction fees to the lot total first.
- Allocate the lot cost across items. Divide by item count for a simple average, or weight by estimated resale value if the lot mixes very different worth. A $220 lot of 40 items with basics and one designer coat shouldn't get a flat $5.50 on every piece.
- Add direct prep costs to the specific SKU they apply to. A $12 button repair goes on that item's cost basis, not into a general "supplies" line.
- Add an allocated share of sourcing costs. Track mileage per trip (the IRS standard mileage rate changes yearly, so confirm the current figure), divide by the number of items you brought home, and add the per-item share.
- Exclude anything not tied to a specific unit of inventory. Platform fees, buyer-facing shipping, storage rent, and software subscriptions are operating expenses. Track them separately so you don't double-count or misclassify them.
- Record the total as the item's cost basis in your SKU record before it's listed, not after it sells.
- At reconciliation, compare cost basis against the final sale price (after fees and any partial refund) to get true per-item margin, and roll that into your aggregate COGS for tax filing.
[Screenshot placeholder: intake screen showing purchase price, lot allocation, and prep cost fields on one SKU]
The step that trips up most resellers is step 7. If you wait until the item sells to figure out what it "cost," you'll default to the purchase price because that's the only number you remember. The prep and sourcing costs are gone from memory by then.
A Worked Lot Example
Say you buy a $220 lot of 40 items and pay $18 to ship it in. Lot cost is $238, or $5.95 per item on a flat split. Three items need work: two buttons replaced ($4 each) and one dry-cleaned ($9). You also drove a pickup trip with $14 in mileage and tolls attributable to the lot, which adds $0.35 per item. The cleaned jacket now carries $5.95 + $9 + $0.35 = $15.30 in cost basis, not the $5.50 you would have logged from the sticker price. Sell it for $38 and your margin is computed against the real number.
The Math: What Undercounted COGS Actually Costs You in Taxes
Take a reseller moving 500 items a month, sourcing partly through bulk lots and partly through individual thrift trips. Here is a simplified comparison for that month:
| Purchase-Price-Only COGS | Full COGS (allocated lot, prep, mileage) | |
|---|---|---|
| Average logged cost per item | $5.50 | $6.15 |
| Total COGS for 500 items | $2,750 | $3,075 |
| Difference | $325 in unclaimed cost basis this month | |
That $325 a month is $3,900 over a year. If your combined federal income tax and self-employment tax rate lands around 30% (a planning estimate for many full-time resellers, though yours may differ), that's roughly $1,170 a year in tax paid on costs you actually incurred but never claimed. You didn't choose to skip a deduction. Nothing prompted you to log the spend against the item.
This is an example calculation to illustrate the mechanics, not a tax projection for your business. Your rates, deductions, and filing situation will differ, so talk to a tax professional about your specific numbers. Also keep in mind that platform 1099-K reporting shows gross payments, which makes complete, documented cost basis even more important when you reconcile your return.
Repairs, Grading, and Cost Basis: Where Condition Work Belongs
Repair and cleaning costs aren't just a cost-basis line. They're also a condition change. A missing button replaced, a seam reinforced, or an odor treated can move an item from Good to Very Good on our 1.0-10.0 scale. That shift shows up in Structural Integrity, Functional Elements, and Odor & Cleanliness, three of the five factors we grade: Fabric Condition, Structural Integrity, Cosmetic Appearance, Functional Elements, and Odor & Cleanliness.
When you document that work (what was fixed, what it cost, and how it changed the grade), you get two things at once: an accurate cost basis and a documented reason the item is priced where it is. If a buyer later disputes condition, you have a paper trail showing the repair was made and disclosed. Clear condition records also help cut not-as-described returns, and returns are a line item in your reconciliation, not just a customer service problem.
Tracking COGS Without a Spreadsheet Meltdown
The workflow above is simple in theory and painful in a spreadsheet at 500+ items a month. Lot allocation math, mileage splits, and prep cost tagging are exactly the bookkeeping that gets skipped when you're trying to list 40 items before dinner.
FlipDesk's Reconcile module attaches cost basis to each SKU at intake (purchase price, allocated lot cost, and any logged repair or prep expense) and carries it through to the sale. Your per-item margin and your aggregate COGS total are the same number, calculated once, not reconstructed at tax time from memory and gas receipts.
Start by pulling your last 90 days of purchases. Run the full COGS calculation above on just one lot or one thrift haul. If the gap between purchase-price-only and full COGS surprises you, try Reconcile on a single batch before your next filing.