Skip to content50% off₹750/user/month ₹1,500
SimpleERP

Guide · Inventory

Why your Excel stock register is always wrong, and how to fix it

The sheet says 54 racks, the godown has 49, and nobody can say when the two parted ways.

Updated · 8 min read

In short

An Excel stock register goes wrong because stock is typed in separately from the sale, the purchase and the transfer. The fix is to move stock only when a document posts. SimpleERP does this on every bill, invoice, transfer and adjustment.

Why is an Excel stock register always wrong?

An Excel stock register is wrong because it is a second record typed by hand after the real event. The invoice goes to the customer, the truck leaves, and someone is supposed to update the sheet later. Every gap between the event and the typing is a chance for the numbers to drift.

The sheet is not the problem on its own. Many small businesses run for years on one. The problem is that nothing forces the sheet to agree with the invoices, the bills and the godown. When a number is wrong, there is no trail to say which row broke it.

Below are the five most common failure modes, each with a small example from Lakshmi Steel Furnitures, the fictional Coimbatore business used across these guides.

Failure 1: sales are entered late, or not at all

When sales are typed into the register at the end of the day, the register is wrong for the whole day and stays wrong for every sale that gets missed.

On a busy Saturday the Ukkadam store sells 5 steel racks across three invoices. The salesperson updates the sheet for two of them before closing. On Monday the sheet shows 5 more racks than the shelf, and a customer is promised stock that is not there.

Failure 2: the invoice and the stock live in different files

If the invoice is made in one program and stock is kept in another, nothing links the two, so a cancelled or edited invoice never reaches the stock sheet.

Invoice INV-2026-27-0219 to Ravi Stores is made for 4 racks, then cut to 3 when the customer changes the order. The billing software is corrected. The stock sheet still shows 4 out. The register is now one rack short of reality, and the error will show up only at the next count.

Failure 3: the average cost is never recalculated

Most stock sheets carry one fixed rate per item, so stock value goes stale the moment a purchase comes in at a new price.

Lakshmi Steel had 34 steel racks at ₹3,000 each. It then bought 20 more from Tamil Nadu Steels at ₹3,324. The sheet kept ₹3,000 as the rate.

Excel register (fixed rate)Weighted average
Opening 34 racks34 × ₹3,000 = ₹1,02,00034 × ₹3,000 = ₹1,02,000
Bill: 20 racks at ₹3,32420 × ₹3,000 = ₹60,00020 × ₹3,324 = ₹66,480
Stock on hand: 54 racks₹1,62,000₹1,68,480
Rate per rack₹3,000₹1,68,480 ÷ 54 = ₹3,120
Difference in stock value₹6,480 understated
One purchase at a new price is enough to put the sheet ₹6,480 below the real cost of the stock.

The same stale rate also understates cost of goods sold on every rack sold, so the margin looks better than it is. The weighted average cost guide shows the formula step by step.

Failure 4: godown transfers are agreed by phone

A transfer agreed on a call is recorded on one side, both sides, or neither, depending on who remembers.

The Ukkadam store calls the main godown for 10 racks. The godown manager reduces his column. The store never adds them. The total across both columns is now 10 racks short, though not a single rack has left the business.

Failure 5: nobody owns the count

When no one person is responsible for a warehouse's numbers, differences found at a count are fixed by overwriting the cell, and the reason is lost.

At the half-yearly count, the main godown has 3 racks fewer than the sheet. Someone types the counted number over the old one. Was it a missed sale, damage in loading, or theft? The sheet cannot say, so the same loss happens again before the next count.

What does a stock register need that Excel does not enforce?

A reliable stock register is a movement ledger: every change in quantity is a row that points to the document that caused it, and the balance is the sum of those rows.

Typical Excel columnWhat it holdsMovement ledger equivalent
Item nameFree text, often spelt two waysOne product record with one unit
Opening qtyTyped once a yearOpening stock posted as a dated movement with a cost
InTyped from the bill, sometimesPosted by the supplier bill itself
OutTyped from the invoice, sometimesPosted by the invoice itself, at the current average cost
RateOne fixed numberWeighted average recalculated on every receipt
Godown columnsOne column per site, edited separatelyQuantity per warehouse; a transfer moves both sides at once
Closing qtyA formula anyone can overwriteThe sum of movements; no one types it
RemarksOptional, usually emptyA reason on every adjustment, plus who posted it and when
The Excel columns and the ledger hold the same facts. The ledger takes each one from a document instead of a person's memory.

