# SPEC — Session 2026-09-18 (Rently / RentCharge) **Status:** implemented · **Operador:** Roger **Ambientes:** prod + test (VM500) --- ## Alterações do dia ### EOD / EOW (ROI cash books) - **EOD** — End of Day till lift: rent SA + ancillary cash + credit settlements; line hash; snapshot gravado - **EOW** — End of Week remittance view (quinta → quinta), montado sobre EOD salvos; não é semana ISO Mon–Sun de billing - UI em `/receivables/roi-finance/eod` e `/eow` - Hash de linha alinhado ao fingerprint ROI (`source|id|amount|account|invoice|received_at`) ### TEST MODE - Faixa / badge **TEST MODE** na sidebar (`NEXT_PUBLIC_APP_ENV=test`) - Layout do menu ajustado (não cortado pelo padding do body) ### Relacionados - Continuidade KPI Period performance / dashboard (trabalho recente na mesma linha) ## Ficheiros principais - `backend/app/services/eod_report.py`, `eow_report.py` - `backend/app/modules/ledger/router.py` - `frontend/src/app/receivables/roi-finance/eod/`, `eow/` - `frontend/src/components/AppShell.tsx` - `frontend/src/lib/api.ts` ## Versão Pré-**006.2026** (fecho formal em 2026-09-19) ## Deploy - restart backends + frontends prod/test conforme ambiente