The short answer
Inventory software tracks stock movements by refusing to let stock change any other way: every receipt, issue, return, transfer, reservation, gate pass and adjustment is a document posted on one movement engine. Posting the document updates the running per-location balance — up, down or across — and appends an immutable stock-ledger row recording quantity, type, reference and rate. The on-hand figure is therefore never an opinion; it is the arithmetic sum of documented movements, each of which can be opened and traced. This page walks through how that works; the wider system around it is covered in the pillar guide, what is inventory management software.
Everything is a document
The design principle carrying all the weight is deceptively simple: there is one way stock changes, and it is a posted document. In Fast Inventory, all store movements — whatever their direction — run through the same shared engine, each document carrying a header (number, date, type, source and destination, status) and line detail (item, quantity, unit, references). The movement type is what varies, not the machinery.
This buys three things at once. First, consistency: the stores team learns one entry pattern and posts every kind of movement with it. Second, completeness: because nothing changes stock except a posting, there is no category of change that escapes the record. Third, traceability: documents reference each other — an issue against an order, a return against an issue, a receipt against a gate pass — so the chain of custody survives. The feature view of this engine is at Stock Movements & Transactions.
The movement types and what each does
Seven movement types cover nearly everything a store does. Each has a defined, predictable effect on the balance:
| Movement | What it records | Balance effect |
|---|---|---|
| Goods receipt (GRN) | Goods in — e.g. against a purchase; creates lots for batch goods | Increase |
| Material issue | Stock out to production, consumption or delivery, on an issue slip | Decrease |
| Material return | Previously issued, unused material coming back to stock | Increase |
| Stock transfer | Quantity moved store-to-store or location-to-location | Net zero — out one side, in the other |
| Reserve / de-reserve | Stock earmarked for a purpose (and released again) | Held — moves between free and reserved |
| Gate pass | The inward/outward vehicle record at the premises gate | Log — custody, not quantity |
| Adjustment (increase / decrease) | Documented correction outside the normal flow, incl. scrap | ± |
Two of these deserve a closer look. The transfer is the reason location-wise stock stays true: both legs are recorded — a minus at the source, a plus at the destination — so the total is unchanged but the map is updated. The reserve is the reason available stock can differ from physical stock: reserved quantity is held against a purpose without leaving the store, so a promise made to one customer is not silently double-promised to another.
What actually happens at posting
Posting is where a form on a screen becomes stock truth. Three effects land together:
Because these effects are joined, the three layers — documents, balance, ledger — can always be reconciled against each other. That is what auditors exploit, and what a spreadsheet can never offer: in a sheet, the "balance" and the "history" are two unrelated pieces of typing.
Want to watch a posting land?
In a 30-minute demo we post a receipt, an issue and a transfer on your items — and open the balance and ledger after each one so you see all three effects.
Lots, expiry and FEFO in the flow
For batch-controlled or perishable goods, movements carry a second layer of truth. A goods receipt creates the lot — batch number, production date, expiry date — alongside the quantity. From then on, the lot follows the stock through every movement:
- On issue, FEFO applies as a hard rule. Expired lots are excluded from eligibility entirely, and eligible lots are ordered nearest-expiry first — so the system, not the picker's eyesight, enforces First-Expiry-First-Out.
- Statuses gate availability. A lot can be available, on hold, damaged or closed; held and damaged lots drop out of issuable stock without any physical move.
- An expiry dashboard buckets what is coming. Available lots grouped by expiry window — today, this week, this month, this quarter and beyond — turn near-expiry stock into a work list.
The result is that movement tracking and traceability are the same system: because every movement is documented at lot level, batch genealogy for a recall or customer audit is a query, not a project. The feature detail is at Lot, Batch & Expiry (FEFO).
Corrections and cancellations
Mistakes happen — a receipt posted twice, an issue against the wrong item. What distinguishes a controlled system is how corrections work: by new postings, never by edits. A wrong document is reversed by a cancellation transaction that posts the exact opposite delta, and out-of-flow corrections are made with adjustment documents — increase or decrease — each writing its own ledger row. Physical count variances follow the same road: the count records the difference, and an adjustment reconciles it, as described in the inventory management process.
The consequence is a history that shows the mistake, the fix, and the person and time behind each — rather than a balance that was quietly right yesterday and differently right today.
Capturing movements at source
All of the machinery above depends on one human discipline: movements must be posted when they happen, at the place they happen. Late entry is how balances drift even in good systems. Two things make the discipline cheap:
- Barcodes on items and lots. Scan-based entry replaces code lookup at receipt, issue and count, and printed labels close the loop — see Barcode, RFID & Automation.
- No double entry with the books. Movements post to Tally ERP 9 / TallyPrime as stock journal vouchers with store-to-godown mapping via the Tally integration — so posting once in the inventory system is genuinely once.
Movement tracking is also the foundation everything else stands on: the running balance feeds reorder alerts and valuation, the ledger feeds the audit trail, and the lot layer feeds FEFO and recalls — the gains itemised in the benefits of inventory management software. And if your operation needs the system to also direct the movements — which bin, which pallet, scanner-confirmed — that is the warehouse-management layer, mapped in inventory management vs warehouse management.
Frequently asked questions
How does inventory software track stock movements?
Every change to stock is captured as a movement document on one engine — goods receipt, material issue, material return, stock transfer, reserve/de-reserve, gate pass or adjustment. Posting the document updates the running per-location balance (up, down or across) and writes an immutable stock-ledger row recording quantity, type, reference and rate. The balance is therefore always the sum of documented movements, and any figure can be traced back movement by movement.
What are the main stock movement types?
Seven cover almost everything: goods receipt (stock in, e.g. against a purchase), material issue (stock out to consumption or production), material return (previously issued stock coming back), stock transfer (between stores or locations, no net change), reserve/de-reserve (earmarking stock without moving it), gate pass (the inward/outward vehicle record), and adjustment increase/decrease (documented corrections, including scrap). Each type has a defined effect on the balance.
What happens when a stock movement is posted?
Three things, atomically: the document itself is saved with its header and line detail; the running per-location balance for each affected item is incremented or decremented; and a stock-ledger row is appended with the opening balance, transaction quantity, type, reference and rate, marked plus or minus. For batch-controlled items, lot detail (batch number, expiry, status) is created or updated in the same posting.
How are mistakes corrected if the ledger is immutable?
By new postings, never by editing. A wrong movement is reversed by a cancellation transaction that posts the exact opposite delta, and corrections outside the normal flow are made with adjustment documents (increase or decrease). Both the original and the correction remain visible in the ledger, so the history shows what happened, what was wrong and how it was fixed — which is precisely what an auditor wants to see.
How do lots and FEFO interact with movements?
A goods receipt for a batch-controlled item creates a lot carrying its batch number, production date and expiry date. On issue, FEFO discipline applies as a hard rule: expired lots are excluded from eligibility, and the eligible lots are consumed nearest-expiry first. Transfers and adjustments update lot detail alongside the aggregate balance, and lot statuses (available, hold, damage, closed) control what counts as issuable without physically moving stock.
