← All tests

NIX-OS-72 — Daily Sale Report (prod)

2026-04-23 on prod. First ticket post-R1. Operator-facing end-of-day view at /cafe/reports/daily. Pulls every pos.order for the selected business date (midnight→midnight in tenant timezone) and every NIX cafe.sessions row opened that day, cross-referencing via the shared Odoo session_id. Designed for printing — @media print CSS hides app chrome and keeps only the report body.

11/11 NIX-OS-72 prod click-through passed. Full flow: login → /cafe/reports shows new πŸ“… Daily Report link → click → today's report renders with Totals strip (Gross / Net / Orders / Refunds), Tender Breakdown, Top 15 Products, Sessions grid (per-register cards with cashier, beginning/ending cash, diff + reason, tender split) → ← Prev walks back a day → Today link bounces back → date-picker form navigates to specific date → Print / PDF button present and enabled. No 5xx on any request.
11/11 NIX-OS-72 + 54/54 prior-suite regression = 65/65 prod tests green. New page only — no schema migration, no changes to existing routes. One new DAO (listSessionsForDay), one new Odoo query (fetchDailyReport), one new utility file (lib/business-date.ts).