Most businesses know they should keep a stock register. Fewer are sure what it has to contain, and fewer still keep one that still agrees with the shelf by the end of the month. This guide covers the stock register format, what GST actually requires, and the entries that quietly break it.
The one equation behind every stock register
Strip away the columns and a stock register is one calculation, repeated:
Closing stock = Opening stock + Stock received − Stock issued
The important part is the loop at the end: today’s closing balance is tomorrow’s opening balance. That is why a single missed entry does not stay a single missed entry — it shifts every balance that follows it.
What GST actually requires
This is not only good practice. Rule 56 of the CGST Rules requires every registered person — other than one paying tax under the composition scheme — to maintain accounts of stock for goods received and supplied.
Those accounts must contain:
- the opening balance
- receipts and supplies
- goods lost, stolen, destroyed, written off, or disposed of by gift or free sample
- the balance of stock, including raw materials, finished goods, scrap and wastage
Composition dealers are exempt from maintaining stock accounts — see the GST composition scheme for what that scheme does and does not cover.
The columns you actually need
A workable register needs six columns. More is fine; fewer starts causing arguments.
| Column | What goes in it |
|---|---|
| Date | When the movement happened |
| Particulars | What it was — purchase, sale, return, write-off |
| Document | The invoice, purchase bill or challan number it ties to |
| In | Quantity received |
| Out | Quantity issued |
| Balance | The running result after this row |
Two rules make the difference between a register that holds up and one that does not:
- Every row points at a document. A movement with no invoice, bill or note behind it cannot be checked later.
- The balance is never typed in. It is always the previous balance plus In minus Out. The moment somebody “corrects” a balance directly, the register stops being a record and becomes an opinion.
The entries everyone forgets
Ask most shopkeepers what goes in the stock register and you get purchases and sales. That is where registers drift, because stock leaves the business in other ways too — and Rule 56 names them explicitly:
| Movement | Often recorded? |
|---|---|
| Purchase | ✅ Yes |
| Sale | ✅ Yes |
| Sales return / purchase return | Sometimes |
| Damaged or expired stock written off | ❌ Rarely |
| Lost or stolen goods | ❌ Rarely |
| Free samples and gifts | ❌ Rarely |
| Goods taken for personal or shop use | ❌ Rarely |
| Transfers to another location | ❌ Rarely |
None of these are sales, so none produce an invoice — which is exactly why they get missed. Each one is stock that has physically gone, and a register that does not record them will read higher than the shelf, permanently.
If you deal in perishables, the write-off column is not optional. Batch and expiry tracking exists precisely because expired stock is stock that must come off the books.
More than one location
If you keep stock in a shop and a godown, a single total tells you how much but never where. The register should show each location separately with a combined total — otherwise the first time you try to fulfil an order you discover the pieces are forty kilometres away.
Why paper registers drift
A stock register kept separately from your billing is, structurally, a second set of books. Every sale has to be written twice: once on the invoice, once in the register. It works for exactly as long as everyone remembers — and the day the shop is busy is the day it stops working.
The drift is rarely dramatic. A missed write-off here, an unrecorded transfer there, and three months later the register says 140 and the shelf says 118, with no way to find where the gap opened.
Worth confirming: record-keeping requirements vary with registration type and business activity. Treat this as the general shape of the rules and confirm what applies to you.
Letting the register keep itself
The fix is not a better spreadsheet — it is not keeping the register separately at all. When the invoice is the stock movement, there is no second entry to remember: bill a customer and stock falls, book a purchase and it rises, record a write-off and it comes off.
That is how inventory management in KhataBuddy works. Stock is derived from your actual entries rather than typed in and maintained, so there is no direct-edit path for a balance to be quietly “corrected” — and you can see stock per location, with low-stock alerts and batch tracking on top.
