Every serious restocker eventually reaches a point where keeping track of purchases, expenses, profits, and upcoming drops in their head is no longer sustainable. A well-built tracking spreadsheet is the foundation of organized restocking. It helps you understand your true profit margins, identify which products and retailers are worth your time, and keeps your records clean for tax season.

This guide walks you through building a comprehensive restock tracking spreadsheet from scratch using Google Sheets or Microsoft Excel. Whether you buy five items a month or fifty, this system scales with you.

Why You Need a Tracking Spreadsheet

Before diving into the build, let us establish why a spreadsheet is essential for anyone who takes restocking seriously.

Financial Clarity

Without tracking, most restockers overestimate their profits. When you account for shipping costs, platform fees, packaging materials, return shipping, and the occasional loss, the numbers often look very different from what you expected. A spreadsheet gives you an honest picture of your margins.

Tax Preparation

If you are restocking as a side hustle or business, you are legally required to report your income. A well-maintained spreadsheet makes tax season painless instead of a scramble through old receipts and bank statements. Our restock tax guide covers what you need to report, and a good spreadsheet is the starting point.

Pattern Recognition

Tracking your purchases over time reveals patterns. You might discover that certain product categories consistently earn higher margins, that specific retailers are more profitable than others, or that your success rate varies by day of the week. These insights help you focus your energy where it matters most.

Inventory Management

If you are holding multiple products at any given time, you need to know what you have, what it cost, and where it is in the selling process. A spreadsheet serves as your inventory management system without the cost of dedicated software.

Choosing Your Platform

The two main options for building your spreadsheet are Google Sheets and Microsoft Excel. Both work well, but they have different strengths.

FeatureGoogle SheetsMicrosoft Excel
CostFreeRequires Microsoft 365 subscription
CollaborationExcellent (real-time sharing)Good (OneDrive sharing)
Offline accessLimitedFull
Formulas and functionsStrongStrongest
Mobile accessGood (Google Sheets app)Good (Excel app)
Data validationGoodExcellent
Macros and automationApps Script (JavaScript)VBA (Visual Basic)
TemplatesMany free optionsMany free options

For most restockers, Google Sheets is the better choice because it is free, accessible from any device, and easy to share if you work with a partner or need to show records to an accountant. This guide uses Google Sheets, but all concepts apply to Excel with minimal adjustments.

Setting Up Your Workbook Structure

A comprehensive restock tracking workbook should contain multiple sheets (tabs), each serving a specific purpose. Here is the recommended structure:

  1. Purchase Log — Every item you buy
  2. Sales Log — Every item you sell
  3. Expense Tracker — All business-related expenses
  4. Inventory — Current items in stock
  5. Dashboard — Summary metrics and charts
  6. Drop Calendar — Upcoming restocks to monitor

Let us build each one.

Sheet 1: Purchase Log

The Purchase Log is the most important sheet. Every item you buy gets a row here, no exceptions.

Column Structure

Set up the following columns in Row 1:

ColumnHeaderData TypeExample
APurchase DateDate01/15/2026
BProduct NameTextNike Dunk Low Panda
CSKU/Style CodeTextDD1391-100
DSizeText10.5
ERetailerTextNike.com
FRetail PriceCurrency$110.00
GTaxCurrency$9.35
HShipping CostCurrency$0.00
ITotal CostCurrency (formula)$119.35
JPayment MethodTextChase Freedom
KCashback EarnedCurrency$2.39
LOrder NumberTextC12345678
MStatusDropdownIn Hand / Shipped / Returned
NNotesTextSize swap if possible

Key Formulas

Total Cost (Column I): This should be a formula that sums the retail price, tax, and shipping:

=F2+G2+H2

Net Cost After Cashback: You can add an additional column that subtracts cashback from total cost:

=I2-K2

For more on maximizing cashback, see our cashback stacking guide.

Data Validation Tips

