🏠HOA Manager
← Toate articolele
Ghid completActualizat 18 iulie 202619 module • 30 minute citire integrală

Toate funcționalitățile HOA Manager — vizual, explicit, fără jargon

19 module descrise cu scenarii reale „înainte vs după", status onest (✅ funcțional / 🚧 în dezvoltare), beneficii concrete per rol. Folosește căutarea de mai jos pentru a găsi rapid ce te interesează sau navigația din stânga pentru a sări direct la un modul. La final, arhitectura platformei (multi-asociație, multi-utilizator, multi-bloc) și măsurile de securitate.

19
Module integrate
9
Roluri RBAC
30+
Permisiuni per rol
100%
Conform Legii 196
🔍
🏢
Modul 1

Administrare proprietăți + coproprietari multipli

👤 Administrator
Inventar complet apartamente fără Excel-uri. Coproprietari cu cote separate, chiriași informați cu consimțământ.
⭐ Președinte
Vizibilitate transferuri și structură ownership cu istoric clar.
🏠 Proprietar
Pagina apartamentului tău cu toate datele într-un loc; soțul și soția pot avea conturi separate — fiecare vede lista de plată și primește notificări. La ședință, unul dintre ei reprezintă apartamentul.
❌ Înainte
  • Caiet cu apartamente scris de mână
  • Cota indiviză calculată cu calculator
  • Doar unul din soți primește informări; celălalt află de la vecini
  • Chiriașul nu știe când e ședință sau când vine lucrătorul la ascensor
  • Transferuri de proprietate documentate pe hârtie
  • Garaj/parcare atașate apartamentului în alt dosar
✅ Cu HOA Manager
  • Registru digital cu toate unitățile
  • Cota indiviză calculată automat din suprafață
  • Soț + soție ca 2 coproprietari cu conturi separate; ambii primesc liste, notificări, anunțuri; convocatorul AGA ajunge la proprietarul principal; oricare poate reprezenta apartamentul la ședință
  • Chiriașul adăugat cu email; primește anunțuri (cu consimțământ) și somații (dacă e cazul)
  • Transfer cu invitație email — auto-arhivare
  • Garaj/parcare/boxă legate vizual la apartament

🎯 Ce face concret

  • Tipuri de unități — apartament, garaj, parcare, boxă, spațiu comercial, altele. Fiecare cu câmpurile specifice (proprietar/chiriaș la apartament, doar proprietar la boxă).
  • Cota indiviză automată — calculată din suprafața utilă, sau introdusă manual dacă ai cota stabilită prin cadastru. Suma totală a cotelor pe bloc trebuie să fie 100% — sistemul validează.
  • Multi-coproprietari V1 — un apartament poate avea mai mulți coproprietari, fiecare cu cotă parte în procente și date de contact separate (nume, telefon, email). Coproprietarii pot fi înregistrați fără cont pe platformă (ghost owner — util pentru succesiuni în procedură) sau cu invitație opțională către un cont propriu.
  • Istoric proprietari per apartament — la fiecare transfer (vânzare, moștenire, donație), o linie nouă cu data, motivul, noul proprietar. Util pentru moștenitori și pentru controale.
  • Chiriași și mandatari — apartamentele închiriate au chiriaș cu nume, telefon, email, cont opțional. Mandatarii (interni ai comitetului sau externi cu procură foto obligatorie) apar în picker Roluri ședință și în PV cu marker distinct.
  • Unități asociate — un apartament poate avea garaj #G-12 + parcare #P-8 + boxă #B-3 legate. Vizibile împreună pe pagina apartamentului.
  • Transfer ownership cu invitație — vinzi apartamentul? Completezi datele noului proprietar, sistemul îi trimite email cu link, el își creează cont, apartamentul îi aparține automat. 3 minute în total.

👫 Coproprietari — cont separat pentru fiecare, reprezentant ales la ședință

Un apartament poate avea orice număr de coproprietari — soț + soție, moștenitori (2-3-4 copii), asociați cu cotă indiviză, indiviziuni post-partaj. Fiecare coproprietar are:

  • Cota parte proprie (ex: soț 50% + soție 50%, sau moștenitori 33% + 33% + 34%) — configurată la adăugare. Suma cotelor coproprietarilor unui apartament trebuie să fie 100%.
  • Cont propriu opțional — dacă completezi email-ul și trimiți invitația, coproprietarul primește link de activare, își setează parola și devine utilizator distinct pe platformă.
  • Vedere a apartamentului — cu cont propriu, coproprietarul vede lista de plată curentă și istorică a apartamentului, primește notificări proprii, primește anunțuri. Declararea indecșilor de contoare rămâne la proprietarul principal setat pe apartament (o singură declarare per apartament, indiferent de câți coproprietari sunt).
  • La ședință: mai mulți coproprietari pot participa, unul singur votează — mai mulți coproprietari ai aceluiași apartament pot fi prezenți fizic la ședință. La check-in, secretarul (sau administratorul) marchează apartamentul ca prezent și selectează dintre coproprietarii prezenți pe cel care va vota — el devine reprezentantul apartamentului pentru această ședință. Ceilalți coproprietari participă la discuții și dezbateri, dar nu votează individual — apartamentul votează o singură dată, prin reprezentant, cu cota lui indiviză integrală. La ședința următoare poate fi ales alt reprezentant.
  • Un singur vot ponderat per apartament — reprezentantul selectat exprimă „pentru", „împotrivă" sau „abținere" pentru cota totală a apartamentului. Modelul respectă Legea 196/2018 art. 46 care spune că voturile sunt exprimate „pe unitate de proprietate imobiliară", nu fracționat între coproprietari. Interpretarea finală pentru cazul concret (ce se întâmplă la dezacord între coproprietari) rămâne la asociație împreună cu consultantul juridic.
  • Ghost owner — coproprietar înregistrat fără cont (util pentru succesiuni în procedură, moștenitori străini, cazuri complicate). Apare corect în evidență, dar operațiunile digitale trec prin administrator sau prin ceilalți coproprietari cu cont.
📝 Scenariu: Ap. 12 — soț + soție cu conturi separate, ambii pot participa, unul singur votează
Ap. 12 e proprietatea comună a lui Andrei Popescu și a soției lui, Maria Popescu, cu cotă 50%-50%. Administratorul îi adaugă ca 2 coproprietari și trimite invitații pe cele două adrese de email (andrei@… și maria@…). Fiecare își activează contul.

În fiecare lună, ambii văd lista de plată în dashboard-ul contului lor, ambii primesc anunțurile de la asociație pe email + push.

La AGA din 25 septembrie, ambii vin la ședință. Discută punctele de pe ordinea de zi cu vecinii, ambii participă activ. La check-in, secretarul marchează prezența ap. 12 și, din lista celor doi coproprietari prezenți, îl selectează pe Andrei ca reprezentantul care va vota (decizia lor comună, comunicată secretarului). Apartamentul 12 apare în lista de prezență cu cota indiviză integrală (6%). La votul pentru izolarea fațadei, Andrei apasă „pentru" în numele apartamentului — cota 6% se adaugă la totalul „pentru". Maria a participat la dezbatere, dar nu votează separat: apartamentul votează o singură dată, prin reprezentantul ales.

La AGA din decembrie, Andrei e plecat în delegație și doar Maria vine. Secretarul o marchează prezentă și o setează ca reprezentanta ap. 12 pentru această ședință. Apartamentul contribuie tot cu cota 6% totală, votul Mariei valorează cât ar fi valorat al lui Andrei. Zero dispute despre „cine reprezintă apartamentul de data asta" — decizia lor internă, sistemul o consemnează la check-in prin selectarea reprezentantului. Pentru cazurile de dezacord serios între coproprietari (ex: unul vrea izolare, celălalt nu), procedura corectă rămâne la interpretarea asociației cu consultantul juridic.

🔑 Chiriași — adăugare, informare, notificări, comunicări

