PHPackages                             ikay/j-rh - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. ikay/j-rh

ActiveLibrary[Admin Panels](/categories/admin)

ikay/j-rh
=========

Employee HR module for Filament v4 - Manage employees, salaries, and advances

v1.1.5(1mo ago)054proprietaryPHPPHP ^8.2

Since Mar 7Pushed 1mo agoCompare

[ Source](https://github.com/ikhalilatteib/j-rh)[ Packagist](https://packagist.org/packages/ikay/j-rh)[ RSS](/packages/ikay-j-rh/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (4)Dependencies (3)Versions (8)Used By (0)

J-RH - Employee HR Module for Filament
======================================

[](#j-rh---employee-hr-module-for-filament)

A reusable Laravel Filament v4 package for managing employees, salaries, and advances. Designed to replace direct User-based salary/advance tracking with a dedicated Employee model.

Features
--------

[](#features)

- **Employee Management** - Full CRUD with auto-generated IDs (EMP-0001), extended HR fields (position, department, contract type, etc.)
- **Salary Management** - Monthly salary processing with base salary, primes, advance deductions, and net salary calculation
- **Advance Management** - Employee advance requests with approval workflow and automatic outstanding balance tracking
- **PDF Salary Bulletins** - Generate downloadable salary bulletins via DomPDF
- **Filament Shield Compatible** - Permissions auto-register with `BezhanSalleh/FilamentShield`
- **Multi-language** - French and Arabic translations included
- **User Linking** - Optionally link employees to app users for authentication

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 12+
- Filament v4
- barryvdh/laravel-dompdf ^3.1

Installation
------------

[](#installation)

### As a Composer Package

[](#as-a-composer-package)

```
composer require ikay/j-rh
```

### As a Local Package

[](#as-a-local-package)

Add the path repository to your `composer.json`:

```
{
    "repositories": [
        {
            "type": "path",
            "url": "packages/ikay/j-rh"
        }
    ]
}
```

Then require it:

```
composer require ikay/j-rh:@dev
```

### Run Migrations

[](#run-migrations)

```
php artisan migrate
```

Setup
-----

[](#setup)

### 1. Register the Filament Plugin

[](#1-register-the-filament-plugin)

In your `AdminPanelProvider.php`:

```
use Ikay\JRh\JRhPlugin;

->plugins([
    JRhPlugin::make(),
])
```

### 2. Add Navigation Group (optional)

[](#2-add-navigation-group-optional)

```
use Filament\Navigation\NavigationGroup;

->navigationGroups([
    NavigationGroup::make(fn () => __('j-rh::j-rh.hr_management')),
])
```

### 3. Add the HasEmployees Trait to Your User Model

[](#3-add-the-hasemployees-trait-to-your-user-model)

```
use Ikay\JRh\Traits\HasEmployees;

class User extends Authenticatable
{
    use HasEmployees;
}
```

### 4. Regenerate Shield Permissions

[](#4-regenerate-shield-permissions)

```
php artisan shield:generate --all
```

Configuration
-------------

[](#configuration)

Publish the config file:

```
php artisan vendor:publish --tag=j-rh-config
```

```
// config/j-rh.php
return [
    'user_model' => \App\Models\User::class,
    'employee_id_prefix' => 'EMP',
    'navigation_group' => 'j-rh::j-rh.hr_management',
    'currency' => 'XAF',
];
```

Publishing Assets
-----------------

[](#publishing-assets)

```
# Migrations
php artisan vendor:publish --tag=j-rh-migrations

# Translations
php artisan vendor:publish --tag=j-rh-translations

# Views (salary bulletin template)
php artisan vendor:publish --tag=j-rh-views
```

Data Migration
--------------

[](#data-migration)

If you are migrating from a User-based salary/advance system, the package includes migrations that:

1. Create the `employees` table
2. Auto-create Employee records from existing User references in `salaries`
3. Auto-create Employee records from existing User references in `advances`
4. Re-link `salaries.user_id` and `advances.user_id` to `employees.employee_id`

These migrations are safe to run on fresh databases (they skip if `user_id` columns don't exist).

Employee Model Fields
---------------------

[](#employee-model-fields)

FieldTypeDescriptionemployee\_idstringAuto-generated (EMP-0001)namestringFull nameemailstringContact emailphonestringPhone numberpositionstringJob titledepartmentstringDepartmenthired\_atdateHire datedate\_of\_birthdateDate of birthgenderenumMale / FemaleaddresstextAddresssalarydecimalBase salarynational\_idstringNational ID numberemergency\_contactstringEmergency contactbank\_accountstringBank account numbercontract\_typeenumPermanent / Temporary / Freelance / Interncontract\_end\_datedateContract end datemarital\_statusenumSingle / Married / Divorced / WidowednationalitystringNationalitystatusenumActive / Inactive / Suspended / OnLeavephotostringPhoto pathuser\_idFKOptional link to UserTesting
-------

[](#testing)

The package includes factories for all models. In your test files:

```
use Ikay\JRh\Models\Employee;
use Ikay\JRh\Models\Salary;
use Ikay\JRh\Models\Advance;

$employee = Employee::factory()->create();
$salary = Salary::factory()->create(['employee_id' => $employee->id]);
$advance = Advance::factory()->approved()->create(['employee_id' => $employee->id]);
```

Run the package tests:

```
php artisan test --compact tests/Feature/EmployeeTest.php tests/Feature/SalaryTest.php tests/Feature/AdvanceTest.php
```

License
-------

[](#license)

Proprietary - All rights reserved.

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance93

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~10 days

Total

7

Last Release

36d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5aba005f241cd5df11bb1d662b9a9fcbc085330515bd1a6c99d9b9528a3903bb?d=identicon)[ikhalilatteib](/maintainers/ikhalilatteib)

---

Top Contributors

[![ikhalilatteib](https://avatars.githubusercontent.com/u/69690003?v=4)](https://github.com/ikhalilatteib "ikhalilatteib (8 commits)")

### Embed Badge

![Health badge](/badges/ikay-j-rh/health.svg)

```
[![Health](https://phpackages.com/badges/ikay-j-rh/health.svg)](https://phpackages.com/packages/ikay-j-rh)
```

###  Alternatives

[venturedrake/laravel-crm

A free open source CRM built as a package for laravel projects

39910.0k](/packages/venturedrake-laravel-crm)[a2insights/filament-saas

Filament Saas for A2Insights

171.5k](/packages/a2insights-filament-saas)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