Use Google Sheets’ data validation feature to create dropdown menus for columns that have a limited set of values:

  • Retailer: Create a list of retailers you buy from (Nike, Adidas, Best Buy, Target, Walmart, etc.)
  • Payment Method: List your credit cards and PayPal
  • Status: In Hand, Shipped to Buyer, Listed, Returned, Keeping

Dropdowns prevent typos and make filtering and pivot tables work correctly.

Sheet 2: Sales Log

The Sales Log tracks every item you sell. It connects back to the Purchase Log so you can calculate profit per item.

Column Structure

ColumnHeaderData TypeExample
ASale DateDate02/01/2026
BProduct NameTextNike Dunk Low Panda
CSKU/Style CodeTextDD1391-100
DSizeText10.5
EPlatformTextStockX
FSale PriceCurrency$165.00
GPlatform FeesCurrency$15.68
HShipping CostCurrency$7.99
INet RevenueCurrency (formula)$141.33
JPurchase CostCurrency (lookup)$119.35
KProfitCurrency (formula)$21.98
LProfit MarginPercentage (formula)18.4%
MDays HeldNumber (formula)17
NBuyerTextStockX Order #789

Key Formulas

Net Revenue (Column I):

=F2-G2-H2

Profit (Column K):

=I2-J2

Profit Margin (Column L):

=K2/J2

Days Held (Column M):

=A2-VLOOKUP(C2,'Purchase Log'!C:A,MATCH("Purchase Date",'Purchase Log'!1:1,0)-MATCH("SKU/Style Code",'Purchase Log'!1:1,0)+1,FALSE)

A simpler approach for Days Held is to manually enter the purchase date in an additional column and use a straightforward subtraction formula.

Platform Fee Reference

Different selling platforms charge different fees. Keep this reference handy:

PlatformSeller FeePayment ProcessingShipping
StockX8-10% (level dependent)IncludedSeller pays (~$7-14)
GOAT9.5-25% (level dependent)IncludedSeller pays (~$7-14)
eBay12-13% (category dependent)IncludedVaries
Mercari10%IncludedVaries
Facebook Marketplace0% (local) / 5% (shipped)VariesVaries
Depop0% (with Depop Payments)3.3% + $0.45Varies

For more on selling platforms, check our guides on how to sell on StockX and how to sell on GOAT.

Sheet 3: Expense Tracker

The Expense Tracker captures all costs that are not tied to a specific product purchase but are necessary for your restocking operation.

Column Structure

ColumnHeaderExample
ADate01/01/2026
BCategorySubscription
CDescriptionDiscord cook group membership
DAmount$30.00
EPayment MethodChase Freedom
FRecurringMonthly
GNotesCancel if not using

Common Expense Categories

  • Subscriptions: Discord cook groups, monitor services, bot rentals
  • Shipping supplies: Boxes, tape, labels, bubble wrap, tissue paper
  • Software: Spreadsheet tools, inventory management apps
  • Equipment: Phone stands, extra monitors, label printer
  • Transportation: Gas for in-store pickups, parking fees
  • Platform fees: Monthly subscription fees for selling platforms
  • Internet: Portion of internet bill used for restocking

Tracking these expenses is critical because they directly reduce your taxable profit. Many restockers forget to account for the $30/month cook group, the $15 shipping label printer paper, or the gas money for in-store pickups. Over a year, these forgotten expenses can add up to hundreds of dollars in unnecessary tax payments.

Sheet 4: Inventory

The Inventory sheet provides a real-time snapshot of what you currently have in stock.

Column Structure

ColumnHeaderExample
AProduct NamePS5 Digital Edition
BSKUCFI-2000
CSize/VariantDigital
DPurchase Date01/10/2026
EPurchase Cost$399.99
FEstimated Value$450.00
GPotential Profit$50.01
HDays in Inventory14
IListed OnStockX, eBay
JAsk Price$460.00
KLocationHome closet

