---
title: "Lists report-ready on-hand inventory rows from the inventory reporting view, including per-unit and
extended valuation (material/labor/machine/OP), lot and location context, and item categorization
so callers do not need to hand-join inventory to lots, items, and their details. Returns exactly
one row per (item, lot, location), so summing on-hand quantity or value across the rows does not
over-count a lot."
method: POST
path: "/api/reporting/inventory/list"
tags: ["Reporting"]
---

# Lists report-ready on-hand inventory rows from the inventory reporting view, including per-unit and
extended valuation (material/labor/machine/OP), lot and location context, and item categorization
so callers do not need to hand-join inventory to lots, items, and their details. Returns exactly
one row per (item, lot, location), so summing on-hand quantity or value across the rows does not
over-count a lot.

`POST /api/reporting/inventory/list`

## Query parameters

- `Sort.Field` string
- `Sort.Dir` 'ascending' | 'descending' — Specify sorting direction.
- `Skip` integer
- `Take` integer

## Request body

- DtoReportingInventoryReportFilter — Constrained filter for the inventory reporting list endpoint. Every field maps to a fixed, server-controlled column; values are always bound as Dapper parameters and never concatenated into SQL.
  - `itemNumber` string, nullable — Optional exact-match filter on the item number (the user-facing item identifier). Null means no item filter.
  - `locationName` string, nullable — Optional exact-match filter on the inventory location name. Null means no location filter.
  - `category` string, nullable — Optional exact-match filter on the item category. Null means no category filter.

## Response `200`

A page of inventory report rows with the total matching count.

- DtoPagedResultDtoDtoReportingInventoryReportRow — Paged result
  - `data` DtoReportingInventoryReportRow[], required — The data
    - `number` string, nullable — Item number (the user-facing identifier for an item).
    - `description` string, nullable — Item description.
    - `revision` string, nullable — Item revision label.
    - `origin` string, nullable — Item origin classification (e.g. Make, Buy, MakeOrBuy, CustomerSupplied).
    - `isSellable` string, nullable — "Sellable" when the item can appear on a sales order line, otherwise empty.
    - `primaryVendorName` string, nullable — Default vendor name for purchasing the item (Buy or MakeOrBuy items only).
    - `tags` string, nullable — Comma-separated list of descriptive, user-applied tags on the item.
    - `minimumStockOnHand` number, double, nullable — Configured minimum stock threshold for reorder planning.
    - `unitOfMeasureName` string, nullable — Inventory unit of measure (e.g. Piece, Foot, Centimeter).
    - `accountingCode1` string, nullable — Primary accounting code mapped to this item.
    - `accountingCode2` string, nullable — Secondary accounting code, when configured.
    - `accountingClass` string, nullable — Accounting classification.
    - `category` string, nullable — Item category for grouping.
    - `isArchived` string, nullable — "Archived" when the item is archived and no longer in active use, otherwise empty.
    - `shippingUnitWeight` number, double, nullable — Weight per inventory unit used for shipping calculations.
    - `materialUnitWeightLbs` number, double, nullable — Underlying material weight per unit, in pounds, for raw-material shape items.
    - `onHandQty` number, double, nullable — Quantity currently on hand for this lot at this location.
    - `lotNumber` string, nullable — Lot identifier.
    - `expirationDate` string, date-time, nullable — Lot expiration date when applicable.
    - `locationName` string, nullable — Inventory location name.
    - `isCustom` string, nullable — "Custom" when the lot holds customized / non-standard variations of an item, otherwise empty.
    - `materialValue` number, double, nullable — Per-unit value of input materials required to produce the items in this lot.
    - `laborValue` number, double, nullable — Per-unit value of labor required to produce the items in this lot.
    - `machineValue` number, double, nullable — Per-unit value of equipment time required to produce the items in this lot.
    - `outsideProcessingValue` number, double, nullable — Per-unit value of outside processes required to produce the items in this lot.
    - `totalUnitValue` number, double, nullable — Sum of per-unit cost components (material + labor + machine + OP).
    - `totalValue` number, double, nullable — On-hand quantity × total unit value (extended inventory value).
  - `page` integer, required — The 1-indexed page
  - `pageSize` integer, required — The page size
  - `totalCount` integer, required — The total count of records
  - `totalPages` integer, required — The total pages
  - `hasPreviousPage` boolean, required — True if there is a previous page
  - `hasNextPage` boolean, required — True if there is a next page

## Other responses

- `403` — The viewer lacks the View Inventory permission.

---

[API](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fulcrumpro/fulcrum-publicapi/versions/1b5649cff14a/schema)
