DSH-05 — Back-office stock pages
Stock overview and alerts, movements journal, receipts and adjustments, inventory sessions, warehouses, stock dashboard.
| Field | Details |
|---|---|
| Task code | DSH-05 |
| Phase | P1 — V1 build & integration |
| Product scope | V1 |
| Status | Planned |
| Start | Sun 15 Nov 2026 |
| Due | Sun 15 Nov 2026 |
| Responsible | Anis — Full-stack developer |
| Co-responsible | — |
| Effort | 0.75 person-day(s) planned · 4 from scratch · size S |
| Area · app | Back-office · dashboard |
| Depends on | DSH-04, SRV-13 |
| Unblocks | — |
| Milestones | — |
Summary
Stock overview and alerts, movements journal, receipts and adjustments, inventory sessions, warehouses, stock dashboard.
Description
The stock manager needs exact quantities, movements and inventories (cahier §3, §4.3; STK-01, STK-02, STK-04…STK-06) — the only place where stock numbers are visible (decision 1). On top of SRV-13, this task delivers the stock dashboard (BO-07), the stock overview with physical, reserved and available quantities and alerts (BO-33), the movements journal (BO-34), receipt and adjustment forms (BO-35), inventory sessions with counting and validation (BO-36) and warehouses (BO-37). Out of scope: catalog editing (DSH-04) and stock-system synchronisation (V2).
Subtasks
| # | Subtask | Owner |
|---|---|---|
| 1 | BO-07 stock dashboard: out-of-stock and low-stock counts, movements today, stock value at purchase price (gated), top stock-outs, links to filtered lists | Anis |
| 2 | BO-33 overview: reference, product, warehouse, physical, reserved, available, threshold, alert pill; filters warehouse, brand, category, alert state; inline threshold edit | Anis |
| 3 | BO-34 movements journal: date, StockMovementType, quantity, before/after, reference link (order, return, inventory), user; filters and export | Anis |
| 4 | BO-35 receipt and adjustment forms: multi-line entry with barcode scanner input, warehouse, reason, confirmation summary | Anis |
| 5 | BO-36 inventory sessions: create (warehouse, scope), counting grid with scanner input, differences review, validate with reasons | Anis |
| 6 | BO-37 warehouses: list and form, default selling warehouse, non-selling (quarantine) flag | Anis |
| 7 | Live stock alerts from the back-office SSE stream (toast and dashboard counter refresh) | Anis |
| 8 | Permission gating stock.view/create/update/validate/export | Anis |
Deliverables
- apps/dashboard/src/app/[locale]/(app)/stock/{page.tsx,dashboard/page.tsx,movements/page.tsx,receipts/new/page.tsx,adjustments/new/page.tsx}
- apps/dashboard/src/app/[locale]/(app)/stock/{inventory,warehouses}/…
- apps/dashboard/src/features/stock/ (scanner input, movement table)
Acceptance criteria
- Available always equals physical minus reserved on BO-33 for every row (STK-02)
- A receipt creates RECEIPT movements visible in BO-34 with the reference and user (STK-04)
- An adjustment without a reason cannot be submitted (STK-06)
- Validating an inventory session posts INVENTORY movements for every difference and the overview reflects the counted quantities (STK-06)
- A low-stock event appears as an alert without page reload (STK-05)
Requirements covered
| Requirement | Title | Release |
|---|---|---|
| STK-01 | Global stock or stock per warehouse | V1 |
| STK-02 | Physical, reserved and available stock (available = physical − reserved) with alert thresholds | V1 |
| STK-04 | Every stock variation is journaled (movement ledger) | V1 |
| STK-05 | Low-stock and out-of-stock alerts | V1 |
| STK-06 | Inventory sessions and adjustments with reasons | V1 |
Screens
| Screen | Name | App |
|---|---|---|
| BO-07 | Stock dashboard | BO |
| BO-33 | Stock overview | BO |
| BO-34 | Stock movements journal | BO |
| BO-35 | Stock receipt / adjustment | BO |
| BO-36 | Inventory sessions | BO |
| BO-37 | Warehouses | BO |
API surface
| Endpoint group | Operations |
|---|---|
| Stock | 8 |
Test measures
- Playwright e2e: receipt → overview → movements → inventory with one difference
- Component test for the scanner input (keyboard-wedge scanners)
- Manual check with a USB barcode scanner
KPI
- Delivered by Sun 15 Nov 2026 within 0.75 person-day(s).
- Every acceptance criterion above demonstrated before hand-off; linked requirements' acceptance criteria pass.
- Zero open critical defects, permission gaps or data-integrity regressions at sign-off.
Generated from content/plan/tasks.json by scripts/generate-team-tasks.mjs. Dates are computed by the scheduler (Sunday–Thursday weeks, holidays excluded) — change the plan, not this page.
DSH-04 — Back-office catalog & pricing pages
Products list, product editor (variants, images, specs, the three customer-type prices, attributes, visibility), brands, category tree, attribute definitions, import wizard.
DSH-06 — Back-office orders & delivery pages
Orders list with status tabs, the 'orders to confirm' queue (every order is confirmed by hand), order detail with controls, confirmation, refusal, modification and history, order on behalf, delivery board, carriers.