Actions
Feature #363
open
NP
NP
Sales & day close: match the prototype (KPIs, items, top sellers, search, export)
Feature #363:
Sales & day close: match the prototype (KPIs, items, top sellers, search, export)
Start date:
10/12/2026
Due date:
% Done:
0%
Estimated time:
Resolved By:
Description
Rebuild Sales & day close to prototype parity, per Navya request.
Scope agreed with Navya:
- StatCard-style KPIs: Gross / Subsidy / Net collected / Avg bill (icons, matches other pages)
- DomainFootnote banner (reworded to drop the prototype's payroll-recoverable claim, which conflicts with ADR-0003)
- Items column per bill row (name x qty)
- Top items card (ranked by qty sold, same filtered/standing scope as the other breakdowns)
- Bill-number search (server-side filter, case-insensitive)
- CSV export of the filtered register (new endpoint, mirrors the day-close journal CSV)
Backend: SaleRegisterService/SaleDtos/SalesController extended with Lines, TopItems, BillNumber filter and ExportCsvAsync. New integration tests in SaleRegisterServiceTests. Frontend: sales/page.tsx, sales-view.ts, queries/sales.ts updated to match.
NP Updated by Navya P. about 1 month ago
- Status changed from New to Resolved
- Resolved By set to Navya P.
Done. Commit 575b9ea on integration/canteen-v1.
- KPIs: StatCard icons for Gross / Subsidy / Net collected / Avg bill
- DomainFootnote banner, reworded off the prototype's payroll-recoverable claim (conflicts with ADR-0003)
- Items column per row + Top items card (new SaleRegisterService projection/aggregate over Sale.Lines)
- Bill-number search (server-side ILike filter)
- CSV export of the full filtered register (new /api/canteen/sales/register.csv endpoint)
24 backend integration tests (6 new/changed), 515 portal tests, type-check all green.
NP Updated by Navya P. about 1 month ago
- Assignee set to Navya P.
Actions