Workflow: Recruit to Payroll

Modules involved: Recruitment · Staff (HR) · HR Profile · HR Payroll · Timesheets
Who uses it: HR manager, Recrutor, Manager departament, Financiar
Durata tipică: 2–8 săptămâni recrutare + continuu (lunar pentru payroll)

Overview

Ciclul complet de HR: de la identificarea nevoii de angajare până la primul fluturaj de salariu. Acoperă recrutarea structurată (propunere → campanie → candidați → interviuri → angajare), onboarding-ul HR, și calculul lunar al salariului (prezență → calcul brut → deduceri → net).


Diagrama fluxului

[PROPUNERE RECRUTARE]
  │  definești nevoia: poziție, departament, număr posturi, buget
  │  ↓ Aprobare propunere → lansare campanie
  │
[CAMPANIE RECRUTARE]
  │  anunț publicat pe canale (LinkedIn, job boards, etc.)
  │  ↓ Candidații aplică
  │
[CANDIDAT]
  │  status: Application (1) → Potential (2) → Interview (3)
  │         → Won Interview (4) → Send Offer (5) → Elect / Hired (6)
  │         ↘ Non-Elect (7) / Unanswer (8) / Transferred (9)
  │
[INTERVIU]
  │  programare + evaluare + scoring candidat
  │  ↓ Candidat selectat → status Elect (6)
  │
[ANGAJARE → STAFF creat automat]
  │  fișă de post, departament, rol, acces CRM
  │
[ONBOARDING HR PROFILE]
  │  checklist onboarding, contracte HR, persoane întreținere
  │  training, fișă HR completă
  │
[PONTAJ LUNAR]
  │  zile lucrate / concedii / absențe înregistrate
  │  ↓ Aprobare pontaj
  │
[CALCUL SALARIU (Payroll)]
  │  brut = salariu de bază + bonusuri + comisioane
  │  deduceri = asigurări + impozit pe venit + rețineri
  │  net = brut − deduceri
  │  ↓ Generare fluturaș
  │
[FLUTURAȘ (Payslip) ✓]
  │  status: payslip_opening → aprobat → distribuit

Pas cu pas

1. Propunere de Recrutare — Definirea nevoii

Unde: /admin/recruitment/recruitment_proposal

Ce conține propunerea:

Flux de aprobare:
Propunerea trece prin aprobare managerială (dacă e configurat) înainte de a deveni campanie activă.


2. Campanie de Recrutare — Publicarea postului

Unde: /admin/recruitment/recruitment_campaign

Campania conține:

Statusuri campanie:
Numerice (1–10) configurabile per implementare; tipic: Deschisă, Închisă, Suspendată.


3. Candidat — Evaluarea și selecția

Unde: /admin/recruitment/candidate_profile

Cum intră un candidat:

Profilul candidatului include:

Statusurile candidatului — mașina de stare:

Cod Status Descriere Acțiune tipică
1 Application CV primit, neevaluat HR verifică CV-ul
2 Potential CV selectat Invitație la interviu telefonic
3 Interview Programat la interviu Programare interviu creată
4 Won Interview Promovat la etapa finală Interviu tehnic / cu managerul
5 Send Offer Ofertă trimisă Email ofertă generat
6 Elect Angajat → creează Staff automat Contract semnat
7 Non-Elect Respins Email de mulțumire (opțional)
8 Unanswer Nu a răspuns la ofertă Follow-up după X zile
9 Transferred Mutat la altă campanie Realocat alt departament
10 Freedom Ieșit din proces Arhivat

Tranziția critică: Când statusul ajunge la 6 (Elect), sistemul creează automat un Staff record populat cu datele candidatului (nume, email, telefon). Candidatul devine angajat activ în CRM.


4. Interviu — Evaluarea structurată

Unde: /admin/recruitment/interview_schedule

Programare interviu:

Evaluare candidat:


5. Angajare — Crearea angajatului în sistem

Unde: /admin/staff (creat automat) + /admin/hr_profile

Ce se creează automat la status Elect (6):

Ce se completează manual:


