The Inventory Management system lets you maintain an on-hand parts catalog with tracked stock levels. Instead of ordering every part from a vendor, technicians can fulfill commonly-stocked items (filters, fluids, fasteners, etc.) directly from shop inventory. This provides a faster workflow and integrates with the parts board, line items, purchase orders, profitability reports, and QuickBooks Online.
Key capabilities include:

Overview: The inventory catalog is where you manage all the parts your shop keeps in stock. Each item has a name, optional SKU, unit cost, default sell price, reorder point, preferred vendor, and category.
Click any item to edit its details. To remove an item from active use without losing history, click "Archive". Archived items no longer appear in fulfillment searches but their transaction history is preserved.
SKUs must be unique within your company. If you try to use a SKU that's already taken, you'll get an error.

Overview: Locations represent physical storage areas within your shop (e.g., "Main Shelf", "Back Warehouse", "Van #1"). Stock levels are tracked per item per location, so you always know where parts are stored.
A default location named "Default" is created automatically when you add your first inventory item. Location names must be unique (case-insensitive). You cannot deactivate a location that still has stock — transfer or adjust stock to zero first.

Overview: Stock levels show the current quantity on hand and quantity reserved for each item at each location. The available quantity is calculated as on-hand minus reserved.
| Field | Meaning |
|---|---|
| Quantity On Hand | Total physical stock at this location. |
| Quantity Reserved | Stock set aside for scheduled jobs (not yet consumed). |
| Available Quantity | On Hand minus Reserved — what's actually free to use. |
| Total Stock | Sum of on-hand across all locations for the item. |
The system uses optimistic locking to handle concurrent updates. If two people try to modify the same stock at the same time, the second operation will be asked to retry.

Overview: When a part on a job can be fulfilled from stock instead of ordered from a vendor, you can consume it directly from inventory. This transitions the part from "Pending" to "Fulfilled from Stock", bypassing the entire ordering workflow.
The part's cost is automatically set to the inventory item's unit cost at the time of fulfillment. This cost is locked in — if you later update the inventory item's cost, previously fulfilled parts keep their original cost for accurate profitability reporting.
If a part fulfilled from inventory needs to be returned, transition it to "Returned" status. The returned quantity is added back to the original stock location automatically.

Overview: Reserve inventory for a scheduled job to guarantee stock is available when the technician needs it. Reservations set aside quantity without actually consuming it — the stock stays on hand but can't be claimed by other jobs.
Use the "Reserve All" action on a repair order to automatically attempt reservations for all pending parts that match inventory items (by SKU or category). The system returns a summary showing which parts were reserved and which were skipped due to insufficient stock.

Overview: When you receive new stock, record it as a replenishment to keep stock levels accurate.
Received a shipment with multiple items? Use bulk replenish to record up to 50 items in a single action. If any item fails validation, the entire batch is rejected to keep your data consistent.
When you include a new unit cost with a replenishment, the inventory item's cost is updated to reflect your latest acquisition price. This new cost applies only to future fulfillments — previously fulfilled parts keep their original cost.

Overview: For larger restocking, create replenishment purchase orders that are not tied to any specific repair order. These work just like job-linked POs but exist purely for restocking your inventory.

Overview: Adjust stock quantities to match physical counts, account for damaged goods, or correct discrepancies.
Adjustments cannot set the quantity below the reserved amount. If parts are reserved at a location, you'll need to release reservations before adjusting below that threshold.
Every adjustment is recorded in the transaction ledger with both the previous and new quantities, the reason, and who performed it.

Overview: Configure reorder points on inventory items so you know when stock is running low. The system flags items as "low stock" when their total on-hand quantity falls at or below the threshold.
Low-stock items show one of two statuses to help you prioritize:
| Status | Meaning |
|---|---|
| Needs Reorder | Item is low and no replenishment PO is in progress. |
| On the Way | Item is low but a replenishment PO already exists for it. |
A badge on the Inventory section shows the count of low-stock items so you can spot issues at a glance.

Overview: Enable automatic inventory fulfillment so that when you create an invoice, matching inventory parts are automatically deducted from stock without manual intervention.
After auto-fulfill runs, you'll see a summary showing how many parts were fulfilled and how many were skipped.
When disabled (the default), inventory fulfillment is entirely manual.

Overview: See a part on a job that you'd like to start stocking? Save it to your inventory catalog with one click.
The system creates an inventory item using the part's existing data (description becomes name, part number becomes SKU, cost, vendor, and category are carried over). If an item with the same SKU already exists, the existing item is returned instead of creating a duplicate — and if you provided an initial quantity, it's added to the existing item's stock.

Overview: Scan a barcode or type a part number to instantly find the matching inventory item. This is the fastest way to identify and fulfill parts from stock.
Barcode lookup works in the fulfillment dialog and in the inventory catalog search. The SKU field is what barcodes resolve against, so make sure your items have accurate SKUs.

Overview: Every stock change is recorded as an immutable transaction. The ledger provides a complete audit trail for any inventory item.
| Transaction Type | Meaning |
|---|---|
| Consumption | Stock was deducted to fulfill a part on a job. |
| Replenishment | Stock was added (manual receive or PO receiving). |
| Adjustment | Stock was manually adjusted (physical count, damage, etc.). |
| Return | A previously fulfilled part was returned to stock. |
Each transaction records: what changed, how much, previous and new quantities, who did it, when, and a reference to the related entity (part, PO, etc.).
You can filter transactions by item, location, type, and date range. Use the transaction summary to see totals for consumption, replenishment, adjustments, and returns over a given period.
Transactions cannot be edited or deleted — they serve as a permanent audit trail.

Overview: If you use QuickBooks Online, inventory transactions can automatically create journal entries to keep your balance sheet and P&L accurate.
| Event | Journal Entry |
|---|---|
| Part fulfilled from inventory | Debit COGS, Credit Inventory Asset |
| Stock replenished (via PO) | Debit Inventory Asset, Credit source account |
| Part returned to stock | Debit Inventory Asset, Credit COGS (reversal) |
If QBO accounts are not configured, inventory transactions proceed normally without creating journal entries. If QBO is temporarily disconnected, entries are queued and synced automatically when the connection is restored.
Each journal entry includes a memo referencing the transaction type, item name, and related order or PO for easy identification in QBO reports.
