Skip to main content

Inventory Report Builder

Route: /org/inventory/reports · Permission: Open the inventory report builder (view) / Manage saved reports Module: org_inventory_reports · Menu: Inventory Reports (under Inventory)


1. What the Inventory Report Builder is​

A drag-and-drop report designer over the selected project's inventory. You choose the dataset (Products, Stock Movements, Production Orders or Raw Materials), drag fields into Rows, Columns, Measures and Filters, press Run, and read the result as a pivot table or a chart. Reports can be saved for reuse, privately or shared with the project.

It is the same builder as Task Reports and its siblings, pointed at inventory data.

Two stock truths — deliberately two different numbers

Stock (balance) on Products and Raw Materials reads the materialised current_stock — the balance the product pages show. The Stock Movements dataset reads the signed ledger (positive = stock in, negative = out) — the movement history. Summing ledger movements does not have to equal today's balance (imports, product edits and order flows also touch balances), so the builder labels them differently and you should never present them as the same figure.


2. How a report is put together​


3. Building and running a report — step by step​

Step 1 · Pick the dataset​

Products (catalog shape, prices, stock balances, ratings), Stock Movements (the signed ledger: purchases, sales, production, consumption, adjustments, transfers, wastage), Production Orders (planned vs produced, yield, cycle time) or Raw Materials (balances and reorder levels). Switching clears the canvas (the page asks first).

Step 2 · Drag fields into the zones​

Same interaction as the other builders. Filter pickers offer the project's categories, units, products and raw materials (multilingual names shown in English), the fixed 7 transaction types and 4 production statuses, and project members for "Posted By".

Step 3 · Run, read, drill​

  • Table — pivot with totals; two or more row dimensions become collapsible groups with subtotal rows.
  • Chart — bar (stacked with a pivot column or a second row dimension), line (best with a date grain), pie.
  • Drill-down — click any number: a drawer lists the underlying rows (products, ledger entries, orders or materials). Inventory rows deliberately carry no deep links — the product detail page requires the edit permission, and ledger/production rows have no routable detail.

Step 4 · Save, share, templates, export​

Identical to the other builders: private saves with a Share with project toggle, Save as, a Templates menu (Products by Category, Out-of-Stock Products, Stock Movement by Month × Type, Purchase Value by Month, Wastage by Item, Production Yield, Low Stock Raw Materials…), CSV download, and print-to-PDF.


4. Field reference​

DatasetDimensionsMeasuresNotable filters
ProductsProduct, Category (primary), Unit, Publishable, Preorder, Internal Only, Out of Stock, Created dateCount, Sum/Avg Stock (balance), Avg/Min/Max Base Price, Avg Rating, ReviewsName contains, any dimension
Stock MovementsTransaction Type (7 fixed), Item Kind (product / raw material), Item, Product, SKU, Posted By, Batch #, Posted / Expiry date (grain)Count, Sum Net Quantity (signed), Quantity In, Quantity Out, Movement Value (qty
Production OrdersStatus (DRAFT / IN_PROGRESS / COMPLETED / CANCELLED), Finished Good, Created/Started/Completed dateCount, Sum Planned/Produced Qty, Avg Yield %, Avg Cycle HoursAny dimension
Raw MaterialsMaterial, Unit, Low Stock, Created dateCount, Sum Stock (balance), Reorder Level, Avg Last Purchase PriceName contains

Semantics worth knowing​

FieldMeaning
CategoryThe product's primary category (multi-category products count once — no double counting)
Net QuantityThe signed ledger delta: PURCHASE/PRODUCTION_IN positive, SALE/CONSUMPTION_OUT/WASTAGE negative
Movement Value`
Low Stockcurrent_stock ≤ reorder_level (reorder levels exist on raw materials only)
Yield %produced ÷ planned × 100 per production order
Stock Movements scopeIncludes legacy ledger rows that carry no project, like the app's ledger view

5. The admin contract​

PrerequisiteWithout it
Open the inventory report builder permissionNo access to the page
Inventory Reports menu permissionNo sidebar entry
Manage saved reports permissionRun and export only — no Save / Share / Delete
A selected project with inventory dataEmpty datasets
Unit costs on ledger entriesMovement Value reads zero
Reorder levels on raw materialsLow Stock never triggers

6. Downstream​

Read-only over inventory data. The only thing a report writes is its own saved definition. Shared reports are also readable (and runnable) through the Orbit public API (developers.<your-domain> — Orbit Inventory → Inventory Reports, scope inventory:report:read, shared reports only). Private reports are never exposed there.


7. Don't confuse this with…​

ScreenRouteShows
Inventory Report Builder (this page)/org/inventory/reportsReports you compose, saved and shared
Ledger/org/inventory/ledgerIndividual ledger entries, filterable, exportable
Products list/org/inventory/productsIndividual products, editable
Production board/org/inventory/productionIndividual production orders, actionable
Task Reports/org/tasks/reportsThe same builder over tasks

8. Troubleshooting​

SymptomCause
Ledger totals ≠ product stock balancesThe two stock truths — balances are also touched by imports/edits/orders, not only the ledger
Movement Value is zeroThe entries were posted without a unit cost
A product counts in one category onlyThe Category dimension uses the primary category by design (no fan-out double counting)
Wastage shows positive numbersUse Quantity Out for magnitude; Net Quantity is signed (wastage is negative)
Run is disabledA report needs at least one row/column dimension and one measure
A filter seems ignoredIt has no value yet — half-filled filters are skipped, not applied
A saved report is read-onlyShared by someone else — Save as makes your own copy