How the inventory model works
What move lines are, how quantity types are calculated, and why the numbers you see are always current.
Every number you see in Tooling Metrics inventory — on-hand, forecast, in-circulation — is derived from the same underlying record: the move line. Understanding how move lines work explains why the system behaves the way it does, and why you can trust the numbers.
Everything is a move line
Section titled “Everything is a move line”When an item moves — received into stock, transferred between locations, picked for a job, returned from a machine, scrapped — Tooling Metrics records a move line. A move line is immutable: it captures what moved, how much, from where, to where, and when. Nothing is ever deleted; the history is permanent.
This design means:
- Inventory quantities are always computed from the sum of move lines, not stored as a single editable number
- You can always reconstruct the full history of any item or location
- Concurrent operations cannot create double-entries or race conditions
Quantity types
Section titled “Quantity types”Tooling Metrics tracks three quantity types per item, each derived from move lines in different states:
On-hand
Section titled “On-hand”The physical quantity currently in storage at a location. On-hand updates the moment a move line is completed — when a pick list line is confirmed, a restock line is checked off, or a scrap is processed.
On-hand is what the warehouse actually holds right now.
Forecast
Section titled “Forecast”The quantity expected to be on-hand after all pending operations complete. Forecast includes on-hand plus any move lines in pending or in-progress state — incoming purchase restocks, initiated transfers, and open pick lists not yet confirmed.
Forecast answers: if everything currently in progress completes as planned, what will I have?
This is what the Inventory Scheduler uses to decide whether a replenishment request is needed. If forecast is above the stock rule’s Threshold Quantity, no request is created — even if on-hand is temporarily low due to a restock in progress.
In-circulation
Section titled “In-circulation”Items that have been picked for machine use but not yet returned. These are physically in the shop — on a workbench, in a machine crib, or being assembled — but are not in a storage location.
In-circulation = items picked − items returned.
This quantity matters for valuation: in-circulation items have been consumed from storage and usage cost has been posted against them. They are still tracked as the organization’s assets until they are returned or scrapped.
Operation types and their effect on quantities
Section titled “Operation types and their effect on quantities”| Operation | On-hand | Forecast | In-circulation |
|---|---|---|---|
| Purchase Restock (pending) | — | ↑ | — |
| Purchase Restock (completed) | ↑ | ↑ | — |
| Pick List (pending) | — | ↓ | — |
| Pick List (completed) | ↓ | ↓ | ↑ |
| Transfer (pending) | — | moves | — |
| Transfer (completed) | moves | moves | — |
| Return List (completed) | ↑ | ↑ | ↓ |
| Scrap (completed) | ↓ | ↓ | — |
| Inventory Adjustment | ↑/↓ | ↑/↓ | — |
“moves” = decreases at source location, increases at destination location
Why numbers might look surprising
Section titled “Why numbers might look surprising”On-hand is low but nothing was picked: A pending pick list is reducing forecast but not yet on-hand. The pick list will complete when the operator confirms it.
On-hand is zero but items are in the shop: Items were picked and are in-circulation. They are not lost — they are at a machine or on a workbench.
Forecast is higher than on-hand: A purchase restock is pending. When the inventory team completes the put-away, on-hand will catch up to forecast.
Replenishment was not triggered even though on-hand is below the threshold: The scheduler uses forecast, not on-hand. If a restock is pending that will bring forecast above the Threshold Quantity, no additional purchase request is needed.