MCPSERV.CLUB
Frappe HR

Frappe HR

Self-Hosted

Open‑source HR and Payroll solution for modern teams

Active(100)
6.9kstars
0views
Updated 1 day ago

Overview

Discover what makes Frappe HR powerful

Frappe HR is a self‑hosted Human Resources Management System built as an independent product from the ERPNext ecosystem. It leverages the Frappe Framework, a full‑stack Python/JavaScript platform, and the Vue‑based Frappe UI library to deliver a modern web experience. From an architectural standpoint, the application is organized around modular DocTypes that map to database tables, with a REST‑style API automatically exposed for every model. This enables developers to consume and extend the core functionality through HTTP endpoints, custom scripts, or server‑side Python code.

Employee Lifecycle & Onboarding

Leave & Attendance

Expense & Advance Management

Performance Management

Overview

Frappe HR is a self‑hosted Human Resources Management System built as an independent product from the ERPNext ecosystem. It leverages the Frappe Framework, a full‑stack Python/JavaScript platform, and the Vue‑based Frappe UI library to deliver a modern web experience. From an architectural standpoint, the application is organized around modular DocTypes that map to database tables, with a REST‑style API automatically exposed for every model. This enables developers to consume and extend the core functionality through HTTP endpoints, custom scripts, or server‑side Python code.

Key Features

  • Employee Lifecycle & Onboarding – Create, update, and archive employee records; manage promotions, transfers, and exit interviews through a single source of truth.
  • Leave & Attendance – Define complex leave policies, import regional holidays, and capture geolocation‑aware check‑ins. The system exposes hooks for custom approval flows and analytics dashboards.
  • Expense & Advance Management – Multi‑level workflow for claims, integration with ERPNext accounting, and automated reconciliation.
  • Performance Management – Goal setting, KRA alignment, self‑evaluation forms, and appraisal cycle orchestration.
  • Payroll & Taxation – Salary structures, tax slabs, off‑cycle payments, and printable salary slips. All calculations are performed server‑side with deterministic formulas that can be overridden via custom scripts.

Technical Stack

LayerTechnology
BackendPython (3.10+), Frappe Framework, SQLAlchemy‑like ORM
FrontendVue 3 (Composition API), Frappe UI component library, TypeScript support
DatabasePostgreSQL 13+ (default), MySQL supported via Frappe adapters
APIAuto‑generated REST endpoints (/api/method/<doctype>) and GraphQL via optional plugin
MessagingRedis for background jobs (Celery), Socket.io for real‑time updates
ContainerizationOfficial Docker images, Helm charts for Kubernetes deployments

Core Capabilities

  • Extensible DocTypes – Add custom fields, forms, and print formats without code changes.
  • Server‑Side Scriptinghooks.py allows registration of event handlers (on_update, validate, etc.).
  • Client‑Side Scripting – Vue components can call REST endpoints or use Frappe UI’s frappe.call.
  • Webhooks & Events – Emit events on CRUD operations; subscribe via HTTP or message queues.
  • REST & GraphQL – Full CRUD, query filtering, and pagination out of the box.

Deployment & Infrastructure

  • Self‑Hosting – Deploy on any Linux server with Docker or directly via bench (the same tool used for ERPNext).
  • Scalability – Horizontal scaling achieved by adding more bench workers and load‑balancing frontends; PostgreSQL replication for read scalability.
  • Containerization – Docker Compose setups are available; images are lightweight (~200 MB).
  • CI/CD – GitHub Actions provide automated linting, unit tests, and coverage checks.

Integration & Extensibility

  • Plugin System – Install community or custom apps via bench get-app and enable in sites/common_site_config.json.
  • API Gateways – Expose Frappe HR endpoints to external services; use OAuth or API keys for authentication.
  • Webhooks – Register outgoing webhooks to trigger external workflows on events like leave_request_approved.
  • Custom Reports – Build server‑side queries or use the native report builder; export to CSV/Excel.

Developer Experience

  • Documentation – Comprehensive docs at docs.frappe.io/hr cover architecture, API usage, and customization guides.
  • Community – Active GitHub repo (6.8 k stars), Slack channel, and partner ecosystem.
  • Configurationsite_config.json allows fine‑grained tuning (e.g., mail server, feature flags).
  • Testing – Built‑in unit test framework (pytest), integration tests, and code coverage dashboards.

Use Cases

  • Mid‑size Enterprises – Replace legacy HRIS with a single source of truth that integrates payroll, attendance, and performance.
  • Startups – Rapid onboarding and expense workflows without licensing overhead.
  • Consultancies – Deploy per‑client instances in a containerized environment, customize each with minimal code.
  • DevOps Teams – Use the API to automate HR data ingestion from CI pipelines or external directories.

Advantages

  • Open Source & AGPL – Full source code access, no vendor lock‑in, and community‑driven innovation.
  • Performance – Server‑side rendering with caching layers; optimized queries for large employee datasets.
  • Flexibility – Declarative DocTypes and client‑side scripting allow rapid feature iteration.
  • Cost‑Effectiveness – No per‑user licensing; infrastructure cost scales linearly with user count.
  • Unified Stack – Python backend and Vue frontend share a common data model, reducing context switching for developers.

Frappe HR offers developers a robust, modular platform that can

Open SourceReady to get started?

Join the community and start self-hosting Frappe HR today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
GPL-3.0
Stars
6.9k
Technical Specs
Pricing
Open Source
Database
MySQL
Supported OS
LinuxDocker
Author
frappe
frappe
Last Updated
1 day ago