Reference
Activity log reference
What each kind of history entry records, what the export columns mean, and how far back the log reaches.
On this page
The kinds of entry
| Type | Written when |
|---|---|
| Received | Stock was added, by hand, by scan, by a basket of receipts, by a build, or against an order. |
| Removed | Stock left, with a reason when one was given. |
| Recounted | A count set the balance, from the stock dialog or a committed stocktake. |
| Moved | Stock changed location, including when a product’s home changed or a location was deleted. |
| Created | A product was added. |
| Archived / Restored / Deleted | A product, or a whole selection, was retired, brought back, or removed. |
| Import | A CSV import was applied. |
| Ordered | An order was placed, closed short, or cancelled. |
| Bulk edit | Several products were edited together. |
A move does not change how much you hold, so it records the amount that shifted and both ends rather than a change in the total.
What an entry holds
Every entry keeps the time, the product and its name and unit as they were, the change, the quantity on hand afterwards, the location, and any note. Entries keep the name and unit they were written with, so history stays readable after a product is renamed, re-measured, or deleted.
A receipt also records what it paid per unit. A sale records what it went out for and what those units had cost at that moment, which is what makes the cost of goods honest later. A removal records its reason: sold, damaged, expired, internal use, lost, or other.
Committed baskets, replenishment runs, builds, and kit sales write several entries that share one reference, so History reads them as the single event they were. Undoing one of those actions retracts its entries rather than adding reversing ones.
Which entries feed which report
Demand, and therefore days of cover and suggested thresholds, counts removals except those tagged damaged, expired, internal use, or lost. Removals with no reason recorded still count as demand.
Shrinkage counts only damaged, expired, and lost, valued at what the product costs now. Sales counts removals that carry a recorded price; components that left because a kit was sold are not counted as sales of their own, because the money is on the kit’s entry. Movement also counts recounts, in whichever direction they corrected.
Export columns and retention
The History export writes Date, Time, Type, Reason, Product, SKU, Change, Moved, On hand after, Unit cost, Unit price, Location, To location, and Note. Dates and times are local and split so a spreadsheet can sort and pivot them, and a move fills Moved rather than Change.
The live log holds the most recent few hundred entries; older ones roll into monthly buckets that History loads on demand with Load older. The export always covers every month, whatever is on screen, and a full JSON backup carries the archived months too.