Stock transactions
Updated September 24, 2026
What this does
A stock transaction is one dated line against one part: a type, a quantity, an optional unit cost, and a note. It's the audit trail behind quantity on hand.
Before you start
inventory.manage.
Steps
From the Inventory list, the stock button on a part opens the dialog. Type, Quantity, Unit Cost, Notes.
Purchase and Return add the quantity to on hand. Sale, Adjustment, and Transfer subtract it. There is no signed quantity: an adjustment is always a decrease. To increase a count that's short, record a Purchase (if stock arrived) or a Return (if it came back), and say why in the note.
Unit Cost is recorded on the transaction only. It does not update the part's cost; edit the part for that. (Receiving a parts order is the exception — that one does update the part's cost, because it is what you actually just paid.)
The count can't go below zero. A Sale of 10 against a part with 4 on hand records the transaction for 10 and leaves the part at 0, with no warning. Check the count before recording a large decrease.
What the app records on its own
Three writes happen without you:
Pull on a work order line writes a Sale for the quantity used, at the part's cost, noted with the work order.
Receiving a parts order line that is linked to a stocked part writes a Purchase for the quantity that arrived, at the line's unit cost, noted with the order number. Receive two now and one later and you get two rows, one per delivery — which is what you want when you are reconciling against the vendor's packing slips. It also updates the part's cost to what you just paid.
Completing a job writes a Sale for each part line that was received against a linked part, at the line's cost, noted with the work order. Together with the receive above, an ordered part nets to zero across the two rows.
A line with no stocked part behind it writes nothing at either step. See Sourcing parts for a job.
Parts brought in through data import arrive with one Adjustment transaction each, dated the import, carrying the opening count.
What happens in the books
Nothing. A purchase transaction is not a bill; enter the vendor's bill in Accounts Payable. A sale transaction is not revenue; the invoice line is.
Common problems
Recorded the wrong type. Transactions can't be edited or deleted from the UI. Record the opposite type for the same quantity to cancel it, and note both.
Need to see the history. The Inventory page shows the current count only; there's no transaction list per part in the app. Ask for one if you need it.