e-bon
e-bon.ro
Portal

Panou de control

Pagina pe care aterizezi după autentificarea în Portal — o privire de ansamblu pe un singur ecran a dispozitivelor și bonurilor de astăzi din organizația activă, actualizată live prin WebSocket cu polling de rezervă la 30 de secunde.

Panou de control

Panoul de control este pagina pe care o vezi imediat după autentificarea în Portal, la /portal/dashboard. Este o privire de ansamblu pe un singur ecran, doar pentru ziua curentă, a stării afacerii: câte dispozitive fiscale ai, câte sunt online chiar acum, câte bonuri au fost emise până acum astăzi și ce venituri însumează acestea. Rolul ei este să răspundă în două secunde la întrebarea „este totul în regulă și sună casa de marcat?" — orice analiză mai în detaliu se face pe paginile dedicate Bonuri, Dispozitive sau Rapoarte.

Tot ce vezi pe panou este restrâns la organizația activă aleasă din comutatorul de organizații. Pentru utilizatorii al căror rol nu este Owner sau Admin (de obicei manageri legați de un singur magazin), datele sunt restrânse automat și la locația lor atribuită, astfel încât un șef de tură vede doar propria casă de marcat.

Cele patru carduri KPI

Rândul de sus al panoului afișează patru numere principale, în această ordine:

  • Dispozitive (dashboard.page.totalDevices) — numărul total de dispozitive fiscale înregistrate în organizația activă.
  • Bonuri astăzi (dashboard.page.receiptsToday) — câte bonuri au fost emise astăzi (după ora serverului).
  • Venituri astăzi (dashboard.page.revenueToday) — suma totalurilor acelor bonuri, formatată în RON.
  • Dispozitive online (dashboard.page.onlineDevices) — câte dintre dispozitivele tale sunt în acest moment Online (controler conectat și AMEF accesibil).

Panoul aduce bonurile de astăzi cu o limită strictă de 100 de rânduri pe cerere (RECEIPTS_LIMIT = 100). Când au fost emise mai mult de 100 de bonuri astăzi, cardul Bonuri astăzi afișează 100+, iar Venituri astăzi este suma totalurilor doar pentru acele prime 100 de bonuri.

Afișajul 100+ și suma corespunzătoare sunt intenționate. Panoul de control este gândit să rămână rapid pe traseul fierbinte — nu este un instrument de raportare. Dacă ai nevoie de totaluri exacte pentru zi, săptămână sau lună, deschide Rapoarte (raportul Z și sumarele zilnice sunt sursa de adevăr) sau filtrează pagina Bonuri după dată.

Starea inițială (zero state)

Când organizația ta nu are încă niciun dispozitiv înregistrat și niciun bon pentru ziua curentă, panoul intră în starea inițială:

  • Toate cele patru carduri KPI afișează o linie de pauză () în loc de un număr, cu tooltip-ul „Adaugă primul dispozitiv pentru a vedea date."
  • Cardul de onboarding Configurează E-BON apare în partea de sus a paginii, cu cei patru pași pentru a aduce online primul dispozitiv fiscal.

Parcurge acești pași o singură dată, iar starea inițială dispare de la sine în momentul în care aplicația controler revendică dispozitivul:

Descarcă aplicația E-BON

Instalează aplicația E-BON din Google Play Store pe dispozitivul tău Android.

Autentifică-te în aplicație

Folosește aceeași adresă de email și parolă cu care te-ai înregistrat pe acest portal.

Conectează o imprimantă fiscală

În aplicație, mergi la Setări > Adaugă imprimantă și conectează-te prin Bluetooth, USB sau TCP.

Verifică dispozitivul în portal

Odată conectat, dispozitivul va apărea automat în pagina Dispozitive.

Actualizări în timp real și polling de rezervă la 30 de secunde

Panoul se abonează la același flux de evenimente în timp real folosit de restul Portalului (useRealtimeEvents). Când conexiunea WebSocket este activă, cele patru KPI-uri și cele trei panouri laterale se actualizează live pe măsură ce sosesc evenimentele — receipt.created adaugă un rând în vârful listei Activitate recentă și incrementează Bonuri astăzi / Venituri astăzi, device.status actualizează badge-ul și ultima activitate ale dispozitivului corespunzător, iar app.connected și app.disconnected adaugă sau elimină rânduri din panoul Instanțe aplicație.

