The Inventory reports page brings together two views of how inventory items move through Splynx:

Use this page to answer two routine questions: How much did we earn (and at what cost) on inventory this month? and What exactly happened to a specific item, and who changed it?
To open the report, go to Administration → Other reports → Inventory reports.

Access depends on the administrator's role:
An administrator who has neither tab cannot open the page at all.
Both tabs respect the stock locations assigned to your administrator role. You only see records for items stored in stock locations you are allowed to access — items in other stocks are excluded from the rows and from the totals.
Stock access is configured per role on Config → Inventory → Stock locations. If a colleague sees rows you don't, it usually means their role has access to additional stock locations.
What it answers: during the selected period, which inventory items left the warehouse — sold, assigned to a customer without an invoice, or rented — and what is the financial result.


Click Show to run the report.
| Column | Description |
|---|---|
| Date | The date and time when the item changed status (sold, assigned, or rented). |
| Item ID | The internal identifier of the inventory item. |
| Type | The item's resulting status — Sold, Assigned, or Rent. Hidden when you filter by a specific Type, because every row has the same value. |
| Product name | The inventory product the item belongs to. |
| Vendor | The vendor configured on the product. |
| Invoice number | The sales invoice the item was billed on. Shown only for the With invoice type. |
| Price | The sale or rental price for this item — see How values are calculated for the full rules. Empty in Without invoice mode. |
| Cost price | The purchase price stored on the item, usually copied from the supplier invoice when the item was received. |
| Change made by | The administrator who recorded the status change. Empty if no matching entry exists in the admin operations log (for example, when the period is older than the admin-log retention horizon, or the change was made automatically by Splynx). |
| Barcode | The item's barcode. Hidden by default — enable it from Show/hide columns. |
| Serial number | The item's serial number. Hidden by default — enable it from Show/hide columns. |

The footer of the table shows two totals:
Both totals are calculated only on the rows you currently see — changing filters changes the totals. Values use the partner's display currency and number formatting.
The report walks through every status change recorded for an item during the period in chronological order, then keeps only the latest matching status the item had inside the period. This means:
The shown Date is the moment the status change was recorded on the item, not the invoice or transaction date. A sold item appears under the date when it was marked Sold, even if the invoice was issued on another day.
What it answers: what happened to each inventory item during the selected period — every status change, the date and time of each change, and the administrator who made it.


This tab runs immediately — there is no Show button. Changing any filter refreshes the table.

Rows are grouped by inventory item. Every item that had at least one status change inside the period appears once in the outer table. The outer columns are:
| Outer column | Description |
|---|---|
| ID | The internal identifier of the inventory item. |
| Product | The inventory product the item belongs to. |
| Supplier | The supplier of the supplier invoice the item was originally received on. |
| Barcode | The item's barcode. Hidden by default. |
| Serial number | The item's serial number. Hidden by default. |
| History | A nested sub-table listing every status change for this item in the period. |
The nested History sub-table has one row per status change, ordered by date and time descending. Its columns are:
| History column | Description |
|---|---|
| Status | The status the item moved into, rendered as a colored badge: In stock, Sold, Rent, Assigned, Returned, In transit, Damaged, In task, Deployed, or Internal usage. |
| Notes | Free-text notes recorded with the status change (if any). |
| Date & Time | When the status change was recorded. |
| Current status | The item's status right now (the same value repeats on every history row of the item). |
| Change made by | The administrator who recorded the change, shown as Name (ID). Empty when no matching admin-log entry exists — for example, when the period is older than the admin-log retention horizon, or when the change was made automatically by Splynx. |
Records of items that were later deleted are not included.
This section spells out how the report decides what to put in each calculated field.
The Price column is resolved in the following order. The first rule that matches wins:
transaction total ÷ transaction quantity. This is the unit price actually charged on the financial transaction.service unit price × service quantity of the linked customer service. If recurring transactions exist for that service inside the selected period, the price is replaced by the sum of transaction total ÷ quantity of those transactions — so service renewals during the period are reflected.The two totals at the bottom of the Sold & rented items table are calculated on the rows currently displayed:
They are recalculated whenever the filters change. They are not warehouse-wide aggregates — they only cover what your filters selected.
The Cost price value is the purchase price stored on the inventory item itself, typically populated from the supplier invoice when the item was received into stock. It does not change when the item is later sold, rented, or assigned — it always reflects what the item cost the company.
The Change made by column is resolved by looking up the admin operations log for an edit/create action on the inventory item, dated inside the selected period, matched to the status-change record by item ID, resulting status, and exact timestamp.
The column is intentionally left empty when no matching log entry exists. The most common reasons are:
Two columns appear or disappear automatically based on the active filters:
The Sold & rented items tab runs asynchronously to handle large date ranges without freezing the page:
Show.The Items history tab runs synchronously — there is no Show button, and the table refreshes as soon as you change a filter.
To customize what each table shows, use the buttons in the top-right corner above the table:
Sold & rented items:

Items history:


The search box above the table filters rows by their text content.