Keeping Inventory Updated

The Inventory sheet should be updated whenever you make a purchase (add a row) or complete a sale (remove a row). You can automate this with formulas that reference the Purchase Log and Sales Log, but manual management is simpler and less error-prone for most people.

A useful formula for Days in Inventory:

=TODAY()-D2

This automatically updates every day, showing you how long each item has been sitting unsold. Items that have been in inventory for more than 30 days should be repriced or moved to a different selling platform.

Sheet 5: Dashboard

The Dashboard aggregates data from your other sheets into key metrics that give you an at-a-glance view of your restocking performance.

Key Metrics to Display

Create a clean section at the top of the Dashboard with these metrics:

Revenue Metrics:

  • Total Revenue (sum of all sales)
  • Total Cost of Goods Sold (sum of all purchase costs)
  • Total Expenses (sum of expense tracker)
  • Net Profit (Revenue minus COGS minus Expenses)
  • Average Profit Per Item
  • Average Profit Margin

Activity Metrics:

  • Total Items Purchased (this month / this year)
  • Total Items Sold (this month / this year)
  • Current Inventory Count
  • Current Inventory Value
  • Average Days to Sell

Performance Metrics:

  • Most Profitable Product
  • Most Profitable Retailer
  • Best Selling Platform
  • Win Rate (successful checkouts vs. attempts)

Building Charts

Google Sheets makes it easy to create charts that visualize your data. Useful charts include:

  • Monthly profit trend (line chart showing profit over time)
  • Revenue by platform (pie chart showing which platforms generate the most sales)
  • Profit by product category (bar chart comparing sneakers, electronics, etc.)
  • Inventory age distribution (histogram showing how long items sit before selling)

Sheet 6: Drop Calendar

The Drop Calendar helps you plan ahead by tracking upcoming restocks and releases. For a more robust calendar solution, see our guide on setting up a restock calendar with Google Calendar.

Column Structure

ColumnHeaderExample
ADate02/15/2026
BTime10:00 AM EST
CProductAir Jordan 4 Retro
DRetailerNike SNKRS
EEstimated Retail$210.00
FEstimated Resale$350.00
GRelease TypeFCFS / Draw / Raffle
HPriorityHigh / Medium / Low
INotesSet alarm, pre-login 15 min early

Prioritization Framework

Not every restock deserves your full attention. Use the Priority column to rank drops based on:

  • Estimated profit margin (higher margin = higher priority)
  • Likelihood of success (higher stock = higher priority)
  • Time investment (quick FCFS vs. long raffle process)
  • Personal interest (do you actually want this product?)

Automation and Advanced Features

Once your basic spreadsheet is running, consider these enhancements.

Conditional Formatting

Use conditional formatting to make your spreadsheet scannable at a glance:

  • Green for profit margins above 20%
  • Yellow for margins between 10% and 20%
  • Red for margins below 10% or losses
  • Orange for inventory items older than 30 days
  • Bold for high-priority drops in the calendar

VLOOKUP and INDEX/MATCH

Use lookup formulas to automatically pull purchase cost into the Sales Log when you enter a SKU, eliminating manual data entry and reducing errors.

Google Apps Script Automation

For advanced users, Google Apps Script can automate repetitive tasks:

  • Automatically move items from Purchase Log to Inventory when status changes to “In Hand”
  • Send email notifications when inventory items have been unsold for more than a specified number of days
  • Generate monthly reports summarizing your performance
  • Auto-populate the Drop Calendar from a shared Google Calendar

Integration with Other Tools

Your spreadsheet can integrate with other tools in your restocking workflow:

  • Google Forms: Create a quick-entry form on your phone for logging purchases on the go
  • Zapier or Make: Connect your email to automatically log order confirmations
  • Google Calendar: Sync your Drop Calendar sheet with Google Calendar for notifications

For more on building a comprehensive notification system, check out our restock notification stack guide.

