Reading the inventory transaction timeline
Every inventory item in Stash has a transaction timeline — a complete, append-only history of every quantity change since the item was created. POS sales, manual adjustments, transfers, PO receives, and Blueprint deductions all leave entries here.
Knowing how to read the timeline is the fastest way to answer the question "why is my stock at this number?" — and to spot anomalies before they become bigger problems.
Where to find the timeline
Open Inventory from the sidebar.
Click any item.
Open the History tab (or scroll to the transactions section on the item detail page).
You'll see a reverse-chronological list of every transaction that has affected this item, with the most recent on top.
What each transaction shows you
Every transaction has the same fields:
Date and time — when the change happened
Type — what kind of change (POS Sale, adjustment, transfer in/out, PO receive, correction, etc.)
Quantity change — how much was added or removed (positive for additions, negative for removals)
Resulting quantity — your stock level after this transaction
User — who made the change
Source / reference — link to the originating record (the PO, the transfer, the POS order, etc.)
Note — context the user added (for adjustments) or that Stash added automatically
Transaction types — what each one means
POS Sale
Stock removed because of a sale that came in via POS sync. Has a purple POS Sale badge and a POS Sync indicator. The user shows as Stash (not a person) — these are system-generated. The reference links back to the original POS order.
If the deduction came from a Blueprint, the transaction also notes which Blueprint fired and the math used.
Adjustment
A manual change made by a user. Has the user's name, plus the note they entered (e.g., Monthly stock count, Breakage, Sample given to staff). See Adjusting stock quantity manually.
Transfer Out
Stock removed because the item was sent to another shop via a stock transfer. Linked to the transfer record. See Creating a stock transfer between locations.
Transfer In
Stock added because the item arrived via a transfer from another shop. Linked to the same transfer as the corresponding Transfer Out — they share an ID so you can see the full round trip.
PO Receive (Restock)
Stock added because a purchase order was received. Linked to the PO. The cost recorded is the unit cost from the PO at the time of receive. See Receiving a purchase order.
Opening Stock
The initial quantity recorded when the item was first created (either manually or via CSV import). The source notes whether it came from manual entry or csv_import.
Correction
A special type of adjustment used to fix mistakes from earlier transactions. Always has a note explaining what's being corrected. See "Fixing mistakes" below.
POS Sale attribution — why "Stash" instead of a user
When a POS sale deducts stock, no human in your team triggered it — the POS sync did. Stash represents this by showing the user as Stash (system) with a purple POS Sale badge. This makes it easy to filter or scan for system-generated activity vs. activity your team did manually.
If you ever see Unknown User instead of Stash on a POS Sale, get in touch — that shouldn't happen.
Why the timeline is immutable
Transactions in the timeline can never be edited or deleted. Once a transaction is written, it's preserved permanently. This is by design — it protects your audit trail, makes end-of-month reports trustworthy, and prevents accidental data loss.
If you make a mistake (counted wrong, received the wrong quantity, ran a Blueprint with bad math), you don't fix it by editing the original transaction. You fix it by adding a correction transaction.
How to fix mistakes — correction transactions
When you need to undo or modify a previous transaction, do a manual adjustment with a clear note explaining the correction:
Open the inventory item.
Click Adjust stock.
Enter the quantity change needed to offset the mistake.
Add a note like Correction: PO #1234 was over-received by 5 units, or Reversing POS sale on order #5678 (refund processed).
Save.
The correction shows up in the timeline as its own transaction, with the original mistake still visible above it. Anyone reading the history can see what happened and why.
This is the only way to fix historical data. Editing or deleting transactions is not possible by design. See Adjusting stock quantity manually.
Why my stock is off by a tiny fraction
If your stock shows something like 3.42 Bag instead of a clean number, it's almost always because of fractional Blueprint deductions — and that's expected behavior.
Example: a Blueprint deducts 18 Gram of beans from a 1000 Gram bag per sale. Each sale subtracts 0.018 Bag. After 100 sales, you've used 1.8 bags — Stash shows 0.2 Bag remaining (assuming you started with 2 full bags).
The fractions are real. They reflect actual consumption. Over time they balance to whole-bag amounts as you receive new stock.
If you'd rather see clean numbers, your options are:
Live with the fractions (most users do)
Round to the nearest whole bag during stock counts and adjust to match
Switch the item's storage unit to grams, so deductions are whole numbers (but you'll need to count in grams too)
Refunds, voids, and what shows up
POS refunds and voids do not create a reversal transaction in Stash. The original POS Sale transaction stays. If you want to see "the stock came back," you need to do a manual correction adjustment — that's what shows in the timeline. See the refunds section in How POS sales deduct stock automatically.
Filtering and searching the timeline
For items with lots of activity, you can filter the timeline by:
Type — show only POS Sales, only adjustments, only transfers, etc.
Date range — narrow to a specific period
User — see what a specific person changed (or filter to Stash for all system activity)
Useful for end-of-month audits, troubleshooting a stock discrepancy, or reviewing what your team did during a busy week.
Related articles
