Warehouses & Stock

Last updated on 2026-04-05

The warehouses and stock module provides multi-location inventory visibility. It includes warehouse management, a consolidated stock overview, stock adjustment tracking for corrections and write-offs, and inter-warehouse transfer workflows. All screens share the (dashboard) route group layout.

Warehouse List

Route: /warehouses

A card-based overview of all warehouse locations with summary metrics.

  • Warehouse cards -- each card displays the warehouse name, address, total SKU count, total stock quantity, capacity utilization bar, and status indicator (Active/Inactive)
  • Search -- text input filtering warehouses by name or location
  • Sort -- sort by name, total stock, or capacity utilization
  • Grid/list toggle -- switch between card grid view and compact list view
  • Quick stats row -- top-level summary showing total warehouses, total stock units across all locations, total stock value, and average capacity utilization
import { WarehouseCard } from "@/components/inventory/warehouse-card"
import { WarehouseStats } from "@/components/inventory/warehouse-stats"

Data Sources

Data Source Location
Warehouses warehouses data/seed.ts
Stock levels stockLevels data/seed.ts

Warehouse Detail

Route: /warehouses/[id]

A detailed view of an individual warehouse with stock-level breakdowns and recent activity.

  • Warehouse header -- name, full address, contact person, phone, email, status badge, and capacity utilization ring chart
  • Stock levels table -- data table of all products stocked at this warehouse with:
    • Product name (linked to product detail), SKU, category
    • Current quantity, reorder point, stock status indicator
    • Visual stock level bar showing quantity relative to reorder point
    • Last restocked date
  • Search and filters -- search by product name or SKU, filter by stock status (In Stock, Low Stock, Out of Stock) and category
  • Low-stock alerts -- highlighted section at the top showing products below their reorder point, with a "Create PO" quick action button
  • Recent activity -- timeline of recent stock movements at this warehouse (receives, adjustments, transfers in/out)
  • Capacity overview -- visual breakdown of capacity by product category using a stacked bar or donut chart
import { WarehouseHeader } from "@/components/inventory/warehouse-header"
import { WarehouseStockTable } from "@/components/inventory/warehouse-stock-table"
import { LowStockAlerts } from "@/components/inventory/low-stock-alerts"

Warehouse Detail Layout

┌─────────────────────────────────────────────┐
│ Warehouse Name        Status    Capacity    │
│ Address  Contact  Phone  Email  [ring chart]│
├─────────────────────────────────────────────┤
│ ⚠ Low Stock Alerts (3 products)  [Create PO]│
├─────────────────────────────────────────────┤
│ Stock Levels                                │
│ [Search] [Status ▼] [Category ▼]            │
│ ┌──────┬─────┬─────┬────────┬──────────────┐│
│ │ Name │ SKU │ Qty │ Status │ Level Bar    ││
│ └──────┴─────┴─────┴────────┴──────────────┘│
├─────────────────────────────────────────────┤
│ Recent Activity Timeline                    │
└─────────────────────────────────────────────┘

Stock Overview

Route: /stock

A consolidated view of stock across all warehouses with aggregate metrics and visualizations.

  • KPI cards -- total products, total stock units, total stock value, low-stock count, and out-of-stock count
  • Stock by warehouse chart -- grouped bar chart showing stock quantities per warehouse, broken down by stock status (in stock, low, out of stock) via Recharts
  • Stock by category chart -- donut chart showing stock value distribution across product categories
  • Aggregate stock table -- data table with one row per product showing product name, SKU, category, total quantity across all warehouses, total value, stock status, and a sparkline of stock trend over the past 30 days
  • Search and filters -- search by product name or SKU, filter by category and stock status
  • Export -- button to export the stock overview as CSV
import { StockKPICards } from "@/components/inventory/stock-kpi-cards"
import { StockByWarehouseChart } from "@/components/charts/stock-level-chart"
import { StockByCategoryChart } from "@/components/charts/category-breakdown"
import { AggregateStockTable } from "@/components/inventory/aggregate-stock-table"

Stock Adjustments

Adjustments List

Route: /stock/adjustments

A data table of all stock adjustments made across the system.

  • Data table -- columns for adjustment ID, date, product name, warehouse, adjustment type badge, quantity change (+/-), reason, performed by (user name), and notes
  • Type filter -- filter by adjustment type: Count Correction, Damage Write-off, Return, Shrinkage, Other
  • Date range -- filter adjustments by date range
  • Search -- filter by product name, SKU, or adjustment ID
  • Create button -- "New Adjustment" button in the page header
import { AdjustmentsTable } from "@/components/inventory/adjustments-table"

Adjustment Types

Type Icon Description
Count Correction RefreshCw Physical count differs from system count
Damage Write-off AlertTriangle Items damaged and removed from inventory
Return CornerDownLeft Items returned to stock
Shrinkage TrendingDown Unexplained inventory loss
Other MoreHorizontal Miscellaneous adjustments

New Adjustment

Route: /stock/adjustments/new

A form for recording a stock adjustment.

  • Product -- product select (searchable), shows current stock at selected warehouse
  • Warehouse -- warehouse select, displays current quantity after selection
  • Adjustment type -- select from Count Correction, Damage Write-off, Return, Shrinkage, Other
  • Quantity -- number input for the adjustment amount (positive to add, negative to subtract)
  • New quantity preview -- read-only field showing what the stock level will be after the adjustment
  • Reason -- required textarea explaining the adjustment
  • Reference -- optional reference number (e.g., damage report ID, return authorization)
  • Confirmation -- review card showing product, warehouse, current stock, adjustment, and new stock before submitting
import { AdjustmentForm } from "@/components/inventory/adjustment-form"

Stock Transfers

Transfers List

Route: /stock/transfers

A data table of all inter-warehouse stock transfers.

  • Data table -- columns for transfer ID, date, product name, source warehouse, destination warehouse, quantity, status badge, initiated by, and notes
  • Status filter -- filter by status: Pending, In Transit, Completed, Cancelled
  • Date range -- filter transfers by date range
  • Search -- filter by product name, transfer ID, or warehouse name
  • Create button -- "New Transfer" button in the page header
import { TransfersTable } from "@/components/inventory/transfers-table"

Transfer Status Flow

Status Color Description
Pending gray Transfer created, awaiting dispatch
In Transit blue Items have left source warehouse
Completed green Items received at destination warehouse
Cancelled red Transfer cancelled before completion

New Transfer

Route: /stock/transfers/new

A form for initiating a stock transfer between warehouses.

  • Product -- product select (searchable), shows stock at each warehouse
  • Source warehouse -- select from warehouses that have stock of the selected product
  • Destination warehouse -- select from all warehouses except the source
  • Quantity -- number input, validated against available stock at source warehouse
  • Available stock display -- shows current stock at source and destination after selections
  • Notes -- optional textarea for transfer notes or special handling instructions
  • Confirmation -- review card showing product, source, destination, quantity, and expected stock levels at both locations after transfer
import { TransferForm } from "@/components/inventory/transfer-form"

Data Sources

Data Source Location
Warehouses warehouses data/seed.ts
Stock levels stockLevels data/seed.ts
Adjustments stockAdjustments data/seed.ts
Transfers stockTransfers data/seed.ts
Products products data/seed.ts

Next Steps