Skip to main content

Transactions

The Transactions screen is the stock ledger. Every change of stock writes one row: a receipt, a move, a pick, an adjustment. The rows are never changed. The list form is txn_log_list_form, the detail form is txn_log_normal_form. The data object is transaction_log, over the table transaction_log (partitioned by month on add_when). The list is read by list_transaction_log, and one row by get_transaction_log.

How to open it​

  1. Sign in and select a warehouse.
  2. In the left sidebar open Inventory Balances.
  3. Click Transactions.

The sidebar item is txn_log_menu (tab tab_txn_log_list).

List​

The toolbar has one button, Refresh. A click on a row opens the detail form (SelfSwap to txn_log_normal_form).

LabelColumnTypeFilterWhat it shows
IDidWhole numberNumberHidden. The id of the row.
CodecodeText, up to 20 charactersTextThe code of the ledger row, from the counter TransactionLog. An adjustment line stores it in its column Ledger.
Typetransaction_typeTextTextSee below.
SKUsku_codeText, up to 50 charactersTextThe SKU code.
From Locfrom_locText, up to 20 charactersTextThe location the stock left.
To Locto_locText, up to 20 charactersTextThe location the stock went to.
QtyqtyDecimalNumberThe quantity. For Adjust it is the signed change.
UOMuomText, up to 10 charactersTextThe unit of measure.
StatusstatusText, up to 10 charactersTextThe stock status at the time. Ok unless a hold code was given.
Sourcesource_codeText, up to 20 charactersTextThe document the row belongs to: the receipt number, the adjustment number, or the kind of move.
Dateeffective_dateDate and timeNoneWhen the change took effect.
Beforeqty_beforeDecimalNoneThe balance before the change. Only adjustments fill it.
Afterqty_afterDecimalNoneThe balance after the change. Only adjustments fill it.

Sources: the table in crates/libs/wms-lib-sql/sql/wms-app/migrations/001_baseline.sql:6294-6325; the entity in crates/libs/wms-lib-core/src/model/transaction_log.rs; the list in crates/libs/wms-lib-sql/sql/wms-meta-ui/migrations/001_baseline.sql.

Types​

TypeWritten by
DepositReceiving and putaway deposits.
PickPicking.
WithdrawTaking stock out.
MoveThe move primitive (the Move stock document and the RF move).
TransferTransfers.
AdjustPosting an adjustment: one row for each line that changed stock.

No business operation writes Withdraw or Transfer today. Both exist only as values of the type TransactionType (crates/libs/wms-lib-core/src/model/transaction_log.rs:28-34) and as filter values of the dashboard; a search of the Rust and SQL code finds no place that inserts them. Shipping confirmation, which would write Withdraw, is not built.

Detail form​

Every field is read only. The form has no toolbar.

LabelColumnType
CodecodeText
Typetransaction_typeText
StatusstatusText
Effective Dateeffective_dateDate and time
Ownerowner_idWhole number, shown through the pick list of owners
SKUsku_codeText
LotlotText, up to 20 characters
Sourcesource_codeText
From Locationfrom_locText
To Locationto_locText
From LPNfrom_lpnText, up to 50 characters
To LPNto_lpnText, up to 50 characters
QuantityqtyDecimal
UOMuomText
Beforeqty_beforeDecimal
Afterqty_afterDecimal

The table also stores the dates of the lot, hold_code, pack_id, source_type, reason_code (up to 80 characters), idempotency_key and authorized_by. The screens do not show them. authorized_by is the supervisor who approved an override or an adjustment; reason_code carries the reason of an adjustment line or the reason typed on the Move stock document.

What it affects​

Nothing. The screen only reads. Rows are written by the commands named above.

Who can use it​

Reading the list and detail: ADMIN, MANAGER, SUPERVISOR, OPERATOR, VIEWER. See Who can do what.