Templates and Getting Started

Rather than building from scratch, you can start with a template and customize it. Here is a simplified version of the column structure you can copy directly into a new Google Sheet.

Quick Start Steps

  1. Open Google Sheets and create a new workbook
  2. Rename the first sheet to “Purchase Log”
  3. Add the column headers listed above in Row 1
  4. Freeze Row 1 (View > Freeze > 1 row) so headers stay visible while scrolling
  5. Set up data validation dropdowns for Retailer, Payment Method, and Status columns
  6. Create additional sheets for Sales Log, Expenses, Inventory, Dashboard, and Drop Calendar
  7. Enter your first few purchases to test the formulas
  8. Set up conditional formatting on the Profit and Margin columns

Maintenance Schedule

A spreadsheet is only useful if you keep it updated. Build these habits:

  • After every purchase: Add a row to the Purchase Log within 24 hours
  • After every sale: Add a row to the Sales Log and remove the item from Inventory
  • Weekly: Update estimated values in Inventory, review Drop Calendar for the upcoming week
  • Monthly: Review Dashboard metrics, identify trends, adjust strategy
  • Quarterly: Back up your spreadsheet, review expenses, prepare for tax reporting

Common Mistakes to Avoid

Not Tracking Small Costs

Shipping supplies, gas for pickups, and platform subscription fees eat into your margins. Track every expense, no matter how small. A $5 roll of tape might seem insignificant, but if you buy one every month, that is $60 per year subtracted from your profit.

Mixing Personal and Business Purchases

If you are restocking for profit, keep your restock purchases separate from personal purchases. Use a dedicated credit card or payment method so your spreadsheet reflects only business activity. This also simplifies tax preparation.

Over-Complicating the Spreadsheet

Start simple and add complexity only when you need it. A Purchase Log and Sales Log with basic profit calculations will serve most restockers well. Do not spend hours building an elaborate dashboard when you have only ten transactions to analyze.

Not Backing Up Your Data

Google Sheets auto-saves to the cloud, but it does not protect against accidental deletion. Periodically download a copy (File > Download > Microsoft Excel) and store it on your computer or an external drive.

FAQ

Do I really need a spreadsheet if I only buy a few items per month?

Even for small-scale restockers, a spreadsheet provides value by showing you your true profit margins after all costs are accounted for. Many casual restockers are surprised to find they are barely breaking even or losing money once they factor in shipping, fees, and supplies. Starting with a simple Purchase and Sales Log takes minimal effort and prevents costly blind spots.

Can I use a note-taking app instead of a spreadsheet?

You can, but you lose the ability to use formulas for automatic calculations, charts for visual analysis, and sorting and filtering for pattern recognition. Note apps are fine for tracking upcoming drops but fall short for financial tracking. A spreadsheet is purpose-built for the kind of numerical analysis that restocking demands.

How do I handle returns in my spreadsheet?

When you return a product, update the Status column in your Purchase Log to “Returned” and add a note with the refund amount and date. If there was a return shipping cost, log it in the Expense Tracker. For your Dashboard calculations, you can either exclude returned items entirely or account for the return shipping cost as a loss. Consistency is more important than which method you choose.

Should I track failed checkout attempts?

Tracking failed attempts is optional but valuable. It gives you a win rate percentage that helps you evaluate whether your current setup and strategies are effective. You can add a simple “Attempts” column to your Drop Calendar and mark whether each attempt was a W (win) or L (loss).

Is there a better alternative to spreadsheets for restock tracking?

Dedicated inventory management tools like Sortly, inFlow, or Airtable offer more features than spreadsheets, including barcode scanning, image storage, and multi-user access. However, they come with subscription costs and learning curves. For most individual restockers, a well-built Google Sheet provides 90% of the functionality at zero cost. Consider upgrading to a dedicated tool only when your volume exceeds what a spreadsheet can comfortably handle, typically around 100 or more transactions per month.