Transaction vs Quantity

This document explains how the Transaction data is different than Quantity data.

To manage the quantity of an SKU, Trayse Inventory uses two prong approach:

  1. a running log that records all the movements of a SKU at a particular warehouse and a particular location. This is the Transaction table.

  2. a record that is updated with every movement. This is the Quantity table.

Here's an example of a running log of the Transaction table:

And here are the quantity values in the Quantity table:

Creating the Transaction record and updating the Quantity record are part of the same process. Here's a visual overview of that process:

Transaction Table

The Transaction table is a log table. Anytime a movement or intention to move occurs, then a transaction is written. An example of "intention to move" is a purchase order. The line items of a purchase order are requested from a vendor, but there is no movement internally. However, tracking this value in the Transaction table provides context to Receipt (a.k.a. Goods Received) when it occurs.

As a log table, Transaction records are only written, never edited or deleted.

Quantity Table

The Quantity table is a join table between the Item table and the Location table.

An item may exist in multiple locations and this is a key feature of Trayse Inventory. The majority of locations will only have one item in it. That would make it a simple one-to-many relationship. However, some locations may have multiple items. Shipping, receiving, repair, in transit, scrap, etc. are some examples of locations that can contain more than one item. The Quantity table sits in the middle and functions as a join table.

The Quantity table is where the latest quantity values are stored. The default fields are the following:

  1. On Hand (everything that is here, allocated and available)

  2. Allocated (what has been promised on a Sales Order, Transfer Order, or Assembly order)

  3. Available (On Hand - Allocated)

  4. On Order (from the vendor)

  5. On Backorder (unable to fulfill to a customer; a stockout)

The quantity values are displayed on the Item Quantity card, accessed via the More... button on the Item layout.

These quantity fields are attributes of the Transaction table, with a slightly different name.


Since the quantity fields are stored in both the Transaction table and the Quantity table, there is duplicity in the structure. However, the fields serve two purposes, as noted above. Moreover, to use the quantity fields from the Transaction table, a calculation or summary field would be required. This would adversely affect performance.

Quantity fields (On Hand, Allocated, Available, etc. ) are indexed number fields.

Last updated