FinHub

Platformă de Management al Plăților

Soluția digitală proprietară BMF Grup pentru automatizarea cererilor de plată — de la solicitarea inițială până la transferul efectiv către banca beneficiarului. Audit trail complet, conformitate GDPR și integrare bancară directă prin PSD2.

Descoperă platforma →

O platformă, un proces, zero hârtii.

FinHub centralizează întregul ciclu de viață al unei cereri de plată — de la momentul în care un tehnician fotografiază bonul de pe teren, până la confirmarea bancară finală a transferului. Patru roluri, cinci statusuri, totul transparent și auditabil.

Procesare rapidă

Reducere a timpului administrativ per cerere cu aproximativ 87%. De la 15 minute la 2 minute end-to-end.

🔒

Audit trail imutabil

Fiecare acțiune înregistrată cu utilizator, dată, oră. Reconstrucția istoriei oricărei plăți în câteva minute.

🏛️

Conformitate GDPR

Date stocate exclusiv pe servere proprii în Uniunea Europeană. Acces strict bazat pe rol, RBAC complet.

🔄

Integrare PSD2

Conexiune directă la sistemul bancar prin SmartPay (autorizat ASF), cu certificate mTLS și OAuth2.

📱

Multi-platformă

Aceeași aplicație rulează identic în browser, pe Android nativ, și (în viitor) pe iOS.

🔔

Notificări în timp real

SignalR pentru notificări instant în aplicație, plus email-uri cu detalii complete pentru fiecare schimbare.

Patru pași clari, zero ambiguitate.

Fiecare cerere parcurge un flux standardizat, complet auditat și transparent pentru toate părțile implicate. Statusul este vizibil în timp real, fără să fie nevoie de apeluri sau email-uri de clarificare.

1

Tehnicianul cere

Creează cererea direct din aplicație, atașează fotografia bonului și IBAN-ul beneficiarului.

2

Managerul aprobă

Primește notificare instant. Vede toate detaliile și aprobă (eventual cu sumă ajustată) sau respinge cu motiv.

3

Banca execută

FinHub trimite instrucțiunea prin SmartPay către banca emitentă. Managerul autorizează în interfața băncii.

4

Toți știu

Confirmarea bancară se reflectă automat. Tehnicianul primește notificare cu ID-ul tranzacției.

1 TEHNICIAN Creează cererea trimite 2 MANAGER Aprobă & plătește PSD2 3 SMARTPAY Inițiază tranzacția execută 4 BANCA Transfer real banii BENEFICIAR Primește plata Notificare automată tuturor părților + audit log imutabil FLUX END-TO-END AL UNEI CERERI DE PLATĂ

Banii nu trec niciodată prin FinHub — platforma orchestrează doar instrucțiunile. Transferul efectiv se face direct între bănci.

Cifrele vorbesc.

Comparat cu procesul manual anterior (telefon + email + introducere manuală în banca), FinHub aduce reduceri semnificative la fiecare nivel de operațiune.

87%
Reducere timp administrativ
2min
Timp mediu per cerere
260h
Ore recuperate anual
100%
Acoperire audit trail

Construit pentru a rezista auditurilor.

Securitatea nu este un strat adăugat la final — este un principiu de proiectare aplicat de la prima linie de cod. Toate măsurile sunt aliniate la standardele uzuale ale industriei financiare.

HTTPS end-to-end

Tot traficul criptat cu certificate Let's Encrypt auto-reînnoite.

Parole hash-uite cu BCrypt

Niciodată stocate în clar. Salt unic generat per utilizator.

JWT cu refresh tokens

Token-uri scurte (15 min), refresh sigur, invalidare la cerere.

mTLS pentru SmartPay

Autentificare reciprocă bazată pe certificate cu furnizorul bancar PSD2.

Separation of Duties

Aprobarea și inițierea plății sunt acțiuni distincte. Tehnicianul nu se poate auto-aproba.

Audit logs imutabile

Fiecare acțiune logată permanent. Nimeni nu poate modifica înregistrările.

Date în UE

Servere pe teritoriul Uniunii Europene, sub controlul direct al BMF Grup.

Backup 3-2-1

