User Guide โ Field Definitions (Transaction-by-Transaction)
The Inventory Kardex Detail report shows every inventory movement
(transaction-by-transaction) for each product and store, including the opening balance,
running balances, and cost information. This document explains the meaning of each field
in the InventoryKardexDetailDto so that users can correctly interpret what they see
on the screen or in exported reports.
| Field | Description |
|---|---|
| Product Id |
Internal system ID of the product (ProductId from the Products table).
Used for linking the Kardex row to the product master.
|
| Product Name | The descriptive name of the item as defined in the product master (for example, "Coca Cola 330ml"). |
| Lookup Code | Internal product code / SKU used inside QBM for searching and scanning (often printed on labels or used at POS). |
| UPC / SKU | External barcode or universal product code. This may be the numeric barcode printed on the package. |
| Category Id | Identifier of the category to which this product belongs. It corresponds to the Product Category in your inventory master. This is empty when the product is not assigned to any category. |
| Category Name | The short name of the product category (for example, "Soft Drinks" or "Electronics"). This allows grouping and filtering by category in the report. |
| Store Id | Internal numeric ID of the store / branch / warehouse where the movement happened. |
| Store Name | The name of the store, branch, or warehouse (for example, "Main Store" or "Warehouse 1"). |
These fields describe the individual inventory transaction (movement) represented by each row.
| Field | Description |
|---|---|
| Transaction Id |
Internal ID of the inventory transaction row.
This usually links to the [Inventory Transactions] table.
For the opening balance row, this value is set to 0.
|
| Transaction Date | The date (and time) when the transaction is recorded. For normal rows this is the actual transaction date. For the opening balance row, the date is set to one second before the selected From Date so that it always appears as the first row. |
| Row Type |
Indicates whether the row is an opening balance or an actual movement:
|
| Transaction Type Id | Numeric identifier of the transaction type (for example, Purchase, Sale, Transfer, Adjustment). Combined with Row Type, it determines the document type label shown in the Kardex grid. |
| Document Number | The main number of the source document (invoice number, GRN number, adjustment number, etc.). This may be numeric or alphanumeric depending on how the document is configured. |
| Transaction Reference | Secondary reference for the transaction (for example, external reference, customer or supplier reference, or any additional code provided by the user). |
| Description | Free-text description of the transaction, such as remarks from the document or additional information entered by the user. |
Each movement row splits the effect into separate In and Out fields. Incoming and outgoing movements are always shown as positive numbers to make analysis easier.
| Field | Description |
|---|---|
| In Quantity | Quantity received or added to stock on this transaction. Examples: purchases, returns from customers, transfers in, production output, or positive adjustments. For pure outbound transactions this value is 0. |
| In Amount |
Monetary value of the incoming movement.
Usually based on the asset value of the transaction
(TransactionAssetValue) or a fallback calculation using quantity and cost.
|
| Out Quantity | Quantity issued or removed from stock on this transaction. Examples: sales, returns to suppliers, transfers out, consumption in production, or negative adjustments. This is always stored as a positive number, even if the underlying transaction quantity in the database is negative. |
| Out Amount | Monetary value of the outgoing movement, stored as a positive number. This represents the cost of items leaving the inventory for this row. |
| Field | Description |
|---|---|
| Transaction Unit Cost |
The cost per unit for this particular transaction. It is calculated as:
If InQuantity > 0 โ InAmount รท InQuantity Else if OutQuantity > 0 โ OutAmount รท OutQuantity If there is no movement (for example, the opening balance row), this field is empty. |
Running balances show the cumulative quantity and value after applying each row, starting from the opening balance at the beginning of the period.
| Field | Description |
|---|---|
| Balance Quantity | Quantity on hand after this row is applied. It starts from the opening quantity and then adds all incoming quantities and subtracts all outgoing quantities row by row. |
| Balance Amount | Total inventory value after this row. It starts from the opening value and then adds incoming amounts and subtracts outgoing amounts for each transaction. |
| Avg Cost |
Running average unit cost at this point in time, calculated as:
Balance Amount รท Balance Quantity If the balance quantity is zero (no stock), this value is left empty. |
These fields show the total quantity and value moved during the selected period, separately for incoming and outgoing movements.
| Field | Description |
|---|---|
| Cumulative In Quantity | Total quantity received in the selected period from the first row up to this row. The opening balance row does not contribute to this total. |
| Cumulative In Amount | Total value of all incoming movements in the period up to this row. |
| Cumulative Out Quantity | Total quantity issued in the selected period up to this row. |
| Cumulative Out Amount | Total value of all outgoing movements (issue / consumption) in the period up to this row. |
| Field | Description |
|---|---|
| Row Seq | Sequential row number within each product and store combination. Starts from 1 for the opening balance row and increases by 1 for each subsequent movement. This makes it easy to refer to a specific line in support cases or analysis. |
| Days Since Previous |
Number of days between this row and the previous Kardex row
for the same product and store. It is calculated using the transaction dates.
For the first row (opening balance), this field is empty.
|
The system includes a flag to help identify suspicious situations where stock levels may be incorrect.
| Flag | Meaning |
|---|---|
| Is Negative Balance |
Indicates whether the running balance quantity becomes negative after this row:
|