Skip to content

Inventory Dashboard

Backlog fieldValue
Story IDINV-DASH-001
EpicInventory
Story typeDashboard
Review statusDraft - business analyst and business owner review required
Source evidenceInventory MFE route/form, Inventory.Apis controller, application command/query handlers, validators, domain entities, and posting services
Last source review2026-07-10

Purpose

Give managers a current operational view of inventory activity, stock distribution, and risks.

User stories

  • As a branch manager, I want to see inventory totals and stock-movement statuses so that I can identify unfinished or unusual activity.
  • As an inventory controller, I want to see stock distributed by warehouse and category so that I can focus on material locations.
  • As an inventory controller, I want to see recent stock-in and stock-out transactions so that I can monitor daily operations.
  • As a warehouse user, I want to see expiring tracked items so that I can act before stock becomes unusable.

Acceptance criteria

  1. The dashboard shows only data within the user's company/branch scope.
  2. Totals, category data, warehouse data, status counts, recent stock-in, recent stock-out, and expiry information load independently.
  3. Warehouse summary navigation opens the Warehouses feature.
  4. Empty datasets show an empty state rather than a misleading zero-filled chart.
  5. An unavailable widget does not prevent the remaining dashboard widgets from being used.
  6. Dates, names, and numbers follow the current language and user preferences.

Data shown and interactions

  • Inventory totals summarize authorized on-hand data.
  • warehouse and category charts group current stock distribution.
  • status chart groups Stock In/Out transaction statuses.
  • recent Stock In and Stock Out widgets use the configured result count.
  • expiry items show tracking number and expiry context for actionable stock.
  • Clicking the warehouse summary navigates to the Warehouses page and still requires its List permission.
  • Dashboard data is read-only; clicking a chart must not post, adjust, reserve, or revalue stock.
  • Each widget has independent loading/error/empty states so one failed query does not misrepresent the others.

Frontend page coverage

The following UI coverage is sourced from the pulled MFE route configuration. A Module-level supporting artifact mapping is evidence of a reachable screen, but requires BA confirmation that it belongs to this story rather than a more specific feature story.

Route/pageComponentModeRoute permission/guardMapping confidenceSource
(module default)InventoryDashboardComponentDashboardNo route-level permission/guard found in source windowFeature token matchapps/inventory/src/app/remote-entry/dashboard/dashboard.module.ts:12

Observed frontend fields and validation

ComponentControlObserved frontend ruleComponent source
--No reactive formControlName controls were found for the routed components; review template-driven/shared child components.Route sources above

Observed frontend actions

ComponentClick action/handlerBusiness review requirementComponent source
--No direct (click) handler was found; review shared toolbar/table commands and form submission bindings.Route sources above

Page-specific frontend acceptance criteria

  1. (module default) - Dashboard: Load authorized summary values consistently with source reports, support exposed date/branch filters, and handle empty/error states. Security observed: No route-level permission/guard found in source window

Internal Documentation — Microtec