6. Onboarding HR Profile — Integrarea angajatului

Unde: /admin/hr_profile

Modulul HR Profile acoperă:

Sub-modul URL Descriere
Dashboard HR /admin/hr_profile/dashboard Overview angajați
Fișe de post /admin/hr_profile/job_positions Descrieri posturi
Organigramă /admin/hr_profile/organizational_chart Structura companiei
Onboarding /admin/hr_profile/reception_staff Checklist intrare angajat
Evidență HR /admin/hr_profile/staff_infor Date HR complete
Training /admin/hr_profile/training Programe formare
Contracte HR /admin/hr_profile/contracts Contracte individuale muncă
Persoane întreținere /admin/hr_profile/dependent_persons Soț/soție, copii (impact fiscal)
Checklist ieșire /admin/hr_profile/resignation_procedures Proceduri CIM

Checklist onboarding:


7. Pontaj (Timesheets) — Înregistrarea prezenței

Unde: /admin/hr_payroll/manage_attendance sau /admin/staff/timesheets

Date de pontaj lunare per angajat (hrp_employees_timesheets):

Câmp Descriere
standard_workday Zile lucrătoare standard în lună
actual_workday Zile efectiv lucrate
paid_leave Zile concediu plătit
unpaid_leave Zile concediu neplătit

Aprobare pontaj:
Managerul aprobă înregistrările de prezență înainte de generarea payslip-ului. Fără aprobare, datele nu sunt incluse în calcul.


8. Calculul Salariului (Payroll) — Generarea fluturașului

Unde: /admin/hr_payroll

Fluxul de calcul — pas cu pas:

INTRĂRI:
  ├── Salariu de bază (din contractul HR)
  ├── Zile lucrate efectiv (din pontaj aprobat)
  ├── Bonusuri KPI (hrp_bonus)
  ├── Comisioane (din commission module)
  └── Deduceri (hrp_deductions)

CALCUL BRUT:
  salariu_zilnic = salariu_baza / standard_workday
  salariu_realizat = salariu_zilnic × actual_workday
  brut = salariu_realizat + bonusuri + comisioane

DEDUCERI:
  asigurari_angajat = brut × cota_CAS + cota_CASS + ...
  impozit_pe_venit = (brut - asigurari - rebate_personal) × cota_impozit
  retineri_diverse = din hrp_deductions

NET = brut - asigurari_angajat - impozit_pe_venit - retineri_diverse
COST_TOTAL = brut + contributii_angajator

Componente configurable (hrp_payroll_columns):

Statusuri payslip:

Status Descriere
payslip_opening Draft — generat, nesupus aprobării
Aprobat Verificat de HR/Financiar
Distribuit Fluturașul trimis angajatului

Generare:
Buton Generează Fluturași pentru luna selectată → sistem calculează automat pentru toți angajații activi cu pontaj aprobat.


Ce se creează automat

Eveniment Se creează automat
Candidat → status Elect (6) Staff record în CRM cu date din profil candidat
Staff record creat rec_transfer_records pentru onboarding tracking
Onboarding activat Checklist tasks alocate angajatului nou
Generare payroll Payslip per angajat cu toate componentele calculate
Payslip aprobat Email/notificare angajat cu fluturașul atașat

Puncte unde fluxul poate bloca

Problemă Cauză probabilă Soluție
Staff nu se creează la angajare Status candidat nu a ajuns la 6 (Elect) Schimbă explicit statusul în Elect
Payslip-ul are valori 0 Pontaj neaprobat sau salariu neconfigurat Aprobă pontajul; completează salariul în contractul HR
Impozitul calculat greșit Rate de impozit neconfigurate Configurează hrp_income_tax_rates cu brackets corecte
Fluturașul nu ajunge la angajat Email SMTP nesetat sau angajat fără email Verifică email angajat + SMTP la setări
Bonusul KPI nu apare KPI-urile perioadei neînchise sau neaprobate Aprobă KPI-urile din /admin/hr_payroll/manage_bonus

Rapoarte relevante


Module implicate — documentație detaliată

← Înapoi la Workflows