How to Track Stock Movement
Trace where stock came from and where it went.
Purpose
Find every inward and outward movement of an item or batch, and reconcile theoretical stock with a physical count. This is the routine you run when stock balance "feels wrong" — the ledger will tell you whether the issue is data entry, a missed transaction, or a real shortage.
Before you begin
- Item code or batch number you want to investigate.
- Location filter (one branch, or all).
- Date range — default to "since last verified count" rather than the whole year.
- Day Closure status of the period — closed days hide nothing, but open days may show in-flight transactions.
Steps
- Start → Inventory & Stock → Stock Reports → Item Ledger.
- Enter the item code; pick the location and date range.
- Click Run. The grid shows every inward (purchase, receipt, transfer-in) and outward (sale, issue, transfer-out) with running balance.
- For batch-level detail, switch to Batch Ledger. Each row shows the batch, expiry, source document and quantity.
- For point-in-time stock, use Stock as on Date — this is the official figure for audit and matches the trial-balance stock value if you value at moving average.
- To reconcile against a physical count, run Physical Stock Variance after a counting session (How to Do a Physical Stock Count).
- For full traceability of a single batch, run Batch Tracer with the batch number — it walks from supplier → receipt → transfers → sales / consumption.
What success looks like
- You can answer: when did the last inward happen, who supplied it, when did the last outward happen, and what is the current physical-reconciled balance.
- Discrepancies are isolated to specific document numbers, not vague "stock is short" claims.
- A saved PDF of the ledger is on disk if you needed to hand it to an auditor.
Troubleshooting
- Running balance jumps without an inward / outward row.
- Likely a stock-adjustment voucher. Re-run the ledger with Show Adjustments ticked.
- Expected receipt is not in the ledger.
- Check the document is posted, not just saved as draft. Day Closure does not pull draft documents.
- Batch numbers look duplicated.
- Two suppliers used the same batch number. ZN ERP prefixes the internal ID with the document number — expand the column to see it.
Tips
- If a transaction is missing, check the day-closure status — closed days hide unposted transactions.
- Save the report as PDF when handing over to an auditor — live reports change as new transactions post.
- For high-value or controlled items, run Batch Tracer monthly as a discipline, not only when there is a problem.