3 KiB
3 KiB
SPEC — Session 2026-09-19 (Rently / RentCharge)
Status: implemented · Operador: Roger
Ambientes: prod + test (VM500)
Versão: 006.2026
Alterações do dia
1. Week Payments Maps (/mapa)
All cash payments in this period (única secção com Hash / Ticket / Txn):
- Colunas: Date, Resident, Room, Hash, Invoice / Ticket, Txn, Time (só Rent), Account, Rent €, Other €, Total €
- Cabeçalho profissional + botão Period (
period_headline) - Ancillary cash incluído nesta tabela; rodapé com totais
- Fontes Hash/Txn alinhadas às outras colunas
Residents in period (comportamento — não alterar para detalhe de txn):
- Removida coluna “Payments this period”
- Cabeçalhos: weekly due · cash done
- Prior lookback: 6 semanas (W−1…W−6)
2. Public Txn IDs — SPEC-TRANSACTION-IDS.md
| Tipo | Formato |
|---|---|
| Rent manual | NNNNNN-M · Ref 02_XXXXXX |
| Cash ancillary | 000000-AA (9 chars): 000084-ME, 000010-EL, 000001-KC, DN, LY |
| Credit sale / settlement | CR-… / CT-… (canal) |
| Import | Mantém ids do ficheiro |
- Hash ROI/EOD:
payment_txn_hash/payments.txn_hashno post de renda - Migração histórica:
CS-…→ prefixo conta → padded000000-AA - EOD gravados descongelados e regenerados (totais iguais; content hash atualizado)
- Backups:
backend/data/arrears_pre_*_20260919_*.db(+ test)
3. Nomes de tabelas (fora ROI)
- Ficha residente: Payment history
- People hub tab: Recent cash payments
- Payables: Remittance by account
4. Invoice / Ticket — flag Required
- Componente partilhado
TicketInvoiceField - Verde Required por defeito (desmarcável → Optional) em todos os tabs do QuickPost (+ Add payment em dashboard, people, residents, mapa, receivables)
- Campo pisca a vermelho se Required e vazio no Post
- Também no Edit payment da ficha do residente
- Evita assumir Receipt No (SA) como ticket
5. People hub — Search pulse
- Com All Residents selecionado, o campo Search pisca (verde) para o operador localizar a pesquisa
6. Specs / docs
- Novo:
SPEC-TRANSACTION-IDS.md,SPEC-SESSION-2026-09-18.md, este ficheiro,releases/006.2026.md - Atualizados:
SPEC-PAYMENTS-MAP-WEEK-PRINT.md,SPEC-ACCOUNT-RECEIVABLES.md,VERSION.md
Ficheiros principais
backend/app/services/ledger.py,payment_map.py,eod_report.py,weekly_charges.py,main.pyfrontend/src/app/mapa/page.tsx,people/page.tsx,payables/page.tsx,residents/[id]/page.tsxfrontend/src/components/QuickPostModal.tsx,TicketInvoiceField.tsx,residents/ResidentSearchToolbar.tsxfrontend/src/app/globals.css,lib/api.tsdocs/SPEC-TRANSACTION-IDS.md,docs/VERSION.md
Deploy
npm run buildprod + test (NEXT_PUBLIC_APP_ENV=testno test)systemctl restartrentcharge-{backend,frontend}+rentcharge-test-*- Specs → Forgejo
myvexx/rently+ Obsidian CT130 viascripts/sync_obsidian.py