Frappe HR
HROpen-source HR and payroll for modern teams
killsFactorial
What it is
Frappe HR is an open-source HRMS built on the Frappe framework (the same stack as ERPNext). It handles the day-to-day of people operations: employee records and org charts, leave applications and leave balances, attendance, expense claims, performance appraisals, recruitment, and full payroll with salary structures and payslips. It also ships with a mobile app for employees to check in, request leave, and view payslips.
Because it’s a Frappe app, everything is customizable — forms, workflows, approval chains, and reports — and it integrates natively with ERPNext if you ever need accounting on top.
Why it kills the SaaS
Factorial and friends charge per employee per month, so your HR bill grows linearly with headcount — the exact moment you can least afford extra overhead. Frappe HR costs the same whether you have 10 employees or 500: nothing. Your people’s data (salaries, reviews, leave) stays on your own infrastructure, which is where sensitive HR data arguably belongs anyway.
Paste this into Claude Code
Set up a self-hosted Frappe HR (hrms) instance on this machine using Docker.
1. Use the official frappe_docker project: clone https://github.com/frappe/frappe_docker and read its docs on custom apps — hrms (https://github.com/frappe/hrms) is a Frappe app that must be baked into the image.
2. Build a custom image following the "Custom Apps" guide (docker build with APPS_JSON_BASE64 including frappe/hrms), then start the stack with docker compose, setting strong DB and admin passwords in the environment.
3. Create a new site, install the hrms app on it, and verify the Frappe HR login page loads in the browser.
4. Sign in as Administrator, complete the HR setup wizard, and create a sample employee, leave type, and leave application to prove the flow works.
5. Explain how to back up the site data and how to upgrade the hrms app to a newer release.