Free reselling tracker spreadsheet (Google Sheets & Excel), and when to move to software
Download a working reselling tracker for Google Sheets or Excel: one row per pair, payout, profit and days-to-sell calculated for you, and sales totals by marketplace and month. Then read the part most templates skip: the point where one pair live on several marketplaces makes any spreadsheet the wrong tool.
Download the free reselling tracker spreadsheet
Reseller inventory tracker (.xlsx) for Google Sheets and Excel. Four tabs: How to use, Inventory with payout, profit, ROI and days-to-sell formulas on 1,000 pre-built rows, Sales summary with totals by marketplace and by month, and Lists for the marketplace and status dropdowns.
The tracker follows one rule: one row per physical unit you own. Two pairs of the same style code in the same size are two rows, because they rarely share a purchase price, a sale date or a marketplace. You type into the white columns; the grey columns are formulas and fill themselves as soon as a sale is recorded. Two example rows show the pattern. Delete them before you start.
Open it in Google Sheets or Excel
Google Sheets
- Download the .xlsx file.
- In Google Drive choose New → File upload and pick the file, then open it. Sheets edits it as an Excel file.
- To convert it into a native Google Sheet, choose File → Save as Google Sheets. The formulas and dropdowns carry over.
Already have a blank sheet open? Use File → Import → Upload, pick the file and choose Replace spreadsheet so all four tabs come across.
Excel
Open the .xlsx directly. Files downloaded from the internet usually open in Protected View: click Enable Editing so the formulas calculate. Excel for the web opens it once the file is in OneDrive, and LibreOffice Calc opens it too.
Every formula uses functions both Google Sheets and Excel support (IF, SUM, SUMIFS, COUNTIFS, AVERAGE, DATE). There are no macros and no scripts to authorise.
What each column does
| Column | Type | What it is for |
|---|---|---|
| SKU / style code | Enter | The manufacturer style code (for example DD1391-100). It is the key every marketplace catalogue matches on. |
| Product | Enter | A readable name so the row makes sense without looking the code up. |
| Size | Enter | Include the scale (EU 42.5, US 9, UK 8). Marketplaces do not all use the same size system. |
| Purchase date | Enter | Starts the days-to-sell clock. |
| Purchase price | Enter | What the unit really cost you, including any shipping or import costs you paid to get it in hand. |
| Marketplace | Dropdown | Where the unit sold, or where it is listed until then. Edit the list on the Lists tab. |
| Listed price | Enter | Your current ask, for reference while the unit is unsold. |
| Sale date | Enter | Leave empty until it sells. An empty sale date is how the summary knows the unit is still stock. |
| Sale price | Enter | The sale price the marketplace shows for the order. |
| Fees | Enter | Everything deducted before you are paid: commission, payment processing, shipping, cash-out. Copy it from the order's payout breakdown. |
| Payout | Formula | Sale price minus Fees. It should match what reaches your account. |
| Profit | Formula | Payout minus Purchase price. Turns red when a sale lost money. |
| ROI | Formula | Profit divided by Purchase price. |
| Days to sell | Formula | Sale date minus Purchase date: how long your money sat in the unit. |
| Status | Dropdown | In hand, Listed, Sold or Returned. |
| Notes | Enter | Order ID, defects, box condition, or which other sites the unit is also listed on. |
The Sales summary sheet
The summary reads the Inventory tab and needs no input except the year.
- Totals: units recorded, sold and unsold; total spent; unsold stock at cost (the cash still tied up in inventory); revenue, fees, payout and profit on sold units; ROI on sold units; average days to sell.
- By marketplace: units sold, revenue, fees, payout, profit and average days to sell for every marketplace on the Lists tab. Sales tagged with a marketplace that is not on the list are counted in a catch-all row, so nothing silently disappears.
- By month: the same figures per month of the sale date, plus a year total. Change the year cell to look at another year.
Record money in one currency. If you sell in euros and pounds, convert to your reporting currency before you type the figures, or the totals mix units.
Three rules keep the tracker usable
- One row equals one owned unit. Quantity can summarize stock, but unit rows are safer once purchase cost, condition or sale state differs.
- Cross-listings are not new rows. A pair live on three marketplaces is still one row. Record the other listings in Notes or in a separate listings tab that references the row, never as extra stock.
- Status has one owner. Decide who records intake, sale, return and cancellation, and when.
The spreadsheet fails less because of missing columns than because two people or two marketplace exports can overwrite the same truth.
A daily spreadsheet workflow
At intake, add the row with style code, size, purchase date and price, and set Status to In hand. When you list, set Marketplace, Listed price and Status. At the start and end of each day, check every marketplace for sales, fill in Sale date, Sale price and Fees, set Status to Sold, and remove the unit's listings on every other site before a second buyer orders it.
Run a weekly exception check: duplicate rows for the same unit, Listed rows that already sold elsewhere, Sold rows without fees, missing purchase prices. These checks are the manual substitute for application constraints.
Spreadsheet vs inventory software
| Need | Spreadsheet | Connected software |
|---|---|---|
| Custom fields | Fast and flexible | Structured, sometimes configurable |
| One unit across marketplaces | Manual linked rows | Inventory-to-listing relationship |
| Sale detection | CSV or manual entry | Marketplace sync |
| Delist after sale | Manual and time-sensitive | Automated on supported channels |
| Audit trail | Version history | Statuses, orders and documents |
| Repricing | Formulas plus manual updates | Marketplace-aware controllers and floors |
You have outgrown the sheet when coordination is the job
The threshold is not a particular number of pairs. Move when two or more of these become routine: the same unit is live on three or more sites; sales are discovered late; quantity differs between marketplaces; repricing consumes an evening; several people edit the file; or month-end means rebuilding payouts and documents from exports.
That is coordination debt. More formulas can hide it for a while, but they cannot make a marketplace push a sale into the sheet or remove the matching listing elsewhere. That is the job of sneaker inventory management software: owned stock, live listings, confirmed sales and payouts kept connected across marketplaces instead of by convention.
Migrate without losing the source of truth
- Freeze new columns and remove duplicate rows for the same unit.
- Normalize style code, size scale, currency, condition and status values.
- Separate owned units, live listings and completed sales.
- Import a small batch and reconcile it against the physical shelf.
- Connect one marketplace, verify sale and delisting behaviour, then add the rest.
- Keep the old file read-only as a dated archive.
RestocksAIO's CSV import provides the bridge; Inventory and Listings then maintain the relationship the spreadsheet previously represented by convention. If you want a unit-level layout that maps cleanly onto an import (inventory ID, size region, landed cost and currency, storage location, listing and order IDs), start from the sneaker inventory CSV template.
