How to Track Inventory with Google Sheets (Free Method)

SheetFix AI

You don't need inventory software to keep accurate stock counts — a well-built Google Sheet does the job for free, and it updates itself as you log movements. Here's how to build one from scratch.

The two-tab structure. Use a Products tab (the master list) and a Movements tab (every stock-in and stock-out). Keeping movements separate from the master list is what makes the sheet scale — you never overwrite quantities, you just log changes.

Set up the Products tab. Columns: Product, SKU, Starting Qty, Reorder Point. One row per item.

Set up the Movements tab. Columns: Date, SKU, Type (In/Out), Quantity. Every delivery and every sale gets a row.

Calculate stock on hand. On the Products tab, total the ins and outs per SKU and combine with the starting quantity. Cleaner is to total ins and outs separately:

Total in:   =SUMIFS(Movements!D:D, Movements!B:B, B2, Movements!C:C, "In")
Total out:  =SUMIFS(Movements!D:D, Movements!B:B, B2, Movements!C:C, "Out")
On hand:    =StartingQty + TotalIn - TotalOut

Add a low-stock flag. Compare stock on hand to the reorder point:

=IF(OnHand<=ReorderPoint,"REORDER","OK")

Then add conditional formatting (Format › Conditional formatting) to turn "REORDER" cells red so they're impossible to miss.

Make it auto-expand with ARRAYFORMULA. Instead of dragging formulas down as you add products, write one ARRAYFORMULA in the header row so the whole column fills automatically:

=ARRAYFORMULA(IF(A2:A="","",B2:B + ... ))

This is the Google Sheets advantage — new rows are handled without touching the formula.

Connect it to a form. Link a Google Form to the Movements tab so staff can log stock changes from a phone. New submissions flow straight in and your counts update live. (See the Google Forms order sheet idea for the same pattern applied to sales.)

A few good habits. Use data validation to restrict the Type column to "In" and "Out" only (no typos to break your SUMIFS). Keep SKUs consistent — a trailing space makes "ABC123 " a different item from "ABC123." And lock the formula cells so they don't get overwritten during data entry.

That's a complete, self-updating inventory system with nothing but built-in functions.

Related: Google Sheets vs Excel: Which Formulas Work the Same? · Inventory Tracker Template