Trei copii, două medii, una off-site. Restaurare testată trimestrial.

Tehnologii de încredere, mature.

Selecția stack-ului a fost ghidată de trei criterii: maturitate, suport pe termen lung (LTS) și ergonomia dezvoltării. Fără modă tehnologică efemeră — doar tehnologii cu istoric demonstrat.

.NET 8
Backend LTS
PostgreSQL 16
Baza de date
React Native
Frontend universal
TypeScript
Type safety
Docker
Containerizare
Traefik
Reverse proxy + TLS
SignalR
Real-time
SmartPay
PSD2 banking
Cloudflare R2
Object storage
Let's Encrypt
Certificate TLS
Serilog
Logging structurat
Expo EAS
Build Android

Manuale pentru utilizatorii FinHub.

Indiferent dacă ești tehnician care înregistrează cereri din teren sau manager care aprobă și inițiază plățile, ghidurile de mai jos îți arată pas cu pas tot ce trebuie să știi. Conținutul este sincronizat cu versiunea actuală a platformei.

Ce înseamnă să fii Tehnician în FinHub

Rolul tău este să transformi cheltuielile reale din teren — materiale, transport, piese de schimb, mese cu clienții — în cereri de plată clare, complete și ușor de aprobat de către managerul tău. Fără telefoane, fără email-uri, fără tabele Excel. Doar deschizi aplicația, apeși „Cerere nouă”, completezi și gata.

1

Primii pași — autentificare și profil

Primești de la administrator o invitație pe email cu link de setare parolă. Apeși link-ul, alegi o parolă proprie (minim 12 caractere, cu majuscule, cifre și un simbol), și ești gata să te loghezi.

Pe web

Accesezi finhub.bmfgrup.eu și introduci email + parolă.

Pe Android

Descarci aplicația FinHub printr-un link primit de la administrator (APK direct, deocamdată nu prin Play Store). La prima deschidere alegi „Logare” și introduci aceleași date.

Sfat

Activează „Ține-mă conectat” ca să nu trebuiască să te loghezi la fiecare deschidere a aplicației pe mobil. Token-ul tău rămâne valid 7 zile.

2

Statusurile unei cereri — ce înseamnă fiecare

O cerere poate trece prin 5 stări. Iată ce înseamnă fiecare:

În așteptare Aprobată În procesare Plătită Respinsă
  • În așteptare — ai creat cererea, managerul nu a apucat încă să se uite peste ea.
  • Aprobată — managerul a confirmat suma. Urmează inițierea plății.
  • În procesare — managerul a apăsat „Plătește”. Banca încă procesează tranzacția.
  • Plătită — banii au ajuns la beneficiar. Ai dovada digitală în aplicație.
  • Respinsă — managerul a refuzat cererea. Vei vedea motivul în detaliul cererii.
3

Cum creezi o cerere nouă

Acesta este flow-ul principal. Bonul l-ai primit pe teren, ai făcut o poză și acum îl introduci în sistem.

Pașii:

  1. Apeși butonul + Cerere nouă din pagina principală.
  2. Completezi Suma (în RON, cu virgulă pentru zecimale, ex: 95,50).
  3. Scrii Descrierea — clară și scurtă. Ex: „Materiale priza + cablu pentru lucrarea ABC”.
  4. Introduci Datele beneficiarului: nume complet, IBAN, banca.
  5. Apeși Poza bon sau Document ca să atașezi dovada cheltuielii.
  6. Verifici totul și apeși Trimite.
i
Notificare automată

Imediat ce trimiți cererea, managerul tău direct primește o notificare în aplicație și un email cu detaliile. Nu mai trebuie să-l suni.

!
IBAN greșit = transfer greșit

IBAN-ul beneficiarului trebuie verificat de două ori înainte de trimitere. O greșeală de o cifră înseamnă bani trimiși altcuiva, iar recuperarea lor poate dura săptămâni. Cere IBAN-ul scris de beneficiar, nu îl transcrie din memorie.

4

Cum atașezi bonul corect

O fotografie bună de bon înseamnă aprobare rapidă. O poză neclară sau tăiată înseamnă întrebări, întârzieri și uneori respingere.