Dacă WebSocket-ul nu este conectat (tab-ul s-a trezit din somn, o întrerupere scurtă de rețea, un proxy capricios), panoul trece automat pe polling: re-aduce dispozitivele, bonurile de astăzi, instanțele de aplicație și statusurile dispozitivelor la fiecare 30 de secunde (FALLBACK_POLL_INTERVAL_MS = 30_000). Polling-ul se oprește în momentul în care WebSocket-ul se reconectează, astfel încât pagina nu încarcă niciodată de două ori. Pentru imaginea completă a comunicării dintre Portal, App și API, vezi prezentarea generală a arhitecturii.

Panoul Activitate recentă

Primul dintre cele trei panouri inferioare afișează ultimele 5 bonuri ale zilei, cele mai noi primele. Fiecare rând arată numele dispozitivului, ora la care a fost emis bonul, primele 8 caractere din identificatorul bonului și totalul în RON.

Când astăzi nu există încă niciun bon, panoul afișează indiciul de stare goală „Bonurile emise astăzi vor apărea aici." și un buton Vezi bonurile care te duce la pagina completă Bonuri, unde poți parcurge istoricul și filtra după dată, dispozitiv sau locație.

Panoul Starea dispozitivelor

Panoul din mijloc este o listă compactă a tuturor dispozitivelor fiscale din organizația activă, cu numele, un timestamp relativ pentru ultima activitate și badge-ul de status curent. Timestamp-ul relativ folosește unul dintre aceste șiruri, preluate verbatim din i18n:

  • Chiar acum — în ultimul minut.
  • acum {X}m — minute.
  • acum {X}h — ore.
  • acum {X}z — zile.
  • Niciodată — dispozitivul nu a raportat niciodată.
  • Necunoscut — datele despre ultima activitate lipsesc.

Un punct mic care pulsează în fața badge-ului de status indică faptul că WebSocket-ul controlerului este conectat în acest moment la cloud (independent de statusul AMEF în sine).

Când organizația nu are încă niciun dispozitiv, panoul afișează indiciul „Niciun dispozitiv înregistrat." și un buton Adaugă dispozitiv care te duce la pagina Dispozitive.

Panoul Instanțe aplicație

Al treilea panou listează fiecare instanță a aplicației Android E-BON conectată în acest moment la cloud pentru această organizație. Pentru fiecare instanță vezi:

  • deviceName — numele prietenos raportat de telefonul sau tableta controler.
  • appVersion — versiunea aplicației E-BON pe care o rulează.
  • deviceModel și osVersion — hardware-ul controlerului și versiunea de Android.
  • connectedAt — momentul în care s-a deschis sesiunea WebSocket, afișat ca Conectat de {time}.
  • connectedDevices — ce imprimante fiscale controlează această instanță în acest moment.

Fiecare rând poartă un badge verde Online cât timp sesiunea WebSocket este activă; rândul dispare în momentul în care controlerul se delogă sau socket-ul se închide.

Când niciun controler nu este conectat, panoul afișează „Nicio aplicație E-BON conectată." alături de un buton Configurare. Ești nou în E-BON? Începe cu ghidul de instalare a aplicației.

Ce NU include panoul de control
  • Niciun selector de interval de date. Panoul este fixat pe astăzi. Cifrele de ieri nu se află pe această pagină.
  • Niciun grafic de comparație sau de tendință. Nu există sparkline săptămână-pe-săptămână, niciun bar lună-până-acum, niciun procent de creștere.
  • Niciun buton de export. Nu poți descărca de aici bonurile sau KPI-urile zilei sub formă de CSV.
  • Niciun filtru per locație. Owner-ii și Admin-ii văd toate locațiile organizației active agregate; managerii văd automat doar locația lor atribuită și nu pot comuta între locații.
  • Niciun widget de defalcare pe cote de TVA. Veniturile zilei sunt un singur număr — nu sunt împărțite pe clase de TVA.
Pentru istoric, exporturi, comparații și defalcări pe TVA folosește pagina Bonuri (filtre după dată și export CSV) și pagina Rapoarte (rapoarte Z și sumare zilnice).

Pași următori

  • Gestionează hardware-ul fiscal care alimentează aceste numere — ghidul Dispozitive.
  • Intră în detaliile vânzărilor individuale — pagina Bonuri.
  • Obține totalurile zilnice oficiale și rapoartele Z — pagina Rapoarte.
  • Organizează dispozitivele între magazine — ghidul Locații.
  • Conectează integrări la fluxul de evenimente live folosit de panou — ghidul Chei API.
  • Adu primul dispozitiv online de la cap la coadă — ghidul de integrare.