Skip to main content
IoTFlows - Return to homepage

Command Palette

Search for a command to run...

View as Markdown

Transaction types

Every transaction type the ledger can print, and what creates each one.

A transaction is one row recording one change to stock: a quantity, an item, a location, a time, and the person who caused it. The ledger is every such row for the organization, in one list. On-hand figures are the sum of those rows, so the ledger is the only place a count can be explained.

The ledger

Open Inventory and choose the Transactions tab, at /inventory?select=transactions. The heading reads Stock Transactions, followed by the number of rows currently shown.

Each row carries seven columns: Type, Item, Location, Change, Note, By and Date. Change is signed and colored, so +12 is green and -4 is red. A zero stays gray, because a transfer or an adjustment that nets out is neither a gain nor a loss.

The ledger pages 12 rows at a time.

Where a movement came from a work order, the Note is where it says so: an automatic note reads Auto-generated upon completion of Work Order: #237. Notes are clamped to two lines, with the full text on hover.

Tracing one work order. The ledger has no work-order column, no work-order filter and no link back to the job. Filter by type, then match on the item, the timestamp and the name in By.

An organization with no movements shows No stock transactions yet. For one item's history instead of the whole organization, open the item and read Transaction history at the bottom of the drawer; on an item stocked as pieces, individually numbered units of the same part, that list merges every piece and keeps the Item column to say which one moved.

On mobile. The ledger is the Transactions segment of the Inventory screen on iOS and Android, with the same type filters. Rows stack rather than forming columns, which is what the web does too in the item drawer and in a narrow window.

The Transactions segment of the Inventory screen in the mobile app, showing stacked ledger entries grouped by day, each with a type badge, location, timestamp and a signed changeThe transactions ledger in the mobile app, carrying the same typed filters as the web.

Transaction types

Every row wears a badge in the Type column. The label is short so it fits a fixed-width column; hover it to read the backend's full name, so WO Checkout is Work Order Checkout. A badge beginning WO was written by a work order rather than by a person.

The badge's color is its direction, not its type: four tones carry all eleven badges, so you can scan the column for what came in, what left, and what only moved.

The 11 transaction types grouped by direction: in, out, loss and neutral.A legend of eleven transaction badges in four columns, one column per direction. In, described as stock the organization did not have before: Receipt, WO Receipt, WO Return, WO Check-In, and a dashed Production. Out, described as stock that left the shelf: Issue, WO Issue, WO Checkout. Loss, described as gone, and the row a supervisor hunts for: Scrap. Neutral, described as the same total, moved or corrected: Transfer, Adjustment. A line across the bottom reads: four tones carry eleven badges, the color follows the direction rather than the type, and Production, dashed, is legacy.
BadgeFull nameDirectionCreated byNotes
ReceiptReceiptInAdd on an item's stock adjustment, and the starting count on a new pieceThe stock-in you write by hand. See Add stock with a receipt
WO ReceiptWork Order ReceiptInThe server, on a work-order closeStock a job made, arriving at that line's location
WO ReturnWork Order ReturnInThe server, on a work-order closeStock that went out against a job and came back
WO Check-InWork Order Check-InInThe server, on a work-order closeA tool returning from a job's custody. Nothing was bought
IssueIssueOutRemove on an item's stock adjustmentThe stock-out you write by hand
WO IssueWorkorder IssueOutThe server, on a work-order closeA job consuming a required line. The full name is the backend's own wording, without the space
WO CheckoutWork Order CheckoutOutThe server, on a work-order closeA tool leaving the shelf into a job's custody. The count drops with nothing used up
ScrapScrapLossThe server. No web control writes oneStock leaves like an issue, but it gets the ledger's one flag color because it is the row a supervisor hunts for
TransferTransferNeutralThe server. No web control writes oneStock changing location. The organization's total does not move
AdjustmentAdjustmentNeutralSet count on an item's stock adjustmentA counted correction, up or down. See Correct a count with Set count
ProductionProductionInNothing new. See Legacy typesOld rows only

Three types are the only ones a person writes directly, and all three come from the same control: Add, Remove and Set count on Adjust stock and track locations. Everything else is written by the server when a work order closes, which is covered on How work orders move stock.

Which badge does a close write? IoTFlows sets that server-side, and no client screen names the pairing, so read the badge on the row rather than predicting it from the parts list. What each close moves, and in which direction, is on What happens on completion.

Logging scrap against a production job is a different record. It reaches the job, the schedule and historical production, and writes no ledger row. See Where scrap appears.

You do not need the ledger to answer "how many are on the shelf". That figure is On hand on the item itself, and the ledger only tells you how it got there. Open the ledger when a count is wrong, when you want to know who moved something, or when you are reconciling a month.

Filter by type

Eight chips sit beside the heading, one at a time. Eleven types would be eleven buttons, so the chips group them by the question people actually ask.

ChipKeeps
AllEvery row, including a type this version does not recognize
ReceiptsReceipt, WO Receipt, and legacy Production
IssuesIssue, WO Issue
ReturnsWO Return
ToolingWO Checkout, WO Check-In
TransfersTransfer
AdjustmentsAdjustment
ScrapScrap

Tooling holds both halves of custody, out and back, rather than filing the check-in under receipts. That is the filter to use for the question "where is the torque wrench", since the two rows for one tool sit together.

Choosing a chip filters the rows already loaded, updates the count next to the heading and returns you to page 1. Below a tablet width the chips collapse into a dropdown showing the selected filter, which is also what the mobile apps show.

Legacy types

Production is a legacy type. The backend used to write it for anything a job produced, then split that into the work-order types above. New rows use those; old rows keep Production so a historical ledger still reads correctly.

It is toned as stock in, and the Receipts chip keeps it, so a receipts filter over a long window returns both the old rows and the new ones.

A type the client has never seen prints as a gray badge carrying whatever the server called it, so a new backend type is readable the day it ships. It matches no chip, though: until the client learns it, it appears under All only.

See also