Reguli simple pentru poza de bon:

  • Lumină naturală — fără flash care creează reflexii.
  • Bonul întins — nu mototolit, nu îndoit.
  • Toate detaliile vizibile — data, suma totală, denumirea magazinului.
  • Fără degete în cadru — par neprofesionist și pot acoperi informații importante.
  • Format acceptat — JPG, PNG sau PDF. Mărimea maximă: 10MB.
5

Notificările — cum funcționează

Vei primi notificări la fiecare schimbare importantă a unei cereri pe care ai trimis-o. Notificările apar în două locuri:

  • În aplicație — clopoțelul din colțul de sus al ecranului. Numărul roșu îți arată câte notificări necitite ai.
  • Pe email — la adresa contului tău. Conține toate detaliile cererii.

Notificări pe care le primești:

  • ✅ Cererea ta a fost aprobată (cu suma confirmată).
  • ❌ Cererea ta a fost respinsă (cu motivul respingerii).
  • ⏳ Plata a fost inițiată (managerul a apăsat „Plătește”).
  • 💸 Plata a fost finalizată (banii au ajuns la beneficiar).
6

Probleme frecvente & rezolvări

„Cererea mea e respinsă, ce fac?”

Deschide cererea respinsă și citește motivul exact (e câmp obligatoriu pentru manager). Cele mai des întâlnite motive sunt: poza bonului ilizibilă, IBAN incorect, descriere prea vagă. Creezi o cerere NOUĂ, corectată — nu poți redeschide o cerere respinsă.

„Am greșit IBAN-ul, dar cererea e deja aprobată!”

Anunță IMEDIAT managerul, telefonic sau prin mesaj direct. Înainte ca managerul să apese „Plătește”, IBAN-ul nu poate fi schimbat din UI, dar SuperAdmin-ul poate respinge cererea aprobată și o poți recrea corect.

„Aplicația nu se conectează”

Verifică conexiunea la internet. Dacă internetul funcționează dar aplicația tot dă eroare, închide complet aplicația (swipe up pe Android) și redeschide-o. Dacă persistă mai mult de 5 minute, contactează echipa tehnică.

Sfat profesional

Înainte să închizi ziua de lucru, deschide aplicația și verifică ce cereri au fost aprobate sau respinse. Astfel îți păstrezi mereu situația la zi și nu pierzi din vedere bonurile vechi.

Ce înseamnă să fii Manager în FinHub

Rolul tău este punctul cheie al întregului flux: tu validezi cererile tehnicienilor tăi, tu inițiezi plățile efective către beneficiari, tu ești responsabil de banii care ies din conturile bancare ale departamentului. FinHub îți pune la dispoziție tot ce ai nevoie ca să faci asta rapid, transparent și fără greșeli.

1

Dashboard — ce vezi când deschizi aplicația

La logare ești dus direct în pagina principală, unde ai trei zone importante:

  • Cereri în așteptare — cele care nu te lasă să dormi liniștit. Sus, evidențiate cu galben.
  • Cereri aprobate (de plătit) — gata pentru inițierea SmartPay. Mijlocul listei.
  • Istoric — cererile deja procesate (plătite sau respinse). Jos.

Fiecare card afișează: tehnicianul, suma, descrierea scurtă, data și statusul colorat. Apeși pe un card ca să vezi detalii complete.

i
Vezi doar tehnicienii tăi

Ca Manager, vezi DOAR cererile tehnicienilor pe care îi ai în subordine directă (cei pentru care ești manager direct în profilul lor). Nu vezi cererile altor manageri. Doar SuperAdmin-ul vede totul.

2

Cum aprobi o cerere

Deschizi cererea apăsând pe cardul ei. Verifici trei lucruri esențiale:

  1. Bonul atașat — apeși pe iconița de imagine ca să-l vezi mărit. Suma trebuie să se potrivească.
  2. IBAN-ul beneficiarului — îl recunoști? Are formatul corect (RO + 22 caractere)?
  3. Descrierea — e clară? Justifică cheltuiala?

Dacă totul e OK, apeși butonul Aprobă. Poți ajusta suma aprobată dacă, de exemplu, bonul include și ceva ce nu trebuie decontat (cafele, gustări personale). Tehnicianul va vedea exact ce sumă ai aprobat și de ce diferă față de ce a cerut.

