Get the Inventory Valuation report
Returns one row per product with its current on-hand position — active, assembling, reserved, available, incoming, and pending-output quantities — alongside the product's descriptive attributes (SKU, vendor, brand, unit type, category, subcategory, group, owner), its unit cost and price, its inventory alert thresholds, and its active inventory value. This is a read-only snapshot computed at request time; it never changes inventory, and does not touch compliance systems (Metrc/BioTrack). Use it to reconcile stock and value a company's holdings, not to drive stock movements.
Quantities are derived, not stored verbatim: • available_quantity is active_quantity minus reserved_quantity, and can be negative when reservations exceed on-hand stock. • incoming_quantity sums quantities on open (not-yet-received) purchases; pending_output_quantity sums the output still owed by open assemblies. • Active and assembling quantities count only inventory that is itself active. When location_ids and/or user_ids are supplied, the counted stock is narrowed to those locations and users (see those params).
The active value is active_quantity × unit price by default. Pass calculation_method=cost to value it by unit cost instead; this also renames the value column (active_value_price becomes active_value_cost). A product with no unit cost set is valued at 0 under cost (unit price is always set, so price never hits this case).
Every value is returned as it appears in the report's CSV export, with numeric cells returned as strings (currency and comma formatting stripped, matching the rest of the API); a few identifier-like values with significant leading zeros keep their display string. Any Product custom fields configured for the company are appended as extra keys on each row (one per custom field), so the row shape varies by company. Report-level information (the resolved report date and column definitions) is returned under meta. All matching products are returned; there is no pagination. Rows come back ordered by available_quantity, highest first.
Required permission: reports_permissions_inventory_valuation.
Query parameters
Keeps only products that match the term. Matching is case-insensitive: a product is kept when the term appears anywhere in its name or SKU, or when the term is a close fuzzy match on the name (so minor misspellings of the name still match). Omit (or pass empty) to return every product.
How to value active inventory. price (the default when omitted) values each product at active_quantity × unit price; cost values it at active_quantity × unit cost and renames the value column from active_value_price to active_value_cost. A product with no unit cost set is valued at 0 under cost.
Narrows the active/assembling/reserved/incoming/pending-output stock counted to these locations. Values are Distru location IDs. Combined with user_ids as a union — stock counts if it sits at any listed location OR belongs to any listed user. Omit (or pass empty) to count stock across all locations.
Narrows the counted stock to inventory belonging to these users. Values are Distru user IDs. Combined with location_ids as a union (see that param). Omit (or pass empty) to count stock across all users.
Keeps only products supplied by these vendors. Values are Distru vendor IDs (the vendor company relationship). Omit (or pass empty) to include every vendor.
Keeps only products under these brands. Values are Distru brand IDs (the brand company relationship). Omit (or pass empty) to include every brand.
Response
The Inventory Valuation report
Changes
No recorded changes to this endpoint across all 1 revision of this API.