Inventory Management
Powoflow's inventory module provides a complete spare parts and stock management system. Track parts across multiple warehouses and sites, manage serialized items individually, bundle parts into kits, and maintain a full audit trail of every stock movement.
Inventory Dashboard
The inventory home page displays four KPI cards at the top:
| KPI Card | Description |
|---|---|
| Total Value | Aggregate value of all stock across all sites (unit cost x quantity) |
| Stock Count | Total number of distinct stock records |
| Sites | Number of warehouse/site locations with active inventory |
| Alerts | Count of items below reorder point or with expired shelf life |
Below the KPI cards, you'll find the main navigation to Parts Catalog, Stock, Kits, and Transactions.
Parts Catalog
The Parts Catalog is the master list of all spare parts and materials your organization tracks. Each part definition includes:
| Field | Description |
|---|---|
| Name | Descriptive part name |
| Part Number | Unique identifier (manufacturer or internal) |
| Category | Grouping for filtering (e.g., Filters, Bearings, Electrical) |
| Manufacturer | Part manufacturer |
| Vendor | Preferred supplier |
| Tracking Mode | How stock is tracked: Quantity, Serialized, or Asset (see below) |
| Unit Cost | Default cost per unit (used for valuation) |
| Lead Time | Expected procurement lead time (days) |
| Shelf Life | Expiration period for time-sensitive materials |
| Barcode | Barcode or UPC for scanning |
| Criticality | Part criticality level (Critical, Important, Standard) |
Creating a Part
- Navigate to Inventory → Parts Catalog
- Click Add Part
- Fill in the part details
- Select a Tracking Mode (see Tracking Modes below)
- Click Save
Use the search bar to find parts by name. The search is case-insensitive and matches partial names.
Tracking Modes
Each part has a tracking mode that determines how its stock is managed:
| Mode | Behavior | Use Case |
|---|---|---|
| Quantity | Stock tracked as an aggregate number. Mutations adjust the count. | Consumables, fasteners, filters, fluids |
| Serialized | Each unit has a unique serial number (auto-generated as SN-YYYY-NNNN) and its own lifecycle status. | Equipment components, calibrated instruments, warranty-tracked items |
| Asset | Each unit is tracked as a full Powoflow asset (Resource record), enabling telemetry, work orders, and hierarchy placement. | High-value equipment, items requiring their own maintenance history |
The tracking mode is set when a part is created and determines the available operations. Serialized and Asset modes provide individual unit tracking, while Quantity mode provides aggregate tracking.
Stock Records
Stock records represent the actual inventory at a specific location. Each record ties a part from the catalog to a physical warehouse or inventory location.
Site Filtering
If your organization has multiple warehouses or sites, use the SiteSelector dropdown at the top of the inventory page to filter stock by location. The selector shows all sites with active inventory.
Location Picker
When creating or transferring stock, the LocationPicker lets you select an exact location within a site using a hierarchical tree:
Warehouse Alpha
└── Aisle 3
└── Rack B
└── Shelf 2
The picker supports search and shows the full path for each location.
Stock Mutations
Stock levels are modified through 8 mutation operations. Every mutation creates a transaction record for full traceability.
All stock mutations use idempotency keys to prevent duplicate operations. If a network error occurs and the operation is retried, the same mutation will not be applied twice.
Adjust
Correct the stock quantity after a physical cycle count or to fix a discrepancy.
| Field | Description |
|---|---|
| New Quantity | The corrected quantity |
| Reason | Why the adjustment was made (cycle count, correction, damage found) |
Consume
Remove stock from available inventory when used for maintenance or operations.
| Field | Description |
|---|---|
| Quantity | Number of units consumed |
| Work Order | Optional link to the work order that consumed the part |
| Notes | Additional context |
Reserve
Lock a quantity of stock for future use (e.g., an upcoming work order). Reserved stock is not available for other operations.
| Field | Description |
|---|---|
| Quantity | Number of units to reserve |
| Reference | What the reservation is for (work order number, project name) |
Release
Free previously reserved stock, making it available again.
| Field | Description |
|---|---|
| Quantity | Number of units to release |
| Reason | Why the reservation is being cancelled |
Restock
Add stock from a purchase order or vendor delivery.
| Field | Description |
|---|---|
| Quantity | Number of units received |
| Vendor | Supplier name |
| PO Number | Purchase order reference |
| Lot Number | Batch/lot identifier for traceability |
| Unit Cost | Actual cost per unit (may differ from catalog default) |
Return
Return previously consumed stock back to available inventory.
| Field | Description |
|---|---|
| Quantity | Number of units being returned |
| Condition | Condition of returned stock |
| Notes | Reason for return |
Scrap
Permanently remove stock due to damage, expiry, or obsolescence. Scrapped stock cannot be recovered.
| Field | Description |
|---|---|
| Quantity | Number of units to scrap |
| Reason | Why the stock is being scrapped (damage, expired, obsolete) |
Scrap is a permanent operation. Scrapped stock is removed from valuation and cannot be returned to available inventory.
Transfer
Move stock from one location to another. Supports both same-site transfers (e.g., between shelves) and cross-site transfers (e.g., between warehouses).
| Field | Description |
|---|---|
| Quantity | Number of units to transfer |
| Destination | Target location (use the LocationPicker) |
When transferring stock between different sites, a confirmation dialog warns you that this is a cross-site transfer and may have logistics implications.
Serialized Tracking
When a part's tracking mode is set to Serialized, each individual unit is assigned a unique serial number and tracked through its own lifecycle.
Serial Numbers
Serial numbers are auto-generated in the format SN-YYYY-NNNN (e.g., SN-2026-0042). Each serial has:
- A unique serial number
- A current status in the lifecycle
- A location assignment
- A full history of status changes
Serial Status Lifecycle
Serialized items move through the following statuses:
IN_STOCK → RESERVED → CONSUMED → INSTALLED
↓ ↓ ↓
RELEASED RETURNED RETURNED
↓
IN_STOCK
| Status | Description |
|---|---|
| IN_STOCK | Available in inventory, ready for use |
| RESERVED | Locked for a specific work order or purpose |
| CONSUMED | Removed from inventory and used |
| INSTALLED | Installed on a specific asset |
| RETURNED | Returned to inventory after being consumed or installed |
| SCRAPPED | Permanently removed (terminal status, cannot transition out) |
SCRAPPED is a terminal status. Once a serial is scrapped, it cannot be returned to any other status.
Batch Status Updates
Multiple serials can be updated at once. Select multiple serial numbers and apply a status change to all of them in a single operation.
QR Label Printing
Generate printable QR code labels for serialized items in standard label formats:
| Label Format | Description |
|---|---|
| Avery 5160 | 1" x 2-5/8" (30 labels per sheet) — for small parts and components |
| Avery 5163 | 2" x 4" (10 labels per sheet) — for larger equipment and containers |
The QR code encodes the serial number and links directly to the serial's detail page when scanned with the Powoflow mobile app.
Kits
Kits are predefined collections of parts that are commonly used together (e.g., a "Filter Change Kit" containing an oil filter, air filter, and gasket set).
Creating a Kit
- Navigate to Inventory → Kits
- Click Create Kit
- Name the kit and add parts with their required quantities
- Click Save
Kit Features
- Availability checking — The kit shows a green/yellow/red indicator based on whether all parts are in stock at sufficient quantities
- One-click consume — Consume all parts in the kit with a single operation, automatically creating individual consume transactions for each part
- Kits reference parts from the catalog, so stock levels are always current
Create kits for routine maintenance tasks. When a technician starts a work order, they can consume the matching kit rather than looking up each part individually.
Transactions
The Transactions tab provides a complete audit trail of every stock movement.
Transaction Fields
Each transaction records:
| Field | Description |
|---|---|
| Date/Time | When the transaction occurred |
| Type | Mutation type (Adjust, Consume, Reserve, Release, Restock, Return, Scrap, Transfer) |
| Part | The affected part |
| Quantity | Number of units involved |
| User | Who performed the operation |
| Location | Where the operation occurred |
| Reference | Related work order, PO number, or lot number |
| Notes | Additional context |
Filtering Transactions
Filter the transaction list by:
- Transaction type (e.g., show only Consume and Restock transactions)
- Date range (custom or preset: today, this week, this month)
- Part (search by part name or number)
- Location/Site (filter to a specific warehouse)
Inventory Valuation Reports
The inventory valuation view provides financial summaries of your stock:
- Total value by site — Aggregate stock value per warehouse
- Value by category — Stock value grouped by part category
- Value by part — Individual part valuations (unit cost x quantity on hand)
- Cost basis uses the unit cost from the most recent restock transaction, or the catalog default if no restock has occurred
Multi-Site Operations
For organizations with multiple warehouses or sites:
- SiteSelector at the top of the inventory page filters all views to a single site
- Cross-site transfers move stock between locations with a confirmation warning
- Dashboard KPIs aggregate across all sites by default, or filter to a single site
- Each site can have its own location hierarchy (warehouses, aisles, racks, shelves)
Site resolution follows your asset hierarchy. The system walks up the parentId chain from any inventory location to find the enclosing SITE or WAREHOUSE resource class, enabling automatic site grouping.
Best Practices
- Set up your location hierarchy before adding stock. Create sites, warehouses, and storage locations as assets first.
- Use Serialized tracking for any part where individual traceability matters (warranty, calibration, regulatory compliance).
- Create kits for recurring maintenance procedures to speed up field operations and reduce picking errors.
- Review the Alerts KPI regularly to catch low-stock and expired items before they cause maintenance delays.
- Use the Transactions tab for inventory audits — every stock movement is recorded with who, what, when, and why.