Inventory & Purchase Orders
Track stock for the physical products you sell, see a full history of every stock change, and raise purchase orders to replenish stock from your vendors.
Overview
Inventory builds on the Track Inventory option of a product (see Products). Once a product tracks inventory:
- Every change to its stock — whether you adjust it by hand, receive it on a purchase order, or it is consumed on an invoice — is recorded in a stock movement ledger you can review at any time.
- You can raise purchase orders against a vendor, send them, and receive stock against them. Receiving a purchase order automatically adds the items to stock.
- Org admins are alerted when a tracked product drops to or below its low-stock threshold.
Inventory is part of the Billing section. Viewing stock movements and purchase orders requires the products read permission; creating, editing, receiving, and deleting purchase orders, and adjusting stock, require the matching products write permissions.
Stock movements
The stock movement ledger is an append-only history — entries are never edited or removed, so the current stock level can always be traced back to how it got there.
Each movement records:
| Field | Description |
|---|---|
| Type | Why stock changed: Purchase (received), Consumption (used on an invoice), Adjustment (manual correction), or Return |
| Quantity | The change applied, as a positive (into stock) or negative (out of stock) number |
| Balance after | The product's stock level immediately after the movement |
| Reason | A short note, where one was recorded |
| Source | Who or what caused it — the technician, and any related ticket, invoice, purchase order, or client |
You can filter the ledger by product and by movement type.
How movements are created
- Manual stock updates — using Update Stock on a product (Add, Subtract, or Set) records a movement. Adding stock is logged as a Purchase; subtracting or setting is logged as an Adjustment.
- Receiving a purchase order — each received line that is tied to an inventory-tracked product records a Purchase movement.
- Invoicing — when an invoice includes inventory-tracked products, their stock is decremented and a Consumption movement is recorded against that invoice and client.
Stock can never go below zero — if a change would take it negative, the balance is held at zero and the movement records the amount actually applied.
Purchase orders
A purchase order (PO) is a request to a vendor to supply stock. Each PO has a sequential number, a vendor, and one or more line items.
Purchase order lifecycle
| Status | Meaning |
|---|---|
| Draft | Being prepared. Only draft POs can be edited or deleted. |
| Ordered | Sent to the vendor. Awaiting delivery. |
| Partially received | Some — but not all — items have been received. |
| Received | Every line has been fully received. |
| Cancelled | The order was cancelled before being received. |
Creating a purchase order
- Create a new purchase order and choose the vendor.
- Add line items — each with a description, quantity, and unit cost. Tie a line to a catalog product so receiving it updates that product's stock, or leave it as free text.
- Optionally add a vendor reference, notes, and an expected date.
- Save. The PO starts as a Draft.
Sending and receiving
- When you place the order with the vendor, mark the PO as Ordered.
- As stock arrives, Receive the quantities that came in. You can receive a line partially and come back to receive the rest later — you cannot receive more than the outstanding quantity on a line.
- Each received line tied to an inventory-tracked product adds to that product's stock and writes a Purchase movement to the ledger.
- The PO becomes Received once every line is fully received; otherwise it stays Partially received.
Editing, cancelling, and deleting
- Only Draft purchase orders can be edited or deleted.
- A Draft or Ordered PO can be Cancelled. Ordered and received POs are kept for your records rather than deleted.
Low-stock alerts
When a product's stock drops to or below its low-stock threshold, org admins receive a Low stock notification. To avoid noise, this alert is sent at most once every 24 hours per product.
Best practices
- Tie purchase order lines to catalog products so receiving them keeps stock accurate automatically.
- Use the reason field on manual stock updates (for example, "cycle count" or "damaged") so the ledger is easy to read later.
- Set a low-stock threshold on products you reorder regularly so you are alerted before you run out.