Example scenario · illustrative, not a real seller
An example sweater bought for $6 sells for $40 plus $8 shipping. With fees and label entered the same day, its row shows a $29.65 surplus in seconds.
What you’ll get
- What the IRS says a record system needs.
- Fifteen columns, with an example for each.
- A surplus column and why it isn’t profit.
- Consistent status words that make filters work.
- A monthly review routine.
The notebook that couldn't answer a question
Most resellers start with a notebook or the notes app: "Blue jacket, $8, Goodwill." It works for twenty items. At two hundred, simple questions stop having quick answers. What did I pay for the jacket that just sold? How much stock have I had for more than six months? What did shipping actually cost me last month? A spreadsheet with the right columns answers all three in seconds, and it doesn't need formulas beyond addition and subtraction.
This guide builds a reselling inventory spreadsheet, based on IRS guidance on what records to keep and how to record business transactions, and IRS Publication 538 on inventories, checked November 8, 2026. It's a practical records template, not tax advice.
What the IRS says a record system needs
The IRS says you may choose any recordkeeping system suited to your business that clearly shows your income and expenses, and that electronic records must meet the same requirements as paper ones. It lists supporting documents such as sales slips, paid bills, invoices, receipts and deposit slips, and describes purchases as the items you buy and resell to customers. The IRS transactions page suggests recording expenses when they occur, identifying the sources of income, and generally recording transactions daily.
A spreadsheet is the summary; the receipts and platform reports are the evidence behind it. Keep both. The tax records manual covers what to keep and for how long.
Step 1: Set up the columns
One row per item. These are the columns that answer the most questions:
| Column | Example | Why |
|---|---|---|
| SKU | SW-2611-015 | Links the row to the item, photos and listings |
| Date acquired | 2026-11-07 | Aging and records |
| Source | Thrift store, estate sale | Where your best buys come from |
| Description | Wool sweater, M, navy | Identification |
| Cost | 6.00 | Purchase cost |
| Location | B4 | Where to find it |
| Status | Listed, sold, returned, donated | Current state |
| Date listed | 2026-11-08 | Time to list |
| Platform | eBay, Mercari, both | Where it's listed |
| Sale date | Filled when sold | |
| Sale total received | What the buyer paid, including shipping | |
| Fees | Platform and payment fees | |
| Label and packing | Shipping cost you paid | |
| Packed weight and box | 1 lb 2 oz, poly mailer | Next time's shipping estimate |
| Notes | Small mark on cuff | Condition notes and claims |
Step 2: Add the one calculated column
Add a "Surplus" column: sale total received minus cost minus fees minus label and packing. It isn't profit in a tax sense, because it ignores your time, supplies bought in bulk, mileage and other overheads, but it shows which items earned their space. The payout is not profit manual explains the difference.
Worked example: one row from purchase to sale
In this chosen example, a sweater bought for $6.00 sells for $40.00 plus $8.00 shipping paid by the buyer.
| Field | Value |
|---|---|
| Sale total received | $48.00 |
| Cost | $6.00 |
| Fees (chosen example) | $6.95 |
| Label and packing (chosen example) | $5.40 |
| Surplus | $48.00 − $6.00 − $6.95 − $5.40 = $29.65 |
The fee and label amounts are examples, not any platform's current rates. Use the numbers on your own sale record. The calculator below runs the same arithmetic with your figures.
Step 3: Use status values consistently
Pick a short list of status words and never improvise: Intake, Untested, Listed, Sold, Shipped, Returned, Donated, Discarded. Filtering by status then gives you instant lists, such as everything still untested, or everything sold but not shipped. A data validation dropdown in most spreadsheet apps keeps the words consistent.
Step 4: Record sales the day they happen
Fill the sale row when the order arrives, not at the end of the month. Copy the fee and shipping figures from the platform's order page. Daily entry matches the IRS suggestion to record transactions as they occur, and it's much faster than reconstructing a month from statements.
Step 5: Add a second tab for non-item costs
Supplies, mileage, storage and subscriptions don't belong to one item. Keep them on a separate tab with date, description, amount and category. The mileage records guide covers what a mileage log needs.
Step 6: Review monthly
Once a month, sort by date acquired and look at anything unsold for six months or more. Filter by source to see which stores produce your best surplus. Total the sold rows' fees and labels to check your shipping charges are covering costs. The stocktake guide explains checking the sheet against the shelves.
Back it up: Keep the spreadsheet in a place that's backed up automatically, and save a dated copy at the end of each month and year.
Keep personal data out
Don't record buyer names or addresses in the sheet. Order numbers are enough to find a sale in the platform if you need the details.
Common mistakes
- Recording only the item price and not the shipping the buyer paid.
- Leaving fees and labels blank and estimating later.
- Using different words for the same status.
- Mixing supply purchases into item rows.
- Treating the surplus column as taxable profit.
Twelve columns and a habit
A spreadsheet only answers questions if every sale is entered the day it happens. Set the columns once, keep status words consistent, and review the sheet monthly against the shelves.
Worked example · hypothetical, not a real seller
Keep the example in view
| Chosen field | Value |
|---|---|
| Sale total received | $48.00 |
| Cost | $6.00 |
| Fees (example) | $6.95 |
| Label and packing (example) | $5.40 |
| Surplus | $29.65 |
Chosen example · edit the numbers
Enter the sale total received, the item cost, and fees plus label and packing.
Illustrative inputs, not market benchmarks or an achieved outcome. Scratchpad values stay in tab memory, not saved by this application. Reload to reset.
Before the next transaction
With JavaScript and browser storage, only checked-step IDs can stay on this device. No buyer details or amounts are saved.
Practical questions
What records does the IRS want resellers to keep?
The IRS says you can use any system that clearly shows income and expenses, supported by documents such as sales slips, invoices, receipts and deposit slips.
Is the surplus column my profit?
No. It ignores your time, bulk supplies, mileage and other overheads, and it isn’t a tax calculation; it shows which items earned their space.
How often should I update the spreadsheet?
The IRS suggests recording transactions as they occur, generally daily. Entering each sale the day it happens is faster than rebuilding a month later.
Should buyer names go in the sheet?
No. Order numbers are enough to find a sale on the platform when you need details.
Do this next · one concrete move