Aprobare cu sumă ajustată

Când ajustezi suma, scrie întotdeauna și o observație („Cafelele personale - 12 lei nu se deconteaza”). Tehnicianul vede observația și nu va mai face aceeași greșeală.

3

Cum respingi o cerere

Dacă o cerere are probleme grave (bon ilizibil, IBAN suspect, sumă nepotrivită cu bonul, descriere lipsită de sens), o respingi.

Apeși Respinge, iar sistemul îți cere obligatoriu un motiv scris — fără asta nu poți finaliza respingerea. Acesta este un control deliberat: tehnicianul trebuie să știe exact ce să corecteze.

!
Respingerea este definitivă

O cerere respinsă NU mai poate fi reaprobată. Tehnicianul va trebui să creeze o cerere nouă cu corecturile cerute. Această regulă există pentru integritatea audit trail-ului — nu poți „șterge” respingerea ca să pari mai îngăduitor cu unii tehnicieni.

4

Cum inițiezi plata (flow SmartPay)

După aprobare, cererea trece în statusul Aprobată și apare butonul Plătește. Aici este pasul cheie unde banii încep efectiv să se miște.

Ce se întâmplă în culise:

  1. Apeși Plătește și confirmi că vrei să inițiezi plata.
  2. FinHub trimite instrucțiunea către SmartPay (furnizorul PSD2 autorizat).
  3. SmartPay îți deschide o pagină a băncii tale emitente (pe web, în tab nou; pe mobil, într-un browser intern).
  4. Te autentifici la bancă (SMS, biometric, sau token).
  5. Confirmi suma și beneficiarul. Apeși „Plătește” în interfața băncii.
  6. Banca trimite confirmarea către SmartPay, care o trimite mai departe către FinHub.
  7. Cererea trece automat în statusul Plătită.
i
Banii nu trec prin FinHub

FinHub doar orchestrează instrucțiunile. Banii pleacă efectiv din contul bancar al departamentului către contul beneficiarului, direct între bănci. FinHub nu deține niciun cont propriu. Asta înseamnă siguranță maximă — chiar dacă platforma ar fi compromisă, conturile bancare rămân intacte.

5

Cazuri speciale & cum le rezolvi

Cererea e blocată în „În procesare” de mai mult de 24 ore

Se întâmplă rar, dar se întâmplă: o problemă de rețea între SmartPay și bancă, sau o procesare bancară mai lentă în weekend. În detaliul cererii ai un buton de resetare care trece cererea înapoi în „Aprobată”, ca să poți relua plata.

!
ATENȚIE la resetarea statusului

Înainte să resetezi o cerere blocată, verifică ÎNTÂI în extrasul bancar dacă tranzacția nu a fost executată totuși. Dacă a fost, ai pățit-o — resetezi degeaba și riști să inițiezi o a doua plată identică. Telefonezi la SmartPay (numărul îl găsești pe smartpay.ro) ca să confirme statusul real al plății.

Tehnicianul îți cere să modifici o cerere deja aprobată

Nu se poate. Odată aprobată, cererea e „înghețată” până la plată sau anulare prin SuperAdmin. Dacă există o problemă reală, contactezi SuperAdmin-ul, care poate face un audit log de corecție și poate respinge cererea aprobată pentru recreare.

Vrei să vezi cine a aprobat o cerere specifică

În detaliul fiecărei cereri ai o secțiune Istoric acțiuni care arată fiecare schimbare de status, cu utilizator, dată, oră și IP. Acesta este audit trail-ul FinHub — imutabil și complet.

6

Conturi bancare & gestiunea lor

Fiecare manager are unul sau mai multe conturi bancare configurate de SuperAdmin (tu nu poți adăuga sau șterge conturi). La inițierea fiecărei plăți, alegi din care cont vrei să fie executată tranzacția.

Conturile sunt read-only pentru tine

Vezi IBAN-ul, banca și numele contului, dar nu poți modifica nimic. Pentru schimbări (cont nou, închidere de cont, schimbare bancă), contactezi SuperAdmin-ul cu detaliile. Această restricție există pentru a preveni accidentele de configurare.

