Zerithonlabs - Modern HRM + Payroll platform rebuilt with Laravel for real company workflows and long-term maintainability.
Legacy version note: this
mainbranch is the Laravel rebuild. Older legacy implementation may exist in a separate branch.
A complete HRM and Payroll platform for organizations that need one system to manage employee lifecycle, attendance, leave, payroll, approvals, and reporting.
It is designed with a modular Laravel architecture so teams can run day-to-day HR operations with cleaner structure, maintainability, and long-term scalability.
- Employee management
- Attendance management with reports
- Employee clock attendance
- Manage time change requests
- Leave management with reports
- Create leave categories
- Set leave quota
- Approve / reject leave applications
- Payroll management with reports
- Monthly salary template creation
- Bonus management
- Loan management
- Deduction management
- Provident fund management
- Holiday management
- Department management
- Designation management
- Employee role management
- Training and award management
- Notice board and announcement management
- Team management
- Task management
- Private notes
- Team member details view
- Beautiful file preview and comments
- Estimate, invoice, and billing system
- Expense management with reports
- Expense payment reports
- Report printing and export
- Employee notifications
- Custom permissions for team members
- Informative dashboard
- Easy-to-use interface
- Responsive design
- PHP 8.2+
- Laravel 12
- MySQL
- Blade templates
- Bootstrap-based admin UI
- Vite
- Clone and enter the project
git clone https://github.com/Devnawjesh/hr-payroll.git
cd hr-payroll- Install dependencies
composer install
npm install- Configure environment
cp .env.example .env
php artisan key:generate- Set DB credentials in
.env, then run:
php artisan migrate
php artisan db:seed- Run app
php artisan serve
npm run dev- Email:
admin@hr-payroll.local - Password:
P@ssw0rd
super-admin: full accesshr-manager: HR operational accessdepartment-head: limited operational access + self-serviceemployee: self-service access
Employee management menus are restricted for non-HR roles.
Self-service profile update remains available via topbar dropdown when user is linked to an employee profile.
SMTP values are configured from the Settings page and stored in DB-backed system settings.
Current implemented email flow:
- when HR/Super Admin creates a user, credentials can be emailed
- sender config is loaded from system settings (mailer/host/port/username/password/from)
app/Modules/Employeesemployee domainapp/Modules/Usersuser, role, permission domainapp/Modules/Settingssystem and SMTP settingsresources/views/hrbackend UIdatabase/seedersinitial roles, permissions, settings, admin user
Contributions are welcome.
- Fork the repository
- Create a feature branch
- Commit with clear messages
- Open a pull request with:
- problem statement
- approach
- screenshots (if UI)
- migration/seed impact
- stronger test coverage (feature + service tests)
- audit trail improvements
- notification system enhancements
- API layer for external integrations
- richer reporting and exports
MIT