tomatophp/filament-employees
A Filament plugin for managing employee records and organizational data. It adds employee CRUD resources with departments, job titles, contact details, and admin-friendly forms, tables, search, and filters for HR workflows.
Architecture fit: This is a Filament plugin/module for employee lifecycle management (profiles, attendance, shifts, payroll, applies) built on Laravel and the tomatophp Filament ecosystem. v5.0.0 aligns to Filament v5, Laravel 12/13, Livewire 4, and PHP 8.2+, and hard-depends on tomatophp/filament-accounts, filament-types, and filament-meta ^5.0. The employee profile now uses filament-meta via HasMeta, which is a meaningful architectural shift from a first-class profile model to metadata-backed storage.
Integration feasibility: Feasible only for teams already on, or willing to move to, the Filament v5 / Laravel 12–13 / Livewire 4 stack and the matching ^5.0 tomatophp dependency line. The install command no longer runs yarn in the host app, reducing install-side coupling. Existing Filament v3 consumers are explicitly expected to remain on the v3 branch, so this is a hard fork in the upgrade path rather than a drop-in update.
Technical risk: High. The release couples a major Filament upgrade, a major Laravel version window, Livewire 4, a new meta-backed employee profile, and coordinated ^5.0 dependencies. Data migration risk is elevated because employee profile fields move into filament-meta. The package reports phpstan level 0 only, which is low static-analysis assurance for payroll and attendance logic. The broad fix list (attendance without shift/department, payroll account model and salary, config-driven user/account models, migration rollbacks) indicates recent correctness work in sensitive areas.
Key questions: Is there a documented migration path for existing employee profile data into filament-meta? Are Filament v5, Laravel 13, and Livewire 4 considered production-stable by the vendor? What is the support window for the v3 branch? Are payroll and attendance calculations covered by the Pest suite at a level suitable for financial data? Which config keys must be updated for custom user/account models?
Stack fit: Best fit is a Laravel 12/13 application using Filament v5 for admin/HR operations and already standardizing on tomatophp packages. Teams on Filament v3 should not adopt v5.0.0; they should pin to the v3 branch and plan a platform upgrade separately.
Migration path: Treat this as a platform upgrade, not a package bump. Sequence: upgrade Laravel/PHP/Livewire/Filament in a branch, upgrade filament-accounts, filament-types, and filament-meta to ^5.0, install this package v5.0.0, run migrations including rollback verification, move employee profile fields to meta, update config-driven user/account models, and re-test attendance, payroll, shifts, applies, and notes authorship.
Compatibility: v5.0.0 is compatible only with the ^5.0 tomatophp line and the stated Filament/Laravel/Livewire/PHP versions. It is not backward-compatible with the v3 line. Custom code extending employee models, profile columns, payroll account models, or Filament header actions should be audited because IsEmployee now includes HasMeta and several action/class names changed.
Sequencing: Run a spike in a disposable environment first. Validate dependency resolution, migration rollback behavior, meta profile storage, attendance without shift/department, payroll salary/account behavior, and factory/Pest coverage. Only then schedule production rollout with a rollback plan and a data backfill check for meta-stored profile data.
Maintenance: Maintenance burden increases because the package now tracks a fast-moving major stack (Filament v5, Laravel 12/13, Livewire 4) and a coordinated set of tomatophp ^5.0 dependencies. The v3 branch will diverge, creating two support surfaces. Teams must monitor all four packages together rather than this package alone.
Support: Vendor support is via tomatophp, with limited signal from phpstan level 0 and a newly added Pest suite. Payroll and attendance defects carry higher operational cost than typical CRUD defects, so support expectations should be set explicitly. The README improvements and screenshots help onboarding but do not replace a formal upgrade guide.
Scaling: As an admin/HR module, scaling is primarily application-level rather than high-throughput. The meta-backed profile may simplify schema evolution but can complicate reporting and bulk queries if employee attributes are frequently filtered or exported. Payroll and attendance volume should be load-tested against the host database and queue configuration.
Failure modes: Dependency resolution failures across the ^5.0 package set; incomplete migration of profile data into filament-meta; payroll salary/account misconfiguration; attendance records with missing shift or department; custom user/account model config mismatches; Filament action name collisions; and rollback failures. The removal of yarn from the install command reduces one failure mode but does not address data or dependency risks.
Ramp-up: The team needs working knowledge of Filament v5, Livewire 4, Laravel 12/13, and the tomatophp accounts/types/meta model. Budget time for a platform upgrade spike, data migration rehearsal, and payroll/attendance regression testing. Teams staying on Filament v3 need only v3-branch familiarity but should plan for eventual migration.
How can I help you explore Laravel packages today?