i
Tehnicienii nu văd conturile bancare

Numai tu (Manager) și SuperAdmin-ul vedeți IBAN-urile firmei. Tehnicienii nu au acces la această informație — nici măcar la inițierea cererii. Este o măsură de Separation of Duties (control intern).

7

Sfaturi din experiență

Stabilește o rutină de aprobări

Verifică cererile de două ori pe zi: dimineața la 9:00 și după-amiaza la 16:00. Tehnicienii vor ști când să se aștepte la aprobări și nu vor mai veni să te întrebe în cursul zilei.

Folosește filtrul „Doar aprobate”

Când vrei să faci o sesiune de plăți (de exemplu, vineri după-amiaza, toate cererile săptămânii), folosește filtrul ca să vezi doar cele aprobate. Apeși „Plătește” pe rând, una după alta.

!
Niciodată nu împărtăși parola

Ca Manager, ești singurul care poate iniția plăți din conturile firmei. Dacă cineva îți cere parola — chiar și SuperAdmin-ul — refuză categoric. Audit trail-ul îți va atribui ție orice plată făcută de cineva care îți folosește contul.

Ce înseamnă să fii SuperAdmin în FinHub

Tu ești paznicul platformei. Vezi tot ce se întâmplă în FinHub, în orice departament, fără filtre. Tu adaugi utilizatori noi, tu configurezi infrastructura, tu intervii când apare o problemă pe care managerii nu o pot rezolva singuri. Cu mare putere vine și marea responsabilitate — fiecare acțiune a ta este logată permanent.

1

Gestiunea utilizatorilor

În meniul Administrare → Utilizatori vezi toți utilizatorii platformei, indiferent de rol. Aici poți crea, edita, dezactiva sau șterge conturi.

Crearea unui utilizator nou

  1. Apeși + Utilizator nou.
  2. Completezi datele: nume, prenume, email (va fi și username), telefon.
  3. Alegi rolul: SuperAdmin, Manager, Tehnician sau Viewer.
  4. Dacă rolul e Tehnician, obligatoriu alegi managerul direct din lista existentă.
  5. Apeși Creează. Sistemul trimite automat un email cu link de setare parolă, valabil 48 ore.
i
Niciodată nu setezi parole tu

FinHub nu îți afișează nicăieri parola unui utilizator (nici măcar ție). Utilizatorul își setează singur parola prin link-ul primit pe email. Această regulă există pentru ca audit trail-ul să nu te poată acuza vreodată că ai accesat un cont „cu parola pe care i-am dat-o”.

Dezactivarea unui utilizator (recomandat) vs. ștergerea (extremă)

Când un angajat pleacă, dezactivează-i contul, nu îl șterge. Astfel cererile istorice rămân vizibile cu numele lui, iar audit trail-ul rămâne intact. Contul dezactivat nu se mai poate loga.

!
Ștergerea = soft delete

Chiar și „ștergerea” în FinHub este de fapt soft delete — datele rămân în baza de date, doar marcate ca șterse. Acest design respectă cerințele GDPR de păstrare a istoricului contabil, dar evită afișarea în UI. Pentru ștergerea reală (anonimizare permanentă), contactează echipa tehnică.

Resetarea parolei pentru un utilizator

În detaliul utilizatorului ai butonul Trimite link de resetare parolă. Apăsându-l, sistemul trimite un email cu link nou de setare parolă. Tu nu vezi parola veche și nu o poți seta direct — utilizatorul își alege singur o nouă parolă prin link.

2

Conturi bancare ale firmei

Conturile bancare din care se inițiază plățile sunt configurate exclusiv de SuperAdmin. Le găsești la Administrare → Conturi bancare.

Adăugarea unui cont nou

  1. Apeși + Cont nou.
  2. Completezi: nume cont (ex: „Cont principal RON BCR”), IBAN, banca.
  3. Asociezi contul unuia sau mai multor manageri care au dreptul să inițieze plăți din acel cont.
  4. Verifici dacă contul este corect configurat și activ în SmartPay (consultă cu reprezentantul SmartPay).
!
IBAN-ul este sacru

