# TODOS — ROACONT

Generat de /autoplan (review PRD eFactura OAuth2) pe 2026-07-07.

## P2 — Token broker pe romfast.ro (decizie de business)
- **Ce:** Serverul păstrează refresh token-urile per client și servește access token-uri
  la cerere; zero gestiune de token în aplicație, sincronizare multi-stație automată.
- **De ce:** Cabinetele de contabilitate au multe stații; azi tokenul se gestionează
  per instalare. Broker-ul elimină complet subiectul „token" din aplicație.
- **Pro:** UX 10x (nicio generare per stație); suport aproape zero pe subiect.
- **Contra:** Vendorul devine custode al accesului la datele fiscale ale clienților —
  răspundere, GDPR, consimțământ contractual. Decizie comercială, nu tehnică.
- **Context:** Arhitectura aleasă în PRD (server deja intermediar la schimbul
  code→token, stocare temporară cu state) lasă ușa deschisă. De pornit de la
  PRD_efactura_oauth2_autoflow.md, secțiunea „Variante respinse".
- **Efort:** L (uman) → M (cu CC). **Depinde de:** decizie comercială + analiză GDPR.

## P3 — Avertizare proactivă expirare certificat calificat
- **Ce:** ROA avertizează cu N zile înainte de expirarea certificatului din SPV
  (diferit de expirarea tokenului, deja acoperită de RefreshTokenAuto).
- **De ce:** Certificatul expirat = eFactura moartă + drum la furnizorul de semnătură;
  utilizatorii află abia când eșuează.
- **Pro:** elimină o categorie de urgențe. **Contra:** data expirării certificatului
  nu e azi persistată în ROA — necesită captură la generarea tokenului (JWT-ul ANAF
  conține serialul certificatului) sau introducere manuală.
- **Efort:** M → S. **Depinde de:** decodare JWT în ROA sau câmp nou în opțiuni.

## P3 — Extinderea infrastructurii state+pickup la celelalte produse ROA
- **Ce:** Aceeași pereche index.php/pick.php + funcțiile VFP mutate în COMUNROA pentru
  ROAGEST, ROACASA etc.
- **De ce:** Toate produsele suitei au aceeași problemă de token eFactura.
- **Pro:** o singură implementare întreținută. **Contra:** blast radius COMUNROA
  (schimbările ripple în toate produsele — vezi CLAUDE.md „Shared code").
- **Efort:** M → S. **Depinde de:** stabilizarea fluxului în ROACONT (un ciclu de release).

## ~~Lansare automată a fluxului de token nou la eșec definitiv de refresh~~ — PRELUAT
Decis la poarta /autoplan (D3, 2026-07-07): utilizatorul o implementează direct în VFP
(legarea mesajului de expirare refresh de apelul newToken). Nu mai e item deschis aici.