Apartamentele închiriate se pot marca cu chiriaș ca ocupant curent. Chiriașul are nume, telefon, email și opțional cont propriu (adăugare din pagina apartamentului cu buton „📧 Creează cont aplicație + trimite invitație", rol chiriaș). Chiriașul cu cont vede apartamentul (read-only pentru datele de proprietate) și poate deschide sesizări (defecțiuni, probleme comune).

Ce primește chiriașul, ca să fie informat despre activitatea asociației:

  • Anunțuri către membri și CEx — inclusiv informări curente (deratizare programată, verificare ascensor, restricții parcare) și anunțuri oficiale cu PDF semnat. Livrate pe email + notificare in-app + push (dacă a activat PWA). Consimțământ explicit necesar pentru anunțurile non-urgente (GDPR — chiriașul e terț față de proprietate; bifează „Primesc anunțuri generale de la asociație" în Setări → Notificări). Anunțurile marcate URGENT ajung direct la chiriaș fără consimțământ, considerat interes vital (întreruperi apă/gaz, evacuare, urgențe siguranță).
  • Somații pentru restanțe — dacă chiriașul are cont pe platformă și e marcat ca ocupant curent al apartamentului, primește somațiile odată cu proprietarul (recipient_role „tenant" în registru, alături de recipient_role „owner"). Notă: obligația legală de plată a întreținerii rămâne, în principiu, la proprietar; contractul de închiriere reglementează cine plătește efectiv. Interpretarea finală rămâne la asociație împreună cu consultantul juridic.
  • Lista de plată — dacă a activat contul, chiriașul vede lista curentă în dashboard-ul lui (read-only). Util pentru cazurile în care contractul prevede că chiriașul achită direct întreținerea.
  • Sesizări — chiriașul poate deschide sesizări (defecțiuni comune, probleme de bloc) direct din contul lui; nu trebuie să sune la administrator sau să apeleze proprietarul.
  • Comunicări oficiale — orice comunicare formală trimisă către chiriaș direct (ex: reclamație zgomot, cerere colaborare pentru intervenție tehnică) ajunge pe email cu PDF probator; chiriașul poate răspunde direct din email (Reply cu quick actions dacă e prezent în categoria comunicării).
  • Preferințe de canal — chiriașul poate seta ce vrea să primească pe email vs. doar in-app din Setări → Notificări. Frecvență email: instant / rezumat zilnic / rezumat săptămânal / off.

Rezultat: toți ocupanții unui apartament — proprietari, coproprietari (soț + soție), chiriași — sunt informați despre activitățile asociației pe canalul preferat, nu doar „proprietarul principal" din listă. Zero cazuri de „n-am știut că era ședință" sau „nimeni nu mi-a spus că se închide apa".

📝 Scenariu: Ap. 15 închiriat — Ioana (chiriașă) și dl. Ionescu (proprietar) informați paralel
Apartamentul 15 e proprietatea domnului Ionescu, închiriat Ioanei. Administratorul îi adaugă Ioanei cont de chiriașă cu email-ul ei (buton „📧 Creează cont aplicație + trimite invitație", rol chiriaș). Ioana își activează contul și, din Setări → Notificări, bifează „Primesc anunțuri generale de la asociație" (așa permite platformei să-i trimită anunțuri non-urgente).

Când administratorul postează anunțul „Deratizare programată joi între 09:00-13:00 — evitați contactul cu materiile depuse în zonele comune", Ioana primește email + push notification pe telefon. Dl. Ionescu primește aceleași notificări ca proprietar. Ambii știu ce se întâmplă.

Când se închide apa pentru o urgență de pe scară (anunț URGENT), Ioana primește notificarea imediat, indiferent de consimțământ — considerat interes vital. Prevenire pagube efective, comunicare corectă.
Status: Modul 100% funcțional — inclusiv multi-coproprietari V1 (mig 178-181) + chiriași cu consimțământ broadcast + destinatari somații
💧
Modul 2

Contoare și consum

👤 Administrator
Indecșii vin în aplicație, nu pe WhatsApp în 50 de poze.
⭐ Președinte
Detectezi rapid pierderi (consum bloc vs sumă declarații).
🏠 Proprietar
Declar pe telefon în 30 de secunde, fără hârtii.
❌ Înainte
  • WhatsApp cu 40 de poze de indecși
  • Excel manual cu cotele lunare
  • Estimare făcută din ochi când lipsește cineva
  • Verificarea metrologică — îți aduci aminte sau nu
✅ Cu HOA Manager
  • Proprietarii declară din aplicație, automat în registru
  • Distribuție pe cote sau consum real apometru
  • Estimare automată pe media ultimelor 3 luni (marcat ESTIMAT)
  • Alertă auto la 5 ani pentru verificarea metrologică

🎯 Ce face concret

  • Tipuri de contoare — apometre apă rece/caldă, contoare gaz, contoare căldură, contoare individuale electric.
  • Declarare cu poză opțională — proprietarul intră în aplicație, vede ultima citire, introduce noua valoare, opțional atașează foto al contorului ca dovadă.
  • Validare automată — dacă declarația e mai mică decât citirea anterioară (imposibil) sau e cu mult peste medie (consum suspect), sistemul cere confirmare.
  • Estimare automată dacă proprietarul nu declară până la o anumită zi — pe baza mediei ultimelor 3 luni, cu marcaj „ESTIMAT" în lista de plată.
  • Pauschal apometru — sumă fixă lunară aplicată automat pentru apartamentele cu apometre neverificate metrologic (conform RegOI + Legea 196/2018). Interpretarea finală rămâne la asociație împreună cu consultantul juridic.
  • Grafice consum — proprietarul vede consumul lui pe 12 luni (detectează creșteri anormale = scurgeri). Administratorul vede consum bloc-total vs sumă declarații (detectează pierderi).
  • Alertă metrologie — sistem reține data ultimei verificări metrologice și trimite alertă cu 90 zile înainte de expirare (verificare obligatorie la 5 ani).
📝 Scenariu: Maria detectează scurgere fără să facă nimic
Maria are consum mediu de 4 mc apă caldă/lună. În septembrie, declarația arată 12 mc. Sistemul colorează linia roșu în graficul ei și-i trimite notificare „Consum cu 200% peste medie — verifică instalația sanitară". S-a dovedit o scurgere la baia cu vase. Reparată în 2 zile, economie estimată ~150 RON/lună.
Status: Modul funcțional — alertele metrologie via cron
📊
Modul 3

Contabilitate + fonduri v2 + facturi + salarizare + adeverințe

👤 Administrator
Toate registrele într-un loc, fără să-l mai chemi pe contabil pentru fiecare 50 lei.
⭐ Președinte
Bilanț activ-pasiv generat automat oricând.
🏠 Proprietar
Transparență totală — vezi unde se duc banii.
❌ Înainte
  • 5 caiete pentru registru (intrări, ieșiri, fond X, fond Y...)
  • Contabil chemat o dată pe lună (cost 200-400 RON)
  • Activ-Pasiv calculat manual la sfârșit de an
  • Avansul plătit de un proprietar peste 6 luni greu de urmărit
  • Salarizarea angajaților gestionată în Excel separat
  • Adeverințe pentru angajați redactate manual în Word
✅ Cu HOA Manager
  • Registru jurnal digital, indexat și căutabil
  • Contabil cu acces direct (read-only) — verifică din browser
  • Bilanț activ-pasiv generat în secunde, oricând
  • Avansuri etichetate cu consum lunar automat + registru cronologic
  • Salarizare integrată cu 4 tipuri plată + operații atomice
  • Adeverințe PDF conforme HG 500/2011 cu un click

🎯 Registru jurnal + audit

  • Registru jurnal complet — toate intrările (cote încasate, dobânzi bancare) și ieșirile (facturi furnizori, salarii, taxe) pe categorii.
  • Bilanț activ-pasiv automat — la cerere, generat instant cu reconciliere bancă vs registre.
  • Audit log imutabil — fiecare modificare contabilă (cine, când, ce, motiv). Vizibil cenzorului. Nu se poate șterge.
  • Export pentru contabil extern — PDF, CSV, Excel per categorie/perioadă. Util dacă vrei a doua opinie sau certificare de la un contabil autorizat.
  • Categorii cheltuieli cu template standard — la onboarding, un click creează toate categoriile uzuale (apă, energie, salubritate, salarii, asigurare, etc.) cu reguli de distribuție corecte.

🏦 Fonduri v2 — avansuri etichetate, prognoză 6 luni, investiții planificate

  • Fișe fonduri separate — fond reparații, fond rulment, cotizație specială (pentru lucrări votate AGA). Niciun fond nu poate fi „împrumutat" pentru alt scop fără înregistrare explicită cu motivare.
  • Avansuri etichetate multi-lună — proprietarul plătește 6 luni odată (ex: 4.572 RON iulie–decembrie). O singură intrare cu perioada start-end și per_month_amount calculat automat (762 RON/lună). Se consumă automat luna cu luna pe unit_expenses.
  • Prognoză sold 6 luni — grafic care combină soldul actual + intrările lunare estimate + ieșirile planificate. Vezi vizual când soldul se apropie de 0 sau devine negativ.
  • Investiții planificate din fonduri — angajamente cu titlu, sumă totală, furnizor opțional și instalmente lunare. Intră în prognoză. Alertă cu 30 zile înainte de instalmente scadente.
  • Registru cronologic per fond — buton „📖 Registru" pe pagina fondului deschide pagină separată cu toate mișcările (intrări, consumuri, ieșiri) în ordine cronologică. Reconciliere PDF fond.

🧾 Facturi + bonuri (v2.11)

  • Perioadă facturată explicită — start + end (opțional) pentru facturi de consum (ex: Enel 15 iunie – 14 iulie primită pe 20 iulie). Perioada intră în repartizare pe lista corespunzătoare consumului; data facturii rămâne pentru contabilitate pe angajamente (OMFP 3103/2017).
  • Tip document — Factură sau Bon fiscal, cu regim TVA distinct. Bonurile au număr unic (nu se acceptă bonuri duplicate).
  • Metodă de plată extinsă — cash, card sau OP (ordin de plată). Utilitățile mari cu OP, furnizorii mici cu card.

👷 Salarizare (Payroll v1.1) + Adeverințe HG 500/2011

  • 4 tipuri de plată — salariu net (cont 421), avans salariu (cont 425), primă (bonus performanță/sărbători/vechime), contribuții ANAF (CAS + CASS + impozit + CAM).
  • Luna de referință — la ce lună se referă plata (salariul lunii mai plătit pe 5 iunie → referință mai). Folosit la repartizarea pe lista de întreținere și în rapoarte lunare.
  • Canale + operații atomice — cash, card sau OP. Fiecare plată creează intrare reciprocă automat în registrul de casă sau bancar. Dacă intrarea reciprocă eșuează, plata nu se salvează — fără orfani.
  • Adeverințe salariat PDF — conforme HG 500/2011 art. 34 + Codul Muncii art. 34 alin. (5). Detecție automată gen din CNP pentru formularea corectă („salariata / salariatul"). Câmpuri editabile: număr, dată, zile absență, concediu fără plată. Diacritice tratate corect. Interpretarea finală rămâne la asociație împreună cu consultantul juridic sau contabilul autorizat.

📤 e-Factura ANAF

Sincronizare bidirecțională cu SPV ANAF pentru facturi emise și primite (necesită OAuth cu contul ANAF al asociației). Modulul e în dezvoltare — fără calendar de livrare.

Conform OMFP 3103/2017 — toate registrele sunt structurate exact așa cum cere ordinul. Fără workaround-uri, fără „adaptări creative".
Status: Modul funcțional (Fonduri v2 + Facturi v2.11 + Payroll v1.1 + Adeverințe). e-Factura ANAF în dezvoltare.
📋
Modul 4

Liste de plată + penalități transparente (art. 78)

👤 Administrator
Generezi lista lunară în 5 minute, nu 5 ore.
⭐ Președinte
Vezi cine plătește și cine nu, în timp real.
🏠 Proprietar
Lista ta personală cu PDF, plus cota din lista comună.
❌ Înainte
  • Excel cu 40 de rânduri și 12 coloane, copiat lună de lună
  • Calcul penalități cu calculator (sau ignorat)
  • Regulă penalități diferită pentru fiecare proprietar
  • Listă fizică afișată la avizier — 80% nu o citește
  • Restanțe vechi neîncasate pentru că nimeni nu le ține minte
✅ Cu HOA Manager
  • Listă generată automat din facturile încărcate
  • Penalități calculate automat conform Legii 196 art. 78
  • Regulă uniformă anti-anatocism + aprobare admin înainte de aplicare
  • Listă vizibilă în aplicație + PDF descărcabil din pagina apartamentului
  • Restanțe vechi cu aging păstrat, urmărite continuu

🎯 Ce face concret

  • Coloane configurabile per asociație (v2.5) — alegi un șablon prefabricat (Simplificat: 5 coloane bloc mic / Extins: 9 coloane bloc cu lift / Full: 10 coloane ansamblu nou cu pază) sau pornești cu Personalizat. Maxim 10 coloane personalizate plus cele obligatorii (apartament, persoane, total, restanțe, penalizări, plătit). Coloanele cu istoric protejate de ștergere accidentală — datele baseline din PDF-urile vechi rămân în siguranță chiar dacă scoți coloana din header.
  • Reguli de distribuție per categorie — apă pe cotă indiviză SAU pe consum apometru (decizi per categorie), salariu administrator egal pe apartament, asigurare pe suprafață, etc. Setezi regulile o dată, sistemul aplică lunar.
  • Subtotal per apartament — fiecare proprietar vede defalcat: cota lunară, fond reparații, fond rulment, eventuale restanțe vechi cu penalități.
  • PDF descărcabil — fiecare proprietar își descarcă lista lui în format PDF, semnată electronic de administrator, din pagina apartamentului.
  • Lista comună la avizier (transparență) — totalurile pe categorii vizibile public, sumele individuale rămân private.
  • Vizibilă în aplicație — imediat ce administratorul emite lista, proprietarii o văd la logare în dashboard-ul personal.

⚖️ Penalități transparente (v2, Legea 196 art. 78)

4 reguli clare, aplicate identic pentru toți proprietarii — regula anterioară calcula penalitatea de la data scadenței, ceea ce dezavantaja proprietarii care primeau lista târziu. Regula v2 e uniformă, transparentă și verificabilă.
  1. Regula 1 — Curge de la data afișării listei pe avizier, nu de la scadență. Dacă lista a fost făcută pe 25 iunie dar afișată efectiv pe 3 iulie, ziua zero e 3 iulie.
  2. Regula 2 — Grace 30 zile (configurabil per asociație). În aceste 30 zile, restanța apare ca „în perioada de grație", vizibilă dar fără penalitate acumulată. Din ziua 31 începe rata configurată (default 0,2%/zi). Plafon la valoarea principalului.
  3. Regula 3 — Anti-anatocism. Penalitățile transferate ca sumă separată pe lista M+1 nu se penalizează ele însele. Regulă hard-coded (source_type='penalty_transferred' filtrat în cron).
  4. Regula 4 — Aprobare administrator. Preview cu calculul detaliat înainte de aplicare pe M+1. Admin poate exclude cazuri particulare (sociale, planuri eșalonare, dosare instanță). Doar după aprobare, penalitățile intră ca sumă separată. Cenzor semnătură opțională pentru avizier.

Ordinea plăților: plățile noi acoperă întâi luna cea mai recent afișată la avizier, surplus pe luni anterioare oldest-first. Regulă aceeași în JavaScript (preview) și SQL (RPC atomice) — nu există două calcule diferite. Interpretarea finală rămâne la asociație împreună cu consultantul juridic.

📝 Scenariu: Asociația renunță la firma de pază. Ce fac cu coloana Pază?
Administratorul intră în Dashboard → Contabilitate → Coloane Lista de Plată. Apasă X pe coloana Pază barieră. Salvează. Luna viitoare, lista nu mai are coloana — datele vechi rămân ascunse în spate, accesibile dacă vine cineva cu restanță din anul trecut. 2 minute de muncă. Sau, dacă asociația contractează o firmă nouă, apasă „+ Adaugă coloană", scrie Securitate 24/7, alege categoria de cheltuieli care o alimentează. Apare imediat pe listă.
Status: Modul funcțional — v2.5 coloane + Penalități v2 (art. 78, anti-anatocism, admin approval)
💳
Modul 5🚧 ÎN DEZVOLTARE

Plăți online cu card

🚧 Status: Modul în dezvoltare — disponibil într-o versiune viitoare, fără calendar promis

Modulul de plăți online cu card este în construcție. Până când va fi gata, plățile către asociație se gestionează prin transfer bancar tradițional (import CSV din extras + matching automat în sistem) sau cash la administrator.

🔜 Ce va aduce modulul când va fi gata

  • Plată cu card direct din aplicație prin procesator românesc autorizat PCI-DSS (denumirea procesatorului va fi anunțată la activarea modulului).
  • Tokenizare card PCI-DSS — cardul salvat o dată, plată cu un click la lună. Cardurile NU vor fi stocate pe serverele noastre, doar token-uri.
  • Auto-pay recurent — plată automată pe ziua X a lunii. Fără să-și amintească cineva.
  • Reconciliere automată în registre — la fiecare plată reușită, datoria scade automat, apartamentul e marcat „achitat luna X".
  • Plată parțială — proprietarul poate plăti X din total, restul fiind înregistrat ca restanță.

✅ Ce există acum (workaround)

  • Import CSV din extras bancar — toate băncile RO oferă export CSV. Încarci fișierul, sistemul detectează plățile, le potrivește la apartamentele care plăteau prin transfer.
  • Import PDF cu AI (v2.11) — pentru extrasele bancare fără CSV disponibil, poți încărca PDF-ul, AI-ul (GPT-4o) extrage tranzacțiile.
  • Marcare manuală plată — administratorul poate marca o plată ca încasată direct (util pentru cash sau plăți complexe).
  • Generare confirmare plată — la marcare, sistemul trimite email proprietarului cu confirmare.
👥
Modul 6

Ședințe CEX și AGA + refuz semnătură PV

👤 Administrator
Convocare AGA fără să tipărești 60 de scrisori.
⭐ Președinte
PV cu semnătură electronică. Refuz semnare consemnat corect.
🏠 Proprietar
Primești ordinea de zi, votezi din pat, vezi rezultatul.
❌ Înainte
  • Convocare pe ușa de la intrare + scrisori recomandate
  • Listă prezență pe hârtie, semnată chenar cu chenar
  • PV scris manual la ședință, transcris ulterior
  • Cine refuză să semneze PV = ambiguitate juridică
  • Cine n-a venit află deciziile de la vecini
✅ Cu HOA Manager
  • Convocare email + în aplicație către toți membrii, într-un click
  • Prezență marcată digital, cote prezente sumă live
  • PV auto-generat la închidere, semnătură electronică
  • Refuz semnătură consemnat cu badge dedicat în PV
  • Toți proprietarii primesc PV-ul prin email automat

🎯 Convocare, prezență, vot, PV

  • Convocare cu ordine de zi — dată/oră, loc (fizic sau online), ordinea de zi cu topicuri și documente atașate.
  • Tipuri de ședință — AG ordinară, AG extraordinară, CEX. Sistemul aplică automat regulile de quorum și vot specifice.
  • Convocare trimisă în bloc — email + notificare in-app către toți membrii într-un click. Legea 196/2018 art. 47 alin. (3) cere preaviz de cel puțin 10 zile pentru prima convocare AG; datorezi să respecți acest interval la crearea convocării. Interpretarea finală rămâne la asociație împreună cu consultantul juridic.
  • Prezența marcată în timp real — la ședință, fiecare proprietar/membru CEX e marcat „prezent" (fizic sau online). Suma cotelor prezente afișată live.
  • Topicuri pe ordinea de zi — fiecare punct e tratat separat. Tipuri: informare, dezbatere, vot (cu opțiunea de deschis vot pe loc).
  • PV automat la închidere — generat cu lista prezenților, deciziile, rezultatele voturilor. Semnătură electronică pentru președinte și cenzor. Salvat în arhiva documente.
  • Notificare post-ședință — toți proprietarii (prezenți și absenți) primesc email cu link la PV.

✋ Refuz semnătură PV (Legea 196 art. 47)

Un participant poate refuza semnarea PV-ului dintr-un motiv legitim (dezacord cu formularea, contestare decizie). Președintele sau secretarul ședinței consemnează refuzul printr-un buton dedicat + modală cu motivare. Efect vizual: badge roșu în lista de semnături + secțiune MENȚIUNI în PDF-ul PV cu textul„REFUZ SEMNĂTURĂ — {nume}, motiv: {motivare}". Refuzul se poate revoca ulterior dacă situația se clarifică. Interpretarea finală rămâne la asociație împreună cu consultantul juridic.

💬 Chat efemer per ședință + anexă PV

La deschiderea ședinței se creează automat un canal chat efemer cu membri = participanții cu user_id + președintele + secretarul + creator ședinței. Util pentru discuții în timp real la o ședință online. La arhivarea PV-ului, tot conținutul chat-ului se snapshot-uiește (autor + timestamp + text + șterse marcate) și se atașează ca anexă la procesul verbal (Legea 196 art. 49). Canalul devine invizibil în sidebar, dar mesajele rămân în DB pentru audit.

📝 Scenariu: Bloc cu 40 ap. — convocare AGA ordinară
Președintele creează ședința „AGA ordinară 25.09.2026, ora 18:00, sala parter" cu 12 zile înainte (respectând preavizul de cel puțin 10 zile din Legea 196/2018 art. 47 alin. (3)). Adaugă 4 topicuri: aprobare buget 2027, raport cenzor, vot acoperiș, divers. Apasă „Trimite convocarea" — sistemul livrează email + notificare in-app la toți cei 40 de proprietari cu ordinea de zi + documentele atașate. La ședință, 27 sunt prezenți, suma cotelor = 73%. Quorum-ul de 50% e îndeplinit pentru deciziile ordinare. Pentru vot ponderat (acoperiș), pragul de 2/3 din cotele prezente = 48,67% din cotele totale.
Status: Modul funcțional — inclusiv refuz semnătură PV (mig 186) și chat efemer per ședință (mig 134)
🗳️
Modul 7

Vot online ponderat

👤 Administrator
Calcul vot fără greșeli, fără să dispute nimeni.
⭐ Președinte
Decizia oficială cu PV semnat, argumentabilă în instanță.
🏠 Proprietar
Votezi de pe telefon, vezi rezultatul instant.
⚖️ Important legal: Legea 196/2018 art. 48-52 cere ca deciziile importante (lucrări mari, schimbare administrator, modificări regulament) să treacă cu 2/3 din cotele indivize prezente, nu 2/3 din numărul persoanelor care au votat. Diferența contează — sistemul calculează corect automat. Interpretarea finală rămâne la asociație împreună cu consultantul juridic.

🎯 Tipuri de vot

🗳️ Vot ponderat (AGA)
  • Fiecare vot e ponderat cu cota apartamentului
  • Prag: 2/3 din cotele prezente (Legea 196 art. 48-52)
  • Folosit pentru deciziile importante
  • Calcul automat live: cote prezente, prag, status
✓ Vot simplu (CEX)
  • 1 persoană = 1 vot, indiferent de cotă
  • Prag: majoritate simplă (jumătate + 1)
  • Folosit pentru decizii operaționale CEX
  • Decizii rapide, fără calcul ponderat

🎯 Caracteristici avansate

  • Vot secret sau nominal — alegi la deschidere dacă voturile sunt vizibile (cine ce a votat) sau anonime (doar agregatul final).
  • Vot online cu deadline — pentru AGA prelungită multi-zile, proprietarii pot vota din aplicație până la deadline. Status live cu procentul votat vs. total, vizibil în timp real în UI.
  • Vot offline (PWA) — în sala AGA cu semnal slab, telefonul stochează votul local și-l trimite când recapătă conexiune. Niciun vot pierdut.
  • Rezultatul vizibil instant la închiderea votului. Salvat permanent în PV-ul ședinței.
  • Detalii calcul vot — la PV se afișează: lista voturilor (anonim sau nominal), cota fiecărui votant, totalurile, calculul pragului, motivarea „trecut" / „nu trece". Auditabil 100%.
📝 Scenariu: Exemplu numeric concret — vot pentru reparație acoperiș
La AGA, 27 proprietari prezenți cu cote totale 78%. Pragul de 2/3 = 52% din cotele totale (sau echivalent 67% din cotele prezente).

13 votează „pentru" (cote 31%), 5 votează „împotrivă" (cote 22%), 1 abținere (5%), 8 nu votează (cote 20%).

Rezultat: 31% pentru < 52% prag → VOTUL NU TRECE. Deși numeric 13-5 pare clar pentru, ponderat nu se atinge pragul legal. Sistemul afișează corect, decizia rămâne documentată, fără ambiguitate.
Status: Modul funcțional — folosit pentru voturi reale AGA + CEX
🎫
Modul 8

Sesizări online (tickets)

👤 Administrator
Sesizările într-un loc, nu pe 3 grupuri WhatsApp.
⭐ Președinte
Vezi ce nu se rezolvă, escaladezi la timp.
🏠 Proprietar
Anunți defectul cu poză, primești update până la rezolvare.
❌ Înainte
  • Telefon la administrator, mesaj WhatsApp grupul scării
  • Sesizarea se pierde în chat-ul de 200 de mesaje
  • Nu știi cine ce face și când
  • Reparația întârzie, dar nu există dovadă cine știa
✅ Cu HOA Manager
  • Sesizare cu categorie, descriere, poză — în 1 minut
  • Tichete listate, sortate pe urgență și status
  • Atribuit la un responsabil, deadline clar
  • Cronologie completă audit-ready

🎯 Ce face concret

  • Categorii cu SLA — urgență (lift blocat, scurgere mare): 2h. Administrative (greșeală listă): 48h. Comunitate (zgomot): 7 zile.
  • Atașamente — foto (până la 5), video, document. Util pentru defecte vizibile sau plângeri cu dovezi.
  • Conversie în mentenanță — dacă un tichet are nevoie de lucrare, administratorul îl convertește într-un task mentenanță cu data programată și furnizor selectat din marketplace.
  • SLA escaladare automată — dacă un tichet urgent nu primește răspuns în 2 ore, sistemul îl escaladează automat la președinte. Notificare email + in-app.
  • Discuții publice (opțional) — sesizarea poate fi vizibilă pentru toți proprietarii (cu permisiune CEX). Util pentru decizii de comunitate (parcare, zgomot, animale).
  • Cronologia completă — fiecare modificare e logată: cine, când, ce. Util pentru cazurile escaladate sau pentru audit ANAF.
Status: Modul funcțional cu SLA escalator via cron
🔧
Modul 9

Mentenanță programată

👤 Administrator
Nu mai uiți de verificarea PSI sau deratizare.
⭐ Președinte
Toate task-urile recurente într-un calendar.
🏠 Proprietar
Vezi când vine deratizatorul, când se face curățenia.

🎯 Ce face concret

  • Task-uri repetitive — definești o dată („verificare PSI pe 15 martie anual"), sistemul reamintește automat.
  • Alertă în avans — 30 zile / 7 zile / 1 zi înainte de deadline. Email + în aplicație.
  • Atribuire furnizor — fiecare task are un furnizor desemnat (din marketplace) sau intern (administrator).
  • Istoricul lucrărilor — pentru fiecare task recurent: când s-a făcut, de cine, cu ce cost. Util pentru raportare la AGA.
  • Tipuri tipice gestionate — verificare PSI (anual), deratizare/dezinsecție (trimestrial), curățenie comună (zilnic), verificare metrologică contoare (5 ani), revizie ascensor (lunar), revizie centrală termică (anual).
Status: Modul funcțional
🏗️
Modul 10

Proiecte și licitații

👤 Administrator
De la idee la recepție într-un singur flow.
⭐ Președinte
Decizia AGA + CEX documentată, fără ambiguități.
🏠 Proprietar
Vezi cum se cheltuiesc banii pentru lucrările mari.

🎯 Ciclul complet de proiect

  1. Propunere — un proprietar, CEX sau administrator propune o lucrare (ex: izolare termică, schimbare ascensor, reparație acoperiș).
  2. Vot AGP (Adunarea Generală a Proprietarilor) — dacă lucrarea depășește pragul legal, se votează cu 2/3 din cote. Linked la o ședință AGA.
  3. Licitație deschisă — dacă AGA aprobă, se deschide RFQ cu termen de depunere oferte. Furnizorii din marketplace primesc invitație automată.
  4. Vot CEX pe ofertantul câștigător — CEX-ul compară ofertele, votează (vot simplu), motivează decizia.
  5. Contract + execuție — contract generat automat cu termenii câștigătorului. Plăți etapizate: avans, plăți progresive, plată finală la recepție.
  6. Recepție parțială și finală — semnătură electronică pentru calitatea lucrării. Document arhivat.
  7. Garanție — perioadă de garanție urmărită automat, cu alertă cu 90/30/7/0 zile înainte de expirare.
Reconciliere cu fonduri — fiecare plată e legată automat de fondul sursă (fond reparații sau cotizație specială), reducând soldul disponibil. Dacă fondul e insuficient, sistemul te avertizează înainte să faci plata.
Status: Modul funcțional cu vot AGP/CEX integrat și cron alertă garanție
🛒
Modul 11

Marketplace furnizori + RFQ

👤 Administrator
Furnizori cu CUI verificat, nu numere găsite pe internet.
⭐ Președinte
Decizia ofertant documentată cu motivare.
🏠 Proprietar
Transparență — vezi toate ofertele, nu doar pe cea aleasă.
❌ Înainte
  • Telefoane la furnizori, fără răspuns la jumătate
  • Oferte în 4 formate diferite (email, WhatsApp, hârtie, Excel)
  • Decizie luată pe „mi-a recomandat vecinul"
  • Audit ANAF cere documentația — print-uri WhatsApp
✅ Cu HOA Manager
  • Catalog cu furnizori verificați (CUI, IBAN, categorii, recenzii)
  • Oferte standardizate, comparabile side-by-side
  • Decizia documentată cu motivare scrisă
  • Export PDF pentru PV-ul CEX — gata pentru audit

📋 Catalog de furnizori verificați

Catalogul e cross-asociație — același furnizor e vizibil pentru toate asociațiile din platformă. Date complete: denumire legală, CUI valid, IBAN, adresă sediu, categorii servicii, telefon și email contact. Fiecare furnizor are:

  • Portofoliul de lucrări (cu descriere, an, valoare)
  • Recenzii de la asociații care au lucrat cu el (verificate — doar de la cei care au plătit o factură)
  • Rata medie de răspuns la RFQ
  • Timpul mediu de execuție

📂 Categorii de servicii

🔧 Instalații
  • Sanitare
  • Electrice
  • Termice
  • Gaz
🏗️ Construcții
  • Acoperiș
  • Fațadă & izolație
  • Pardoseli
  • Tâmplărie
🛠️ Mentenanță
  • PSI
  • Ascensoare
  • Curățenie
  • Deratizare
📐 Specializate
  • Cadastru
  • Topografie
  • Expertize tehnice
  • Audit energetic

📨 Cerere de Ofertă (RFQ) — flow în 6 pași

  1. Selectezi 3-5 furnizori din catalog. Filtru automat după categorie — pentru „reparație acoperiș" sugerează firme de construcții cu specializare acoperiș.
  2. Setezi detaliile cererii — descriere lucrare, documente sursă, termen depunere oferte (7-14 zile), criterii departajare (preț, garanție, termen).
  3. Email automat la fiecare furnizor cu link unic și securizat (token criptografic, valabil până la deadline). Furnizorul NU trebuie să-și facă cont.
  4. Furnizorul completează oferta într-un formular standardizat — preț total, defalcare materiale și manoperă, termen execuție, garanție, condiții plată, observații, documente atașate.
  5. Tu vezi toate ofertele într-un tabel comparabil — furnizor pe orizontală, criterii pe verticală. Diferențele evidente la prima privire. Export PDF pentru PV-ul CEX.
  6. Decizia rămâne documentată — alegi un furnizor cu motivare scrisă, sistemul generează propunerea pentru votul CEX. La aprobare, contractul se creează automat cu datele și termenii din ofertă.
🛡️ Protecții anti-abuz: rate limiting per IP pe endpoint-ul public, UNIQUE constraint pentru o singură ofertă per furnizor per RFQ, race condition handling cu SELECT FOR UPDATE, token unic per RFQ × furnizor.
Status: Modul funcțional — catalog + RFQ
📁
Modul 12

Arhivă documente

👤 Administrator
Toate documentele într-un loc, nu în 5 dulapuri.
⭐ Președinte
ROI și ROF accesibile oricui.
🏠 Proprietar
Vezi statutul, regulile, PV-urile ședințelor — fără să întrebi.

🎯 Categorii de documente

  • Documente oficiale — ROI (Regulament Ordine Interioară), ROF (Regulament Organizare și Funcționare), CIF, statut. Vizibile public proprietarilor.
  • Procese verbale — toate PV-urile ședințelor istorice, indexate, căutabile după dată/topic/decizie.
  • Contracte — furnizori, bancă, salariați. Alertă expirare cu reînnoire programată.
  • Facturi — toate facturile primite, indexate după furnizor și perioadă. Link înapoi la categoria de cheltuială din contabilitate.
  • Documente fiscale — declarații anuale, controale ANAF, raportări trimestriale.
🌍 Transparență publică — pagina /transparency/<slug-asociatie> arată documentele oficiale ale asociației tale tuturor, fără login. Util pentru proprietarii noi (cumpărători) care vor să verifice „cum stă asociația" înainte să cumpere un apartament. Tu controlezi ce e public.
Status: Modul funcțional cu pagină transparență publică
🔔
Modul 13

Notificări email + in-app + push mobil

👤 Administrator
Comunicare cu proprietarii fără să bagi hârtie la avizier.
⭐ Președinte
Anunțuri oficiale cu confirmare citire.
🏠 Proprietar
Primești ce te interesează, pe canalul tău preferat.

🎯 Trei canale reale de livrare

  • Notificări in-app — clopoțelul roșu cu „X neviste". Click vezi lista: ședință convocată, listă plată generată, plată confirmată, sesizare rezolvată, anunț nou.
  • Email transacțional cu tracking citire — vezi cine a deschis email-ul de convocare AGA sau comunicarea oficială către terți. Util pentru documentare litigii. Frecvență configurabilă per proprietar: instant / rezumat zilnic / rezumat săptămânal / off.
  • Push notifications native pe telefon — VAPID + Web Push. Funcțional pe iPhone (Safari 16.4+ în PWA standalone) și Android. Trimis la mențiuni chat, DM-uri, anunțuri (inclusiv URGENT), reply-uri terți la comunicări oficiale. Activare per dispozitiv din Setări → Notificări.

🎯 Preferințe granulare

  • Fiecare proprietar alege ce primește pe email vs. doar in-app.
  • Push activat separat per dispozitiv (permis pe telefonul personal, dezactivat pe cel de birou).
  • Anunțurile marcate „URGENT" ridică prioritatea push și prefixează [URGENT] în subject email — respectate preferințele de canal.
SMS nu este implementat. Un provider SMS (Twilio sau similar) ar costa suplimentar și nu e în roadmap. Alternativele push + email + in-app acoperă cazurile de comunicare urgentă.
Status: Email + in-app + push funcționale (VAPID + Web Push). SMS nu este implementat.
📱
Modul 14

Aplicația mobilă PWA cu push

👤 Administrator
Răspunzi la sesizări direct de pe telefon.
⭐ Președinte
Aprobi decizii CEX din fotoliu.
🏠 Proprietar
Plătești, votezi și primești notificări push de pe iPhone, fără app store.
❌ Înainte
  • App nativă instalată din App Store / Play Store
  • Update manual când vine versiune nouă
  • Vot la AGA pică dacă semnal slab
  • Fără notificări push pe iPhone (Safari)
  • Butoane mici pentru deget pe ecran mic
✅ Cu HOA Manager
  • PWA — instalezi din browser în 3 secunde
  • Update instant la următoarea deschidere
  • Vot offline cu sincronizare automată
  • Push notifications reale pe iOS + Android
  • Touch targets 44×44 conform standard Apple/Google

🎯 Avantaje PWA vs aplicație nativă

  • Instalare în 3 secunde — deschizi hoa-manager.ro în Safari/Chrome, „Add to Home Screen", iconiță pe ecran. Fără Apple ID, fără Google Play.
  • Update instant — când lansăm versiune nouă, proprietarii o au imediat la deschidere. Fără „Update available, restart app".
  • Notificări push reale (VAPID) — infrastructură web-push generică cu Service Worker handler push. Funcțional inclusiv pe iOS 16.4+ Safari standalone mode. Consumat de chat (mențiuni + DM), marketplace chat (mesaje noi), anunțuri (inclusiv URGENT), reply terți la comunicări oficiale.
  • Vot offline cu sincronizare automată — esențial pentru AGA cu semnal slab. Votul se salvează local (IndexedDB), se trimite când recapătă conexiune. Niciun vot pierdut.
  • Shortcuts — long-press iconiță scoate Apartament / Vot / Sesizare / Plată.
  • Touch targets 44×44 — butoane dimensionate pentru deget. Standard Apple HIG + Material Design.
  • Service Worker cu offline fallback — cache inteligent, pagini accesibile read-only chiar offline. Fallback page dedicat pentru rutele care nu sunt cached.
Status: PWA funcțional cu push notifications reale (VAPID + web-push) + vot offline + background sync + iOS suport 16.4+
📮
Modul 15🆕 NOU

Comunicări oficiale + somații + reply terți

👤 Administrator
Notificări formale către furnizori, autorități sau proprietari — cu confirmare de primire și primire răspuns în aplicație. Fără Word, fără model găsit pe Google.
⭐ Președinte
Documentație oficială cu valoare juridică pentru orice litigiu viitor.
🏠 Proprietar
Comunicare clară de la asociație, cu numerotare oficială și retenție 10 ani.
❌ Înainte
  • Deschizi Word, cauți model pe Google
  • Formulezi singur textul (sperând că-i bine juridic)
  • Generezi PDF separat, atașezi la email
  • Furnizorul răspunde pe alt email pe care-l pierzi
  • Somațiile pentru restanțieri făcute manual din Excel
  • Notificarea se pierde după ce ștergi email-ul
✅ Cu HOA Manager
  • Apeși „+ Notificare nouă" în meniu
  • Asistent AI rescrie textul în limbaj formal-juridic
  • Atașezi 1-5 poze ca dovezi, embedded în PDF
  • Reply-ul terțului intră în thread vizibil în UI
  • Somații calculate automat din baseline + payment_allocations
  • Notificarea rămâne 10 ani în registru, oricând descărcabilă

📋 Cinci categorii predefinite cu temei juridic distinct

  • Furnizor — notificare formală pentru întârzieri obligații (punere în întârziere conform Cod Civil art. 1521-1525).
  • Autoritate publică — sesizări către primărie, ITM, Garda de Mediu, ANPC. Temei: Codul administrativ + Legea 544/2001.
  • Terț juridic — comunicări cu avocat, executor judecătoresc, instanță.
  • Proprietar (daune) — pentru un proprietar care a cauzat un prejudiciu asociației (țeavă spartă, deteriorări zone comune). Temei: Cod Civil art. 1349-1357.
  • Altul — comunicare formală generică, fără temei juridic predefinit.

💰 Somații pentru debitori (Art. 78, Debt Notifications V3)

Pentru proprietarii restanțieri există un flow separat: somațiile se calculează automat din unit_baseline_snapshot (5 categorii de restanțe) minus payment_allocations post-baseline. Rezultatul e verificabil E2E (validat pe apartamente reale), nu o estimare aproximativă. Se generează:

  • PDF probator cu detaliile per categorie și zilele de întârziere
  • Email transacțional către proprietar + copie președinte + administrator
  • Notificare in-app pentru proprietar
  • Intrare în registru cu retenție legală

Interpretarea finală (dacă somația este pas premergător acțiunii în instanță, care e procedura corectă pentru cazul concret) rămâne la asociație împreună cu consultantul juridic.

🤖 Asistent AI pentru rescrierea textului

Scrii ce s-a întâmplat în cuvintele tale obișnuite. Apeși butonul „Rescrie cu AI". Asistentul transformă în 5 secunde textul într-un limbaj formal-juridic, păstrând faptele și sumele exact așa cum le-ai scris. Tu rămâi în control — poți edita textul după rescriere, poți respinge varianta și păstra textul tău, poți rescrie de mai multe ori.

Cost: 2 rescrieri gratis pe lună incluse. După aceea 1 €/rescriere, facturat lunar cumulat.

📨 Reply terți cu confirmare de primire răspuns (Faza 1 + 2a)

Terții (furnizori, autorități, proprietari cu daune) pot răspunde direct la email fără să-și facă cont pe platformă. Reply-ul intră ca thread vizibil în UI, alături de comunicarea originală. Președintele și administratorul primesc broadcast la fiecare reply — nu se pierde nimic în inbox-uri personale.

  • Somații debitori — quick actions în email pentru proprietar: „am achitat", „voi plăti", „contest". Click → confirmare în thread + notificare admin.
  • Convocatoare AGA — quick actions pentru destinatar: „confirm participare", „nu pot participa", „trimit procură". Ultima acțiune deschide wizard procură.
  • Confirmare primire — dacă providerul de email semnalează livrarea sau citirea, statusul apare în registru.
Protecție anti-modificare: după emitere, notificarea e blocată permanent (nimeni n-o poate modifica). Se generează PDF oficial cu amprentă digitală SHA-256 (dovadă că documentul n-a fost manipulat ulterior). Email automat la destinatar dacă ai adresa.

🎯 Cine poate emite

Doar administratorul, președintele și vicepreședintele. Cenzorul vede registrul (read-only) pentru audit. Restul rolurilor nu au acces.

Status: Modul funcțional — emitere + AI rewrite + email + registru + somații v3 + reply terți Faza 1+2a
💬
Modul 16🆕 NOU

Chat asociație (canale + DM + push)

👤 Administrator
Comunicarea cu proprietarii într-un loc structurat, nu WhatsApp haotic.
⭐ Președinte
Canal Management separat pentru discuții executive.
🏠 Proprietar
Chat rapid cu vecinii, DM cu administratorul, push la mențiuni.
❌ Înainte
  • Grup de WhatsApp cu 60 de vecini
  • Mesaje personale amestecate cu anunțuri oficiale
  • Nu știi cine e administrator vs proprietar
  • Nimeni nu mai citește nimic
  • Fără istoric căutabil, fără moderare
✅ Cu HOA Manager
  • Canale structurate: #General, #Management, DM
  • Push notification doar la mențiuni și DM (fără zgomot)
  • Rolul fiecărui membru vizibil în lista canalului
  • Preview last-message și badge unread în sidebar
  • Raportare mesaje + moderare admin (mute, ban, ștergere)

💬 Trei tipuri de conversație

  • #General — canal deschis tuturor membrilor asociației. Aici merg întrebările curente, anunțuri de tip „azi vine echipa de deratizare", discuții comunitare.
  • #Management — canal restricționat pentru administrator + comitet executiv + cenzor. Aici se discută treburile de conducere care nu trebuie să ajungă în feed-ul tuturor. Cenzorul face parte din grupul de management și are acces complet (poate citi și scrie).
  • Mesaje directe (DM) — 1-on-1 între oricare doi membri. Fără intermediari, fără vecini care citesc pe deasupra.

Regulile de acces la canale se aplică strict pe backend prin verificare de membership, nu doar în interfață.

🔔 Push notifications reale

  • Primești push la orice @mențiune (când cineva scrie „@Iulian" în canal)
  • Primești push la orice mesaj direct primit
  • Nu primești push la mesaje în canale în care nu ești menționat — evităm zgomotul
  • Push-ul se activează / dezactivează per dispozitiv din Setări → Notificări
  • Funcționează pe iPhone (iOS Safari PWA) și Android

✨ UX rafinat (v2.1 design)

  • Avatare colorate cu inițiale — 8 culori distincte generate din nume, ca să distingi rapid autorii
  • Grupare mesaje pe 5 minute — 3 mesaje una după alta = bloc single, mai puțin zgomot vizual
  • Day separator — „Astăzi", „Ieri", „luni" — știi pe unde ești în conversație
  • Reply — răspunzi la un mesaj specific, cu citat vizibil
  • Emoji picker integrat, fără dependențe externe
  • Typing indicator — vezi când altcineva scrie
  • Sidebar canale bogat — preview la ultimul mesaj, timp relativ, badge cu numărul de necitite
  • Mobile drawer — pe telefon, sidebar-ul se deschide/închide cu gesture natural
  • Scroll-to-bottom flotant cu counter, când te-ai uitat în sus și au apărut mesaje noi
  • Skeleton shimmer la load — nu vezi ecran alb

🛡️ Moderare

Orice membru poate raporta un mesaj abuziv printr-un modal simplu (categorie + descriere opțională). Raportul ajunge la administrator + comitet, care pot lua acțiuni:

  • Mute pe canal cu durată (1h / 24h / 7 zile)
  • Ban — restricționare temporară de acces la chat
  • Ștergere mesaj cu motivare (payload rămâne pentru audit — soft delete)

Rolul fiecărui membru (administrator, președinte, cenzor, membru CEx, proprietar) e vizibil în lista de membri a canalului și în picker-ul de mesaje directe — știi cu cine vorbești înainte să deschizi conversația. Nu poți impersona un rol pe care nu-l ai.

Status: Modul funcțional — canale + DM + push notifications + moderare (v2.1 design)
🏘️
Modul 17🆕 NOU

Marketplace apartamente între vecini + schiță 2D

👤 Administrator
Nu trebuie să faci nimic — modulul e pentru proprietari.
⭐ Președinte
Un canal de vânzare/închiriere între proprietari verificați, cross-asociație.
🏠 Proprietar
Îți listezi apartamentul cu schița 2D interactivă, discuți privat cu cumpărătorul.
❌ Înainte
  • Site-uri imobiliare cu comision 2-3% din preț
  • Cumpărători pe care nu-i cunoști, unii intermediari
  • Schița apartamentului = poză de pe telefon sau nimic
  • Numere de telefon expuse public
✅ Cu HOA Manager
  • Anunț direct între proprietari, fără comision
  • Verificare ownership: doar owner direct sau coproprietar poate posta
  • Editor schiță 2D cu 21 stickere mobilier hand-drawn
  • Chat privat 1:1 cu istoric în platformă, blocare + raportare

🏘️ Anunțuri cross-asociație

Meniul „🏘 Anunțuri apartamente" arată listings-urile publicate de proprietari din toată platforma. Tipuri: Vânzare, Închiriere, Schimb. Filtrare după tip și scope (Toate asociațiile / Asociația mea / Anunțurile mele) + căutare liberă după text.

🔒 Ownership verificat înainte de publicare

Doar tu ca proprietar direct sau ca coproprietar înregistrat în tabelul de proprietaripoți publica un anunț pentru un apartament. Sistemul verifică ownership-ul înainte de a accepta publicarea — cumpărătorii știu că discută cu proprietari reali, nu cu intermediari.

✏️ Editor schiță 2D interactiv

Editorul lucrează cu schița apartamentului: trasezi conturul camerelor cu grid de 10 cm (0.1 m), setezi dimensiuni reale, apoi tragi 21 stickere mobilier hand-drawn (canapea, pat, masă, frigider, mașină de spălat, TV, dulap, etc.), toate în stil sketchbook cu hașuri și font handwriting, pe fundal de papyrus. Fiecare sticker se rotește la 90° și se redimensionează. La postarea anunțului, bifezi „📐 Atașează schița 2D la anunț" ca să apară în listing.

💬 Chat 1:1 privat cu cumpărătorul

  • Pe pagina anunțului există panoul „💬 Trimite mesaj proprietarului" care deschide chat 1:1 realtime
  • Cu atașamente (poze suplimentare, PDF-uri acte)
  • Blocare — dacă un contact e nepotrivit, îl blochezi cu un click
  • Raportare — mesajele abuzive ajung la moderatorii platformei
  • Contact phone opțional afișat cu link tel:, dar chat-ul rămâne canalul principal (istoric în platformă)
  • Chat-ul rămâne activ cât anunțul e activ, apoi devine read-only

Detalii tehnice: până la 20 poze/anunț, max 5 MB fiecare. Anunțul e vizibil pentru toți membrii platformei care caută în zona ta.

Notă: Platforma facilitează contactul direct între proprietari. Contractul de vânzare/închiriere și toate obligațiile legale (act autentic la notar, cadastru, declarații fiscale) rămân responsabilitatea părților. HOA Manager nu este agent imobiliar.
Status: Modul funcțional — listings + Blueprint 2D editor + chat 1:1 privat
📢
Modul 18🆕 NOU

Anunțuri către membri și CEx

👤 Administrator
Anunți toată asociația într-un click — push + email + in-app deodată.
⭐ Președinte
Comunicare oficială către CEx cu valoare de document.
🏠 Proprietar
Vezi anunțurile în feed-ul dashboard-ului tău, primești push la cele URGENT.

📢 Două tipuri de anunț

  • Anunț simplu — subject + text, opțional marcat „URGENT". Gata în sub un minut, pentru informări curente (întrerupere apă, ședință, informare generală).
  • Anunț oficial — generează PDF cu semnătură pe ecran, număr de registru și retenție legală (5 ani, conform Legii 196/2018 art. 105), pentru comunicări cu valoare de document. Interpretarea finală rămâne la asociație împreună cu consultantul juridic.

📬 Livrare multi-canal simultan

Când emiți anunțul, fiecare destinatar primește simultan:

  • Notificare push pe telefon (dacă a activat PWA-ul)
  • Email transacțional cu textul complet (și PDF-ul atașat, la anunțurile oficiale)
  • Notificare in-app vizibilă la următoarea logare

Nu trebuie ales un singur canal — toate trei pleacă automat. Toggle-ul URGENT ridică prioritatea push și adaugă prefixul [URGENT] în subiectul email-ului, ca destinatarul să știe din prima secundă că trebuie citit acum.

🎯 Categorii + destinatari

  • Categorii predefinite: Urgență, Mentenanță, Ședință, Informare, Alt tip.
  • Anunț către membri: livrare către toți proprietarii asociației (previzualizare live a listei).
  • Anunț către CEx: livrare strict către membrii Comitetului Executiv (președinte, vicepreședinte, membru comitet, cenzor, administrator).
Status: Modul funcțional — anunțuri simple + oficiale cu PDF semnat + livrare multi-canal
📝
Modul 19🆕 NOU

Acorduri Membri (GDPR)

👤 Administrator
Consimțăminte GDPR colectate cu semnătură electronică, nu cu clipboard-uri la scară.
⭐ Președinte
Documentație probatorie pentru controale ANSPDCP.
🏠 Proprietar
Semnezi pe telefon în 30 de secunde, primești copie PDF.
❌ Înainte
  • Consimțăminte pe hârtie pierdute prin dosare
  • Colectare la avizier — semnat de vecin în loc
  • Fără dovadă la control că ai colectat semnătura
  • Retragere consimțământ = mail pierdut și el
✅ Cu HOA Manager
  • Trimitere pe email cu link unic per proprietar
  • Semnătură pe canvas cu regenerare
  • PDF probator generat automat + retenție 10 ani
  • Retragere manuală procesată în 48h (GDPR Art. 7(3))

📝 Ce sunt acordurile

Consimțăminte colectate de la proprietari cu semnătură electronică. Utile pentru:

  • GDPR — foto zone comune, CCTV, prelucrare date sensibile
  • Lucrări care necesită acord explicit al proprietarilor din vecinătate
  • Documente probatorii — retenție 10 ani conform Cod Civil art. 2518

Interpretarea finală (dacă un consimțământ concret e valabil pentru situația specifică) rămâne la asociație împreună cu consultantul juridic.

🎯 4 șabloane sistem seed (editabile)

  • Acord procesare imagini CCTV — instalare camere supraveghere zone comune
  • Acord publicare fotografii evenimente — foto la ședințe, activități comune, avizier
  • Acord lucrări intervenție în unitate — pentru intervenții tehnice în apartamentul proprietarului (verificări comune, intervenții urgente)
  • Acord generic — template neutru pentru cazuri particulare

Administratorul poate crea drafts noi, editată textul pentru cazurile particulare. Placeholder guard:nu poți trimite dacă rămân {{placeholder}} neînlocuite în text.

✍️ Signing E2E

  • Trimitere pe email cu link unic per proprietar (token semnat)
  • Formular CNP cu suport cetățean străin (număr identificare alternativ)
  • Semnătură pe canvas cu regenerare până ești mulțumit
  • Colectare offline pentru proprietarii fără email — admin marchează manual ca semnat cu procură foto
  • PDF probator generat automat cu semnătura embedded și timestamp
  • Retenție 10 ani conform Cod Civil art. 2518

🧑‍💼 Admin ops

  • Close — închide colectarea când ai suficiente semnături
  • Withdrawn — retrage acordul (GDPR Art. 7(3), procesat în 48h)
  • Offline — marchează proprietar ca semnat pe hârtie
  • Regenerate PDF — reface documentul dacă a fost editat șablonul
Status: Modul funcțional — F1 admin CRUD + F2 signing E2E + F3 templates system seed (30 commits)

🏛️ Despre arhitectură — multi-asociație, multi-utilizator, multi-bloc

🏘️
Multi-asociație (multi-tenant)
O singură platformă, sute sau mii de asociații în paralel, fiecare cu datele ei strict izolate. Tehnic se numește «multi-tenant».
👥
Multi-utilizator
O asociație = mai mulți utilizatori cu drepturi diferite. 9 roluri × 30+ permisiuni. Vede cine trebuie, nu vede cine nu trebuie.
🏢
Multi-bloc (multi-location)
O asociație poate avea mai multe blocuri/scări sub același CUI. Drepturi diferențiate pe bloc dacă structura cere.

🏘️ Multi-asociație — cum funcționează izolarea

Toate asociațiile partajează aceeași infrastructură (servere, bază de date), deci costul per asociație e mic și platforma se îmbunătățește pentru toți concomitent. Datele asociației tale sunt invizibile pentru alte asociații. Tehnic, fiecare query la baza de date filtrează automat după company_id prin Row-Level Security (RLS) la nivel PostgreSQL. Nici măcar un bug grav în cod nu poate expune date între asociații — protecția e sub aplicație.

👥 Multi-utilizator — cele 9 roluri

🎯 Management
  • Președinte — toate drepturile pe asociație
  • Vicepreședinte — clonă președinte
  • Administrator — operațiuni zilnice
  • Membru comitet — vot CEX, vedere moderată
  • Cenzor — audit read-only + acces chat #Management
🏠 Rezidenți
  • Proprietar — apartament + vot AGA
  • Proprietar boxă — doar pentru boxă/garaj
  • Chiriaș — apartament read-only, sesizări

Al 9-lea rol este platform_admin (rezervat echipei HOA Manager, pentru suport tehnic; nu are acces la datele asociației dincolo de operațiuni administrative pe cererea explicită a asociației).

Dual-view pentru rolurile management cu apartament propriu (președinte, vicepreședinte, cenzor, membru comitet): un buton de comutare „Management view ⇄ Personal view" care schimbă ce vezi între dashboard-ul administrativ și pagina apartamentului tău. Util pentru oamenii care sunt și administratori, și proprietari în același bloc.

🏢 Multi-bloc — structuri complexe

O asociație poate avea 1, 2, 4, 10+ blocuri sub același CUI. Exemple reale: „Asociația Aleea Trandafirilor 12-18" = 4 blocuri. Sistemul tratează corect:

  • Fiecare apartament e legat de o locație (bloc/scară). Listele lunare se generează per locație sau pe asociația întreagă.
  • Anumite roluri pot fi restricționate la un singur bloc — „membru comitet bloc A1" vede doar A1.
  • Contabilitatea poate fi unificată (un singur fond pentru toată asociația) sau separată (un fond per bloc). Decizia la setup.
  • Ședințele AGA sunt comune (Legea o cere), dar CEX-ul poate avea sub-comitete per bloc dacă structura asociației o cere.

🔒 Despre securitate — claim-uri vs realitate

Datele unei asociații sunt sensibile: liste de plată cu sume, IBAN-uri, transferuri de proprietate, uneori CNP-uri ale proprietarilor. Protejarea lor e non-negociabilă. Mai jos, fiecare claim cu status real (verifică, nu te luăm pe ocolite):

Row-Level Security (RLS)
Activ pe toate tabelele cu date asociație. Filtrare automată după identitatea utilizatorului. Protecție la nivelul PostgreSQL.
Criptare în tranzit
TLS 1.3 pe toate conexiunile. Configurat default de Vercel și Supabase.
Criptare în repaus
AES-256 la nivelul disk-ului bază de date (default Supabase).
2FA TOTP
Funcționează cu Google Authenticator, Authy sau orice app TOTP. SMS 2FA nu este implementat (ar necesita provider plătit gen Twilio).
Magic links
Click pe link în email = autentificare. Alternativă la parolă pentru proprietari care nu vor s-o gestioneze.
Audit log
Activ pentru acțiuni sensibile: invitații, transfer proprietate, modificare roluri, modificări contabile critice. Notă onestă: coverage-ul se extinde continuu — nu toate acțiunile sunt încă în log.
Export GDPR
Endpoint disponibil. Cereri la gdpr@hoa-manager.ro, procesate în maxim 30 zile conform Art. 15 GDPR.
RBAC 9 roluri × 30+ module
Matrice fixă în cod, aplicată client-side (UI) și server-side (API + RLS). Defense in depth.
Rate limiting endpoint-uri publice
Acceptare invitație și submit RFQ au rate limit per IP. Endpoint-urile autentificate prin sesiunea Supabase.
PDF-uri cu amprentă SHA-256
Comunicări oficiale, somații, acorduri GDPR — PDF-ul are amprentă digitală ca dovadă că documentul n-a fost modificat ulterior.
Analytics anonim + pseudonim opt-out
Platform Analytics V1 (anonim device_id rotativ 30z) + V2 (user_key HMAC-SHA256 per company). Opt-out obligatoriu din Setări → Confidențialitate. Interes legitim GDPR Art. 6(1)(f) + LIA + DPIA-lite documentate.
⚠️ Backup zilnic
Automat via Supabase, Point-In-Time Recovery 7 zile (planul curent). Test complet de disaster recovery — planificat.
🔜 Penetration test extern + ISO 27001 + SOC 2
Obiective pe termen lung. Pentru asociații mici și medii, măsurile actuale acoperă GDPR și Legea 190/2018.

19 module. 9 roluri. Acum încearcă-le în practică.

Demo-ul nu e o prezentare slide. E platforma reală cu date mock. Te conectezi cu un click și vezi exact ce vede un administrator, un proprietar, un cenzor, un președinte. Fără cont, fără card.