Un IBAN configurat greșit înseamnă plăți care nu pleacă, sau (mai rău) plăți care pleacă dar nu pot fi reconciliate. Verifică IBAN-ul de două ori, contra unui document oficial al băncii (extras de cont sau contract). Niciodată nu lua IBAN-ul „din memorie” sau dintr-un email nesigur.

Dezactivarea unui cont vechi

Conturile nu se șterg, ci se dezactivează. Un cont dezactivat nu mai apare la inițierea plăților noi, dar rămâne vizibil pentru cererile istorice care au folosit acel cont. Aceasta păstrează coerența auditurilor contabile retroactive.

3

Configurarea serverului SMTP (notificări email)

Email-urile pe care platforma le trimite (aprobări, respingeri, plăți) ies prin serverul SMTP configurat aici. Poți avea mai multe configurații, dar doar UNA poate fi marcată ca implicită activă în orice moment.

Pași pentru o configurare SMTP nouă

  1. La Administrare → Notificări → SMTP, apeși + Configurație nouă.
  2. Completezi: nume sugestiv (ex: „Office365 production”), host, port, username, parolă.
  3. Activezi TLS (recomandat în 99% din cazuri).
  4. Completezi „From address” și „From name” care vor apărea în email-urile trimise.
  5. Apeși Test conexiune înainte de salvare — testează autentificarea fără să trimită email real.
  6. Dacă testul reușește, salvezi și (opțional) o setezi ca implicită.
Păstrează două configurații

Recomandăm să ai mereu 2 configurații salvate: una principală (ex: Office365) și una de backup (ex: SendGrid sau SMTP propriu). Dacă principala cade, schimbi flag-ul „implicită” într-un singur click și email-urile continuă să curgă.

4

Audit trail — investigarea acțiunilor

La Administrare → Audit logs ai acces la istoricul complet al tuturor acțiunilor sensibile din platformă. Acesta este Sfântul Graal al integrității — aici răspunzi la întrebări precum „cine a aprobat cererea X?”, „de ce a fost respins utilizatorul Y?”, „când s-a schimbat IBAN-ul contului Z?”.

Filtre disponibile

  • După utilizator — toate acțiunile unei persoane.
  • După tip de entitate — Payment, User, BankAccount, SmtpConfig etc.
  • După tip de acțiune — Create, Update, Delete, Approve, Reject, Pay.
  • După interval temporal — ex: ultima săptămână, luna trecută, custom.

Export pentru auditor extern

Pentru audit financiar (ANAF, audit independent), poți exporta toate înregistrările din intervalul cerut ca fișier CSV sau JSON. Apeși Export, alegi intervalul și formatul, primești un email cu link de descărcare valabil 24 ore.

i
Audit logs sunt imutabile

Nu poți edita sau șterge înregistrările din audit logs. Aplicația nu expune endpoint-uri pentru asta, iar utilizatorul PostgreSQL al backend-ului are permisiuni doar de INSERT și SELECT pe această tabelă. Aceasta este o garanție de design — chiar dacă ai vrea să „cosmetizezi” trecutul, sistemul nu îți permite.

5

Intervenții speciale

Resetarea cererilor blocate în „În procesare”

Dacă o cerere rămâne blocată în „În procesare” mai mult de 24 ore și managerul nu o rezolvă (e plecat, în concediu, etc.), tu poți interveni. La detaliul cererii ai butonul Reset status (Admin), care o trece înapoi în „Aprobată” și permite re-inițierea plății.

!
Verifică banca ÎNAINTE de reset

Înainte să resetezi o cerere blocată, contactează SmartPay sau verifică direct extrasul bancar al contului din care s-a inițiat plata. Dacă tranzacția a fost executată dar webhook-ul s-a pierdut, resetarea va duce la dublă plată. NICIODATĂ nu reseta pe baza presupunerii.

Respingerea unei cereri deja aprobate

În cazuri excepționale (fraudă suspectată, eroare gravă descoperită ulterior), poți respinge o cerere deja aprobată dar încă neplătită. Aceasta o anulează definitiv, iar tehnicianul trebuie să creeze una nouă dacă mai e cazul. Motivul respingerii este obligatoriu și apare în audit trail.

