Inventory

Excel vs Google Sheets for inventory management

Inventory is the case where the collaboration difference stops being a preference and starts deciding whether your numbers are right.

The recommendation, up front

  • One person, one location, month-end counts: Excel. Better analysis, no concurrency problem to solve.
  • Several people recording movements during the day: Google Sheets. Concurrent writes are the whole problem, and it is the only one of the two that solves them.
  • Warehouse floor, scanners, multi-location transfers: neither. Use inventory software and keep the spreadsheet for reporting.

Concurrency is the deciding factor

Two people receiving stock at the same time is not an edge case, it is Tuesday. In Excel that means either a shared workbook with its well-known merge failures, or a convention that one person owns the file — which in practice means movements are recorded on paper and typed up later, which is where the errors come from.

Google Sheets handles it natively. Ten people can append movement rows simultaneously and the balance recalculates for everyone. For anything with more than one person touching stock during the day, this settles it.

Side by side

What matters specifically for stock tracking.
RequirementExcelGoogle Sheets
Concurrent entryPoor; co-authoring conflictsNative, reliable
Mobile entryLimited mobile appFull mobile editing; Forms for structured entry
Scale (SKUs)1M rows; comfortable to ~50k SKUs with Power Query10M cells; comfortable to ~5k SKUs
Reorder alertsConditional formatting; email needs VBAApps Script trigger emails automatically
Barcode inputScanner as keyboard into validated cellSame, plus mobile camera via Forms
Supplier lookupsXLOOKUP over a supplier tableVLOOKUP / QUERY
ABC / valuation analysisPower Pivot, strongQUERY, adequate
Offline warehouseWorksNeeds connectivity

Build it as a movements ledger, not a stock list

The mistake that causes most inventory spreadsheet failures is storing the current quantity as a typed number. Someone overtypes it during a count, and from that moment the file cannot be reconciled against reality.

Record events instead. One row per receipt, issue or adjustment, each with a date, SKU, quantity and reason. Current stock is then a calculation, and it is always reconstructable:

=SUMIFS(Movements[Qty], Movements[SKU], [@SKU])

Reorder status becomes a comparison against a per-SKU threshold rather than a manual flag:

=IF([@OnHand] <= [@ReorderPoint], "REORDER", "OK")

And the reorder point itself should be derived, not guessed — average daily usage times lead time, plus a safety buffer:

=ROUNDUP(AVERAGE(DailyUsage) * LeadTimeDays * 1.2, 0)

Our inventory management template and warehouse stock template are both built this way.

When to stop using a spreadsheet

Any two of these together mean the spreadsheet is now the bottleneck:

  • More than about 50,000 SKUs.
  • Multiple physical locations with transfers between them.
  • Serial or lot tracking with expiry dates.
  • Stock levels that must stay in sync with an online storefront.
  • An audit requirement for who changed what and when.

The usual outcome is not that the spreadsheet disappears; it is that it stops being the system of record and becomes the reporting layer over one.

Get a fixed quote in 15 minutes

✓ We will tell you if you have outgrown a spreadsheet · ✓ Quote in 15 minutes

Inventory FAQ

Scale, concurrency and structure

How many SKUs can a spreadsheet realistically handle?

Up to roughly 5,000 SKUs with a handful of movements each per month, either platform is comfortable. Between 5,000 and 50,000 Excel with Power Query and a data model is the practical choice. Past that, or with barcode scanning and multi-location transfers, you want inventory software with a spreadsheet reporting layer on top.

Can Google Sheets update stock in real time?

In the sense that matters, yes: several people can record movements simultaneously and everyone sees the result immediately, and Apps Script can accept submissions from a form or a scanner app. What it cannot do is guarantee ordering under heavy concurrent writes without <code>LockService</code>.

What is the most common inventory spreadsheet mistake?

Storing the current stock level as a typed number rather than deriving it from movements. Once someone overtypes a computed figure the audit trail is gone and reconciliation becomes guesswork. Record receipts and issues; calculate the balance.

Do I need barcode scanning?

Below a few hundred movements a week, manual entry with validation is fine. Above that, transcription errors dominate. A cheap USB scanner behaves as a keyboard and works straight into a validated cell in either platform.