From f11ed711cba648ff1db27caa99e0abdea3ac677e Mon Sep 17 00:00:00 2001 From: roger Date: Sat, 19 Sep 2026 11:22:18 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20RentCharge=20006.2026=20=E2=80=94=20SPE?= =?UTF-8?q?C-SESSION-2026-09-14.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infra-Network/SPEC-SESSION-2026-09-14.md | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Infra-Network/SPEC-SESSION-2026-09-14.md diff --git a/Infra-Network/SPEC-SESSION-2026-09-14.md b/Infra-Network/SPEC-SESSION-2026-09-14.md new file mode 100644 index 0000000..b82fdf2 --- /dev/null +++ b/Infra-Network/SPEC-SESSION-2026-09-14.md @@ -0,0 +1,39 @@ +# SPEC — Session 2026-09-14 (Rently / RentCharge) + +**Status:** implemented · **Operador:** Roger +**Ambientes:** test + prod (frontend partilhado) + +--- + +## Alterações do dia + +### QuickPost modal +- **Cash Sale** — layout fiel ao mockup (âmbar); modal shell 920px +- **Credit Settlement** — UI mockup (azul), last 10 Credit Book history, `transaction_id` (`CT-`/`CR-`), balance after, Posted by; live over-settlement +- **Credit Sale** — UI mockup (vermelho), impact R-CB03 (consumo over-settlement), recent charges last 8 weeks, footer info + +### Backend ledger +- Coluna `service_ledger_entries.transaction_id` + backfill +- `GET /api/residents/{id}/credit-book` → `balance_after` + `transaction_id` + +### Residents KPI header +- Novo bloco visual (mockup KPI) em **`/people`** e **`/residents`** +- Clique filtra: All / Current / Up to date / Arrears / Former +- Lógica de contagem inalterada (`paymentStatus` + NP) + +### Ficheiros principais +- `frontend/src/components/QuickPostModal.tsx` +- `frontend/src/components/residents/ResidentsKpiHeader.tsx` +- `frontend/src/app/people/page.tsx` +- `frontend/src/app/residents/page.tsx` +- `frontend/src/app/globals.css` +- `backend/app/database.py`, `services/ledger.py`, `modules/ledger/router.py` +- `frontend/src/lib/api.ts` + +## Versão +**005.2026** — 2026-09-14 + +## Deploy +- `npm run build` frontend +- restart `rentcharge-frontend` + `rentcharge-test-frontend` +- backends se schema transaction_id (init_db)