Reasignarea unui tehnician la alt manager

Când restructurați echipele, poți schimba managerul direct al unui tehnician din profilul său. Cererile vechi rămân asociate cu managerul anterior (pentru integritatea istoricului), dar cererile noi vor merge la noul manager.

6

Backup & monitorizare

Backup-urile bazei de date rulează automat zilnic la 03:00 UTC, conform configurației de pe VPS. Tu nu trebuie să intervii zilnic, dar este responsabilitatea ta să verifici periodic că backup-urile funcționează corect.

Verificarea săptămânală recomandată

  • Conectează-te pe VPS prin SSH (cu cheia ta personală).
  • Rulează ls -lah /backups/finhub/ și verifică data ultimului backup.
  • Verifică dimensiunea — ar trebui să fie similară cu cele anterioare (creștere normală).
  • Trimestrial, fă o testare reală de restore pe un VPS de staging.
Monitorizare prin email

Scriptul de backup este configurat să trimită email automat către admin@bmfgrup.eu dacă apare o eroare (fișier gol, eșec upload R2). Dacă într-o lună nu primești niciun email de eroare, înseamnă că totul funcționează. Dacă în mod surprinzător nu mai primești NICIODATĂ niciun email, e suspect — verifică manual că cronjob-ul rulează.

7

Securitate operațională personală

Ca SuperAdmin, contul tău este ținta principală a oricărui atacator. Aplicați aceleași reguli pe care le-ai impune oricui — și un strat suplimentar.

  • Parolă unică, lungă — minim 20 caractere, fără reutilizare din alte locuri.
  • Manager de parole — folosește 1Password, Bitwarden sau echivalent.
  • MFA activ — când va fi disponibil, activează-l fără ezitare.
  • Sesiuni scurte — logout când termini, nu lăsa contul activ pe calculator nesupravegheat.
  • SSH cheie cu passphrase — pentru accesul pe VPS, niciodată cheie fără parolă.
  • Verificare periodică — uită-te lunar prin audit logs să vezi că nimic nu pare suspect (logări neașteptate, modificări fără explicație).
!
Niciodată un singur SuperAdmin

Trebuie să existe cel puțin DOI utilizatori cu rol SuperAdmin în orice moment. Dacă unul devine indisponibil (boală, plecare bruscă, cont compromis), celălalt trebuie să poată interveni. Niciodată să nu fii singurul SuperAdmin — este un risc operațional inacceptabil.

Răspunsuri rapide.

Cele mai des întâlnite întrebări de la utilizatorii FinHub, grupate pe categorii. Dacă nu găsești răspunsul pe care îl cauți, consultă manualul corespunzător rolului tău sau contactează echipa tehnică.

General Tehnicieni Manageri Securitate

Nu. FinHub este doar un orchestrator de instrucțiuni de plată — nu deține niciun cont bancar propriu și nu reține banii în niciun moment.

Transferul efectiv are loc între contul bancar al firmei (al managerului) și contul beneficiarului, direct, prin infrastructura SmartPay (autorizată ASF). Chiar dacă platforma ar fi compromisă, conturile bancare rămân intacte.

FinHub rulează identic în trei medii:

Browser web — orice browser modern (Chrome, Firefox, Edge, Safari). Accesibil la finhub.bmfgrup.eu.
Android — aplicație nativă instalabilă prin APK furnizat de administrator.
iOS — momentan inactiv, dar arhitectura permite activarea oricând (codul e cross-platform).

Cererile de plată sunt păstrate permanent, atât timp cât există compania, pentru justificare contabilă și audit financiar (cerință legală în România).

Datele cu caracter personal (email-uri, telefoane) ale utilizatorilor inactivi sunt anonimizate după 1 an de inactivitate, conform politicii GDPR. Log-urile aplicației se păstrează 30 zile, iar email-urile trimise — 90 zile.

Nu, tehnicienii nu pot șterge cereri. Această restricție există pentru integritatea audit trail-ului.

Dacă ai trimis o cerere greșită, ai două opțiuni: (1) așteaptă ca managerul să o respingă (cu motiv) — apoi creează una nouă corectată, sau (2) anunță managerul telefonic înainte ca el să se uite peste ea, ca să o respingă rapid. Niciodată nu poți „șterge istoria”.

