The Stock module of Portail ZAPP keeps track of consumables and spare parts: how many units of each item are in each storage room, with the history of every inbound, outbound, transfer and count. The screens are restricted to Stock managers and administrators; open them from the Stock and purchasing › Stock levels menu.
Items and storage rooms are CMDB records: you create and edit them in the CMDB (or from the ACS screen), not in the stock screens. An item record holds, among others, its Unit cost, its Preferred supplier, its Maximum quantity (global) and its Owner; a storage room record holds its Manager. These fields are used by the alerts and orders described below.
Stock levels
The Stock levels page lists each item / room pair with its Quantity, Min threshold and Max threshold. A highlighted row means the level is below its minimum threshold. Click an item to open its page.
An item page shows its levels room by room, then the Movement history, most recent first: date, type (Inbound, Outbound, Transfer, Adjustment), source room (From), target room (To), quantity and, for an outbound movement, what it is Charged to. Each movement keeps the name of the item and rooms as they were at the time: if one of them is deleted later, the history stays readable. When the Projects module is installed, the page also shows the projects linked to the item.
In this version, a room's minimum and maximum thresholds cannot be set by users: no screen and no API changes them. They only exist if they were set some other way (for example by the demonstration data); without a threshold, no minimum-threshold proposal or alert is produced.
Recording a movement
The New movement button opens the form: choose the Item, the Movement type, then the rooms and the Quantity.
- Inbound: units arrive in the Target room.
- Outbound: units leave the Source room. When the Projects module is installed, the Project task (outbound) field lets you optionally charge the movement to a task: type at least two characters of the project or task name and pick it from the list. Only tasks you can view are offered.
- Transfer: units move from the Source room to the Target room, which must be different.
Click Save: the item page opens, with the new movement at the top of the history.
The movement is refused, with a message at the top of the form, if the quantity is not positive, if a required room is missing, or if the source room does not hold enough units: stock never goes negative, even when two people record an outbound movement at the same time.
Doing a physical count
After an inventory, the Physical count button aligns the stock with reality: choose the Item and the Storage room, enter the Counted quantity, then Save. If it differs from the known quantity, the level takes the counted quantity and the difference appears in the history as an Adjustment movement. If there is no difference, nothing is recorded.
Thresholds, alerts and replenishment proposals
Every day (by default at 9:15), Portail ZAPP checks the stock levels:
- Minimum threshold of a room: when a level falls below its minimum threshold, a replenishment proposal is created for that item / room pair. The proposed quantity brings the level back to its maximum threshold (or, failing that, to its minimum threshold). The room's Manager receives an email when the proposal is created, not at every check: while a proposal is pending, no other one is created for the same item in the same room.
- Maximum Quantity (global) of an item: when the item's total, across all rooms, exceeds this quantity, the item's Owner receives an email. This never creates a proposal; the email is sent again every day for as long as the excess lasts.
An email is only sent if the room has a manager (or the item an owner) with an email address. The email text is edited in the templates administration (stock-low-alert and stock-overstock-alert).
Proposals are handled in the Purchasing module (Replenishment proposals page of the purchase orders) or from the ACS screen, Stock › Thresholds reached branch: its Order button creates a draft purchase order from the item's Preferred supplier and Unit cost. The button stays greyed out, with the reason shown, when either is missing from the item record. See the "Ordering" page.
On a dashboard, the Stock below threshold widget lists the levels below their threshold, most critical first, with an Open the ACS screen link.