Navgold Stock Summary
A single-row-per-item stock overview that rolls up every warehouse Bin into one line, including a computed free (available-to-sell) quantity.
Purpose
- Sales, purchasing and stock teams use it for a fast, item-level view of stock across all (non-rejected) warehouses.
- Surfaces Free Qty = actual minus reserved, the quantity genuinely available to commit.
- Shows the full Bin quantity picture (actual, projected, reserved, requested, ordered) in one place.
How to Access
Desk > Reports > Navgold Stock Summary, or /app/query-report/Navgold%20Stock%20Summary.
Report type: Script Report. Reference DocType: Bin.
Filters
This report has no filters.
Columns
| Column | Type | Description |
|---|---|---|
| Item Code | Link (Item) | The Item (Item.name), grouped to one row per item. |
| Free Qty | Int | Sum(actual_qty) - Sum(reserved_qty) across the item's Bins — available to sell. |
| Actual Qty | Int | Sum(Bin.actual_qty) — physical on-hand. |
| Projected Qty | Int | Sum(Bin.projected_qty) — actual + incoming − outgoing commitments. |
| Reserved Qty | Int | Sum(Bin.reserved_qty) — committed against sales orders. |
| Requested Qty | Int | Sum(Bin.indented_qty) — quantity on Material Requests. |
| Ordered Qty | Int | Sum(Bin.ordered_qty) — quantity on Purchase Orders. |
How It Works
The report builds one query: Item left-join Bin (item.name = bin.item_code) left-join Warehouse (bin.warehouse = warehouse.name), summing the Bin quantity fields grouped by item.name. It keeps only enabled items (item.disabled = 0) whose Bin sits in a non-rejected warehouse (warehouse.is_rejected_warehouse = 0). Free Qty is computed in SQL as Sum(actual_qty) - Sum(reserved_qty) rather than read from a field, so it always reflects current Bin state.
flowchart LR IT["Item<br/>disabled = 0"] --> J["left join Bin<br/>on item_code"] BIN[Bin] --> J J --> W["left join Warehouse<br/>is_rejected_warehouse = 0"] W --> AGG["group by item.name<br/>Sum(actual, projected,<br/>reserved, indented, ordered)"] AGG --> FREE["Free Qty =<br/>Sum(actual) − Sum(reserved)"] FREE --> OUT[One row per item]
Notes
- Rejected warehouses (
is_rejected_warehouse = 1) are excluded, so quarantined/return stock does not inflate the totals. - Quantities are summed across all qualifying warehouses — this is an item-level roll-up, not a per-warehouse breakdown.
requested_qtymaps to Bin'sindented_qty(Material Request demand);ordered_qtyis Purchase Order supply.- Output is returned as positional rows (no dict), matching the column order above.
- Related: FBA Transfer Tracker for transfer-specific movement.