Tehnicienii văd doar cererile lor proprii — niciodată cererile altor colegi tehnicieni, nici măcar din același departament.

Această izolare este intenționată, pentru protecția datelor personale și operaționale ale fiecărui tehnician. Doar managerul direct și SuperAdmin-ul au vedere de ansamblu.

Verifică în primul rând: (1) dimensiunea fișierului — maxim 10MB; (2) formatul — JPG, PNG sau PDF; (3) conexiunea la internet.

Dacă poza este prea mare, refă-o cu o rezoluție mai mică (în setările camerei alegi „medie” în loc de „maximă”). Dacă persistă problema, salvează cererea fără bon mai întâi (status În așteptare), apoi încarcă bonul ulterior din pagina de detaliu a cererii.

Nu. Aceasta este o regulă fundamentală de control intern numită Separation of Duties (separarea sarcinilor).

Dacă ai propria ta cerere de decontare, ea trebuie aprobată de un alt manager sau de un SuperAdmin. Sistemul nu îți permite să apeși „Aprobă” pe o cerere unde ești și solicitant. Această restricție previne abuzurile și face FinHub conform cu standardele de audit.

Verifică în această ordine: (1) statusul cererii — dacă e încă „În procesare”, probabil banca încă lucrează; (2) extrasul tău bancar — uneori plata este deja executată dar webhook-ul nu a ajuns; (3) site-ul SmartPay sau telefon la suport SmartPay pentru statusul real.

NICIODATĂ nu reseta statusul cererii înainte să fii sigur că plata NU s-a făcut. Reset pe baza presupunerii = risc de dublă plată.

Nu. Odată ce o cerere a fost trimisă, niciun câmp al ei nu mai poate fi modificat — nici de tehnician, nici de manager.

Dacă IBAN-ul este greșit, respingi cererea cu motiv clar („IBAN incorect — verifică RO__BANK__”) și tehnicianul o recreează corect. Această imutabilitate protejează integritatea procesului de plată.

Pe pagina de login ai link-ul „Am uitat parola”. Introduci email-ul contului tău și primești un email cu link unic de resetare, valabil 1 oră.

Dacă nu primești email-ul, verifică folderul de Spam. Dacă nici acolo nu este, anunță SuperAdmin-ul care poate declanșa manual un nou link de resetare. Niciodată nu sună la „suport” să-ți zică parola — nimeni nu o știe, nici măcar SuperAdmin-ul.

Da, pentru consultare (vizualizare cereri, status, istoric). Toată comunicarea cu FinHub este criptată HTTPS end-to-end, deci nimeni de pe Wi-Fi nu poate citi traficul tău.

Pentru inițierea plăților de pe Wi-Fi public, recomandăm prudență suplimentară: folosește un VPN sau date mobile. Nu pentru că FinHub e nesigur, ci pentru că redirect-ul către banca emitentă poate trece prin domenii pe care le ai mai puțin sub control.

Nu. Toate datele FinHub (cererile, utilizatorii, audit log-urile, backup-urile) sunt stocate pe servere fizic localizate în Uniunea Europeană, sub controlul direct al BMF Grup.

Niciun serviciu cloud din afara UE nu are acces la date. Cloudflare R2 (stocarea de bonuri) folosește bucket-uri din regiunea EU. Serverul SMTP poate fi configurat oriunde, dar BMF Grup poate alege un furnizor EU dacă preferă (configurabil din UI).

Acces strict bazat pe rol:

Tu (tehnician) — doar cererile tale proprii.
Managerul tău direct — cererile tale și ale celorlalți tehnicieni din subordinea sa.
Alți manageri — NU au acces la cererile tale.
SuperAdmin — vede totul, dar fiecare acces este logat în audit trail.
Viewer — rol read-only, vede totul fără să poată face modificări.

FinHub în producție.

Platforma este operațională din mai 2026 pe infrastructură proprie BMF Grup. Pentru detalii despre implementare, integrare sau colaborare, contactați echipa tehnică BMF Grup.

finhub.bmfgrup.eu  •  api.finhub.bmfgrup.eu