$ show frappe/hrms
Frappe HRMS is a full-featured Human Resource and Payroll management system built as a Frappe/ERPNext application. It covers the complete employee lifecycle including recruitment, onboarding, attendance and shift management, leave administration, payroll processing, expense claims, performance appraisals, and separation. The system provides both a desktop interface via the Frappe framework and a mobile-first Progressive Web App (PWA) built with Vue.js and Ionic for employee self-service. A separate roster application handles shift scheduling and assignment. The architecture follows Frappe's monolithic pattern with custom DocTypes, server-side Python controllers, client-side JavaScript, and extensive reporting. Payroll processing is a key strength, supporting salary structures with formula-based components, tax slabs, multi-currency, gratuity, and benefit claims. The codebase demonstrates strong engineering practices with comprehensive test coverage, data migration patches across versions, and reusable patterns such as safe formula evaluation, immutable leave ledger entries, and push notification mixins. It integrates tightly with ERPNext for accounting entries and payment processing.
The LLM identified 5 files worth highlighting for reuse:
Provides an AST-based safe evaluation function for salary component formulas, preventing arbitrary code execution while allowing mathematical expressions. Reusable in any system requiring sandboxed formula evaluation.
Resolves holiday lists for employees considering multiple assignments, date ranges, and fallback chains. Implements efficient bulk resolution with caching. Reusable pattern for any date-based configuration resolution.
Base class for document-driven project/task workflows, used for employee onboarding and separation. Provides a reusable pattern for creating structured multi-step processes with task creation and progress tracking.
Mixin that sends push notifications via Firebase Cloud Messaging when document approval status changes. Reusable pattern for adding push notification support to any Frappe doctype.
Captures feature adoption and usage metrics with privacy sanitization and milestone claiming using database-level race condition prevention. Reusable telemetry pattern for any application.