Overview: track parts and tools
What Inventory holds, and how Maintain and Production draw on it.
Inventory is the IoTFlows storeroom: a catalog of the parts and tools you stock, a count of each one shelf by shelf, and a ledger of every movement. It sits at /<organization>/inventory on the web and ships as a native screen in the iOS and Android apps. Nothing has to be configured before you open it, though creating and editing anything in it takes an Owner or Administrator role.
You do not need Inventory to run Maintain. Work orders, requests and preventive maintenance all work against an empty catalog. Turn Inventory on when "we were waiting on a part" has become a common reason work orders sit On Hold, because a count and a reorder point, the level at which an item needs reordering, are what answer that.
The stock model
An item is one line in the catalog: a part you buy, a part you make, or a tool you own. Stock is a quantity of one item at one place, so an item with 12 in the crib and 4 at the line carries two stock rows and a total of 16.
Every change to a count is a transaction, a row recording what moved, how much, where and when. Nothing moves stock without writing one, including a correction after a physical count, so the ledger answers "why is this number different from last week".
Three figures hang off every item. On hand is what is physically there, reserved is what open work orders have spoken for, and available is on hand minus reserved. Available is the one that answers "can this job start".
Items, pieces and locations
Item, piece, location and transaction, and how work orders and operations touch each.A diagram in two parts. Across the top sit two boxes, Work order, from Maintain, and Operation, from Production, with a note to their left reading: Maintain and Production hold no stock of their own, they write to the same ledger. An arrow drops from each box, merges onto one short horizontal line, and points down into the last box of the row below. That row is a left-to-right chain of four boxes joined by arrows. Item: the catalog entry, one row per part or tool, TW-350. Piece: one numbered unit of it, wrench #7, only if serialized. Location: where stock sits, Rack A Bin 3, counted per shelf. Transaction: one row per move, receipt, issue, scrap, transfer. A line across the bottom reads: stock is a quantity of one item, at one location, and every change to it writes a transaction.A location is a named place stock sits, for example Rack A, Bin 3 or a service truck. Counts are held per location, so a work order's part line comes off one named shelf rather than off the item in the abstract.
A piece is one individually numbered unit of an item, for cases where the single unit matters: a calibrated gauge, a fixture, a rebuilt motor. A serialized item becomes a grouping and holds no stock of its own; its pieces hold it. Serializing is optional and most items never need it; see Track serialized pieces and tools.
The catalog filters by four segments: All, Purchased, Manufactured and Tools. Purchased and manufactured are the two item types. Tools is a second axis rather than a third type: a tool is still purchased or manufactured, and the segment narrows the list to items flagged reusable.
Object model
| Object | Is | Tracked by | Page |
|---|---|---|---|
| Item | One catalog line: a part or a tool | Name, SKU, type, unit, reorder point | Create and edit items |
| Piece | One numbered unit of a serialized item | Its own stock, under its parent item | Track serialized pieces and tools |
| Location | A named place stock sits | One count per item, per location | Adjust stock and track locations |
| Stock | A quantity of one item at one location | On hand, reserved, available | Adjust stock and track locations |
| Transaction | One recorded movement | Type, quantity, location, work order, time | Transaction types |
How work orders draw on stock
A work order in Maintain carries two parts lists: what it requires and what it creates. Raising it reserves the required lines, so what is available to other jobs drops before anyone has been to the shelf.
Moving the work order to Done is what moves the stock. IoTFlows shows you the materials to confirm, then performs the movement server-side: it consumes the required lines, produces the created ones, writes the transactions and clears the reservation. Nobody adjusts a count by hand to make this happen.
A reusable tool travels the same path with a different meaning. Requiring it takes it into the job's custody, and creating it hands it back to its shelf. The full model is on How work orders move stock, and the procedure for closing a job is on Update, discuss, and close a work order.
How operations draw on stock
In Production, the same two lists are bound one level up, on the operation, so every work order raised against that operation inherits them scaled to the quantity ordered. A binding is a rule, not a transaction: it states how much an item scales with the work, and closing the work order is still what writes the ledger rows. See Link required and created parts to an operation.
Serialized pieces reach the scheduler as well. Each piece is treated as a capacity-1 resource, so two jobs needing the same physical bar or roll read as a conflict without anyone writing a scheduling rule. See Find and fix problems in the schedule.
What Inventory is not
It is not purchasing. There are no purchase orders, suppliers or vendor prices. Monitor low stock and reorder points tells you what has fallen under its reorder point; the ordering happens in your own system.
It does not decide reorder points for you. You set one per item, and it is only as good as the lead time and consumption rate behind it.
It does not hold a bill of materials. What a job consumes is expressed by binding items to the operation that consumes them, not by a recipe stored on the item.
It is not a second part counter. Counts of what a machine produced come from its sensor and live in Production. Stock changes only when a work order closes or somebody adjusts it, so the two numbers answer different questions and are allowed to differ.