How do you fix an Excel stock register?

You fix it by changing where stock numbers come from, not by adding more columns. Four principles cover the five failures above.

  1. Stock moves only when a document posts

    A sale reduces stock because the invoice posted, and a purchase increases it because the bill posted. No one edits a quantity directly. This closes failures 1 and 2.

  2. Use one cost method and let it run

    Pick weighted average with your accountant and apply it on every receipt. The rate is calculated, never typed. This closes failure 3.

  3. Correct stock with a count adjustment and a reason

    When the count differs, post an adjustment that records the counted quantity and why (count difference, damage, theft). The old number stays in the history. This closes half of failure 5.

  4. Give each warehouse one owner

    One named person answers for each godown's count and approves transfers out of it. Transfers are posted as documents, so both sides move together. This closes failure 4 and the rest of failure 5.

Before switching anything, it helps to run a quick check on the sheet you have today.

  • Every item has one name and one unit (box or piece, not both)
  • Each "Out" entry can be traced to an invoice number
  • Each "In" entry can be traced to a supplier bill
  • The rate column changed after the last purchase at a new price
  • Every godown-to-godown move appears in both columns on the same date
  • The last count difference has a written reason
  • Each warehouse has one person who signs off its count

If more than two of these fail, the sheet is costing you more time than it saves. Two related guides go deeper: negative stock and how to fix it covers what happens when the register goes below zero, and stock audit and physical count shows how to run a count in a day and post the differences.

How does SimpleERP keep the stock register right?

In SimpleERP, stock moves only from posted documents: supplier bills, invoices, credit and debit notes, adjustments, transfers and work orders. Posting an invoice writes the stock issue, cost of goods sold, the receivable and GST in one step, so the sale and the stock can never disagree.

  • Weighted average cost per product across the organisation, with quantities kept per warehouse.
  • Transfers between warehouses move both sides in one document.
  • Stock adjustments in count mode: enter what you counted, pick a reason, and the difference posts.
  • Posted documents cannot be edited; a cancellation reverses them, and the audit history shows who did what.
  • The stock screen shows total stock value beside the Inventory account balance and the difference between them, as a monthly self-check.
  • Opening stock comes in by product, by adjustment, or by a product CSV import.

Illustration of stock on hand by warehouse at average cost, with a low-stock row highlighted and a movement ledger.

Stock on hand per warehouse at weighted average cost, built only from posted documents.

See the inventory management page for the stock screens. If you are planning the move off spreadsheets, the switching from Tally and Excel guide covers what to move and when, and moving from Tally or Excel shows how SimpleERP fits that switch.

FAQ

Questions, answered

Why does my Excel stock not match physical stock?

Because the sheet is updated by hand after each sale, purchase and transfer, and some updates are late, wrong or missing. Cancelled invoices, one-sided transfers and overwritten counts are the usual causes. A system where documents move stock removes the hand step.

Can I keep a stock register in Excel at all?

Yes, for a handful of items and one location, if one person updates it the same day from every bill and invoice. It becomes unreliable once more than one person sells, stock sits in more than one godown, or purchase prices change often.

What columns should a stock register have?

At minimum: date, document number, item, unit, warehouse, quantity in, quantity out, cost per unit, running quantity and running value. The document number is the column most sheets skip, and it is the one that lets you trace a difference.

How do I correct stock after a physical count?

Post an adjustment that records the counted quantity and a reason, such as count difference or damage, rather than overwriting the old number. The difference is then valued at average cost and the history shows what changed and why.

Can I import my Excel stock into SimpleERP?

Yes. SimpleERP imports products with their opening stock by CSV. You can also enter opening stock per product or post it as an adjustment. Customers and suppliers can be imported from a spreadsheet too.

Run your whole business from one simple place.

Seven days free. No card. Your first GST invoice in minutes.