Why does month-end stock never match the books in a multi-store chain?
Because "month-end" is not one moment. Each store, each billing counter and each warehouse closes its day at a different time, and goods in motion belong to no store at all. The report you pull on the first of the month is a blend of slightly different moments.
For a single shop this is a rounding error. For an Indian retail chain with a dozen stores, a warehouse and an online channel, it becomes a recurring argument between operations and accounts. The store manager says the shelf is right. The accountant says the books are right. Both are correct about their own cut-off, and neither is correct about the same instant.
The fix is not a better spreadsheet. It is agreeing on one cut-off rule, applying it to every movement of stock, and checking the exceptions before the books close. This guide shows where the mismatch comes from and how to set that rule up.
Where do cut-off errors actually come from?
Almost all of them trace back to five moments where a stock movement is recorded in a different month, or a different place, from the one where it physically happened. Knowing which one hits you hardest tells you what to fix first.
- Bills raised around midnight. A sale rung at 11:58 pm on the last day and synced at 12:10 am can land in the next month, while the shelf already lost the unit.
- Transfers in transit. The sending store reduced its stock on dispatch. The receiving store has not accepted it yet. For a day or three, those units exist in neither store's report. Our post on catching stock transfer shortages at the loading bay covers what happens when the count at the other end does not match.
- Returns entered late. A customer returns an item on the 30th and the credit note is made on the 2nd. The shelf has the item, the books do not, or the other way round.
- Goods received but not booked. Cartons sit in the back room on the 31st with the supplier invoice already in accounts. The books show stock the shelf cannot sell yet.
- Online orders mid-fulfilment. An order packed on the 30th and handed to the courier on the 1st is neither fully sold nor fully in stock. If you use more than one channel, this gap is wider than any store counter.
Notice that none of these is theft or carelessness. They are timing differences. That is good news, because timing differences can be closed with a rule, while shrinkage needs investigation. Our guide to preventing staff theft and shrinkage picks up what remains once timing is cleaned out.
What does a cut-off error cost you in practice?
It costs you trust in your own numbers, and trust is what lets you decide on reorders, store targets and working capital. When nobody believes the month-end stock figure, every decision that depends on it slows down or gets made on gut feel.
The costs show up in specific places rather than as one big loss:
- Wrong reorder quantities. If a store appears to hold ten units that are really on a truck, the replenishment run skips it and the store sells out. If it appears short, you over-order.
- Disputed store performance. A store that dispatched stock on the 30th and a store that received it on the 2nd each carry a distorted month. Managers argue over whose number is real.
- Slow month closes. The accounts team spends days reconciling store reports line by line instead of reviewing a handful of exceptions.
- Weak ground for tax filings. Monthly GST returns draw on sales and purchase records. Sales booked in the wrong month, or stock movements that cannot be traced, make the numbers harder to defend. The portal and rules are at gstn.org.in and cbic-gst.gov.in, and your chartered accountant will tell you what applies to your registrations.
We are deliberately not putting a rupee figure on this. It depends on your turnover, number of stores and how often you move stock between them. Measure your own gap first, as described below.
How to set a month-end stock cut-off that every store follows
Pick one clock time, apply it to every movement type, and record every exception against it. The goal is that on the first of the month, every unit of stock is in exactly one place in the books: a store, a warehouse or a named transit record.
- Choose one cut-off time for the whole chain, for example 10 pm on the last day, and write it down. Use the time on the system clock, not the manager's watch, so every store means the same instant.
- Freeze backdated entries after that time. Anything raised later is booked in the new month unless a named person approves a correction with a reason.
- Create a transit record for every transfer at dispatch, so stock on a truck is held under "in transit" with a sender, receiver and date. Do not leave it as a silent deduction.
- Require receiving stores to accept or flag every inbound transfer within one working day, and chase anything still open at the cut-off.
- Book returns and credit notes on the day the item physically comes back, with the original bill number attached.
- Tag goods received after the cut-off as next month's receipts, even if the supplier invoice is dated earlier, and list them as a known exception.
- Run a cut-off exception report on the first morning showing open transfers, late returns and unbooked receipts, and sign it off before the month is closed.
Steps one and two are policy and cost nothing. Steps three and four are where the system matters, because a transit record has to be created, tracked and visible to both stores without anyone re-typing it.
How do you handle stock in transit at the cut-off?
Treat in-transit stock as its own location with its own owner, and count it as part of company stock. It is not lost, it is simply between two shelves.
The cleanest rule is that stock leaves the sender's count and enters the transit location at dispatch, then leaves transit and enters the receiver's count at acceptance. At the cut-off, the transit location holds a list of exactly what is on the road. That list is what you reconcile, line by line, against the next morning's acceptances.
Two habits make this work:
- A short limit on transit age. Flag any transfer open longer than two or three days. Beyond that, something went wrong: the cartons were mis-delivered, the count was short or the receiving staff forgot.
- Counting at the receiving end, not trusting the dispatch note. A transfer accepted blindly hides shortages. The same logic applies to physical counts, which we cover in a post on running a stock audit without shutting stores.
How do you deal with sales and returns around midnight?
Use the transaction time recorded at the counter, not the time it reached head office. Whichever device captured the sale should stamp it, and the sync delay should never move it across the month boundary.
This sounds obvious, but it fails quietly when stores work offline for part of the day or when a server batch posts sales in bulk after midnight. Check this with a simple test in your own system: take five bills raised between 11:30 pm and 12:30 am on the last day of any month and see which month each landed in. If any landed in the wrong month, your cut-off already leaks.
For returns, book the stock movement on the physical return date and link it to the original bill. This keeps the sale and its reversal in the same chain of records, which also helps when you review patterns, as in our post on return-to-vendor delays and working capital.
What should a month-end reconciliation actually check?
It should check exceptions, not every line. If the cut-off rule is working, the reconciliation reduces to five short lists that a person can review in an hour.
| Exception list | What it shows | Who closes it |
|---|---|---|
| Open transfers | Units dispatched but not accepted at the cut-off | Receiving store manager |
| Late returns | Items physically returned but booked after the cut-off | Store accountant |
| Unbooked receipts | Goods in the back room without a goods receipt | Warehouse or store in-charge |
| Backdated entries | Any entry dated before the cut-off but made after it | Approver named in the policy |
| Orders mid-fulfilment | Online orders packed but not yet shipped | Fulfilment lead |
Anything outside these five lists is a real discrepancy, and that is where investigation time should go. Chains that skip this separation spend the same hours but cannot tell timing noise from genuine loss, so they end up chasing both with no result.
Which stores and channels create the biggest gaps?
The biggest gaps come from the places with the most movement and the least supervision: high-volume stores, stores that receive frequent transfers, and any channel where orders are fulfilled from store stock.
Rank your stores by the number of open items on the cut-off exception report over three months. You will usually find that two or three stores generate most of the exceptions, and the cause is a habit rather than a system. For example, one store accepts transfers only on Mondays, or one counter backdates returns on the 1st. Fix the habit with a conversation and a rule, then track the count down. Retail bodies such as the Retailers Association of India publish general retail operations material worth reading, but the real data on your gaps is in your own exception reports.
If you sell through more than one channel, include online orders in the same rule. A single view of stock across stores and channels, as described in our post on multi-store inventory visibility, makes the transit and fulfilment lists appear automatically instead of being rebuilt in a spreadsheet each month.
Where does Commmerce fit, and where does it not?
Commmerce is an Omnichannel Retail Operating System for Indian retailers. It helps by keeping one stock position across stores, warehouse and online channels, so transfers and online orders are tracked as records rather than as silent deductions. That is what makes the transit and fulfilment lists in this guide possible without manual work.
It does not replace your accountant, your chosen accounting package or your cut-off policy. The rule has to be decided by your business and signed off by the people who close your books. Software only makes a good rule easy to follow every month, and a bad rule just as easy to follow.
What does a good first month look like?
Do not try to fix everything in one cycle. In the first month, only write the cut-off time, create transit records for transfers and produce the exception report. Expect the report to be long. That length is not a failure, it is the first honest picture of your timing gaps.
In the second month, work on the stores that created most of the exceptions. By the third month, the lists should be short enough to review in an hour, and the stock figure on the first morning should be one that store managers and accountants both accept. When you also review daily till cash shortfalls on the same monthly rhythm, month-end becomes a short review instead of a reconstruction.