unsubbed.co

Frappe HR

Frappe HR lets you run complete HRMS solution entirely on your own server.

Open-source HR and payroll software, honestly reviewed. No marketing language, just what you get when you self-host it.

TL;DR

  • What it is: Open-source (AGPL-3.0) HR and payroll platform — think BambooHR or Gusto, but running on your own server and built on the Frappe Framework, a full-stack Python/Vue.js application platform [README][homepage].
  • Who it’s for: Growing teams of 10–200 people who are tired of per-employee SaaS billing, want integrated payroll + accounting, and have someone technical enough to run a Linux server (or budget to pay someone once to deploy it).
  • Cost savings: BambooHR, Gusto, and HiBob all charge $6–$12+ per employee per month. A 50-person company pays $300–$600/mo and up. Frappe HR self-hosted runs on a $10–20/mo VPS with no per-seat fees [homepage].
  • Key strength: Genuinely complete suite — recruitment, onboarding, attendance, leaves, expenses, payroll, income tax, and a mobile app — without the “buy add-ons separately” model that most HR SaaS uses [README].
  • Key weakness: Tightly coupled to the Frappe ecosystem. If you want Frappe HR, you’re also adopting the Frappe Framework and optionally ERPNext. That’s a substantial footprint for a small team that just wants to track leaves.

What is Frappe HR

Frappe HR is an open-source HR and payroll application built on the Frappe Framework — a full-stack web framework written in Python and JavaScript that powers ERPNext, one of the better-known open-source ERP systems [1][README]. The project started as a set of HR modules inside ERPNext. Starting with version 14, as the modules matured, it was spun out as a standalone product [README].

The GitHub repository (frappe/hrms) sits at 7,667 stars. The license on the live website is listed as AGPL-3.0 [homepage]; the merged product profile records it as GPL-3.0 — worth verifying on the repository before making compliance decisions, as AGPL-3.0 carries stricter network-use provisions.

The product covers 13+ modules: recruitment, employee lifecycle management, shifts and attendance, leave management, expense claims, performance management, payroll, income tax computation, and a mobile app [README][homepage]. Unlike BambooHR or HiBob, which treat payroll as a separate (and separately billed) product, Frappe HR treats payroll as a native module with integrated accounting — syncing directly with ERPNext’s chart of accounts [README].

The Frappe Framework underneath is not a toy. Zerodha, India’s largest retail stock broker by volume, runs core back-office infrastructure on Frappe/ERPNext [1]. The framework ships with a database abstraction layer, REST API, role-based permissions, background job scheduling, real-time messaging via Socket.io, and a metadata-first DocType system that lets you define new forms and workflows without writing application code [1]. For Frappe HR, this means: if the built-in appraisal form doesn’t match your review process, you configure it — you don’t wait for a vendor feature request.


Why people choose it

The Frappe HR positioning is clearest when you lay it against what it replaces.

Versus BambooHR. BambooHR’s pricing is not publicly listed, but reported costs for small-to-mid teams typically land in the $6–$9 per employee per month range after negotiation, with payroll as a separate add-on. For 50 employees, that’s $300–$450/mo base before payroll. Frappe HR self-hosted replaces the entire stack for the cost of a VPS and setup time. The trade-off: BambooHR is a polished, fully managed SaaS product that works on day one. Frappe HR requires a Frappe environment and ongoing maintenance.

Versus Gusto. Gusto is payroll-first and adds HR features on top. The pricing structure is a flat monthly base plus per-employee fees — currently around $40/mo base and $6/employee/mo. For payroll alone, this is competitive. But Gusto is US-centric and lacks the international tax configuration that Frappe HR supports across multiple jurisdictions [README]. If your team is spread across countries with different tax regimes, Gusto falls apart and you end up stitching together country-specific solutions. Frappe HR lets you configure income tax slabs per region [README].

Versus HiBob / Workday / Sage HR. These are progressively more enterprise-focused. Workday is out of scope for any company under a few hundred employees unless someone has an unusually large budget. HiBob and Sage HR are mid-market tools with per-user pricing and limited configurability without vendor involvement. Frappe HR’s low-code Frappe Framework layer is the key differentiator here — any business admin can add custom fields, create approval workflows, and build reports without touching code [homepage][1].

On ERPNext integration. If you already run ERPNext for finance and operations, Frappe HR is the obvious HR choice — accounting integration is native, not bolted on [README][homepage]. If you’re not on ERPNext, this is less of a pull factor, but the accounting sync still works as a benefit even as a standalone deployment.


Features: what it actually does

Based on the README and website scrape:

Recruitment:

  • Job posting, candidate pipeline, interview scheduling, offer management [homepage]

Employee lifecycle:

  • Onboarding checklists, promotions, transfers, exit interviews [README][homepage]
  • Document management and employee profiles

Shifts and attendance:

  • Shift roster management
  • Mobile check-in and check-out with geolocation [README]
  • Auto-attendance computation
  • Biometric device integration [homepage]

Leave management:

  • Configurable leave policies
  • Regional holiday calendars pulled in with a click [README]
  • Leave balance tracking and encashment
  • Approval workflows

Expense claims:

  • Employee advance management
  • Multi-level approval workflows
  • Integrated posting to ERPNext accounting [README]

Performance management:

  • Goal setting aligned to KRAs (Key Result Areas)
  • Employee self-evaluation
  • Appraisal cycle management
  • Continuous feedback [README][homepage]

Payroll and taxation:

  • Salary structure templates
  • Income tax slab configuration per region
  • Off-cycle and additional salary payments
  • Salary slip income breakup
  • Payroll reports [README][homepage]

Mobile app:

  • Leave application and approval
  • Check-in / check-out
  • Employee profile access
  • Progressive Web App (PWA) [README]

Under the hood:

  • REST API on all models, inherited from Frappe Framework [1]
  • Role-based permissions configurable without code [1]
  • Custom forms, fields, and print formats via the Frappe UI [homepage]
  • Background job scheduling and real-time updates [1]
  • Docker and Docker Compose for development; Frappe Bench for production [README]

Pricing: SaaS vs self-hosted math

Frappe Cloud (their managed hosting): Frappe Cloud is the company’s managed PaaS for running Frappe applications. Exact public pricing for Frappe HR on Frappe Cloud was not available in the source data — the website directs users to sign up rather than publishing a public rate card [homepage]. Contact Frappe directly for current numbers.

Self-hosted:

  • Software: $0 (AGPL-3.0) [homepage]
  • Infrastructure: $10–25/mo on Hetzner, Contabo, or DigitalOcean for a server that handles a team of 50–100 employees
  • Setup: one-time cost (either your time or a deployment service)

Competitor math for a 50-person company:

PlatformEst. monthly cost (50 employees)Notes
BambooHR$300–450/moPayroll extra
Gusto$340/mo (~$40 base + $6/employee)US only
HiBob$400–700/mo (estimated)Per-seat, not public
Frappe HR self-hosted$15–25/mo (VPS only)All modules included
Frappe CloudNot publicly listedContact for pricing

Over 3 years, the self-hosted math against mid-market HR SaaS is significant. Even accounting for 10 hours of setup time at $100/hr ($1,000 one-time), you’re ahead within the first two months compared to BambooHR.

The catch: this math assumes someone handles maintenance. Frappe upgrades between major versions occasionally break customizations, and the Frappe Framework’s upgrade path requires care — this is not “set it and forget it” infrastructure [README].


Deployment reality check

The development path is straightforward: clone the repo, run docker-compose up, access http://localhost:8000 [README]. Production is a different story.

Production requires Frappe Bench — a command-line tool for managing Frappe deployments. Bench is not optional; it handles site creation, app installation, background worker management, and multi-tenancy. There is no simple “download and run” binary.

What you actually need for production:

  • A Linux VPS (Ubuntu 22.04 recommended) with at least 4GB RAM for a small team, 8GB for 50+ employees running payroll
  • Python 3.11+, Node.js, MariaDB (not PostgreSQL — Frappe uses MariaDB), Redis, wkhtmltopdf (for PDF pay slips)
  • Nginx as a reverse proxy
  • A domain name and SSL certificate
  • Frappe Bench installed and configured
  • Frappe HR app installed on top of the Frappe Framework via Bench

What can go sideways:

  • MariaDB is required. If your existing infrastructure runs PostgreSQL, that’s a separate database server to manage.
  • Major version upgrades need planning. Frappe HR v16 is the current version [homepage]. Upgrading between major versions — particularly if you’ve added custom DocTypes or apps — requires testing in staging first. The ERPNext/Frappe community has learned this lesson the hard way; search the Frappe forum for “v14 to v15 upgrade” to understand the scope.
  • Frappe Cloud is the escape hatch if self-hosting proves painful. The managed platform handles installation, upgrades, monitoring, and backups [README]. For teams without DevOps resources, this is the pragmatic choice — even if it reintroduces a SaaS dependency, it’s at least a dependency on the same vendor as the software.
  • The mobile app is a PWA, not a native app store listing. This matters if your employees expect a polished native experience — the functionality is there, but the installation path (add to home screen) is less familiar than downloading from the App Store [README].

Realistic setup time estimate: a technically comfortable person who has deployed a LAMP-style stack before can have a working production instance in 3–5 hours using the official Frappe Bench documentation. For someone new to Linux servers: budget a weekend or pay for a one-time deployment.


Pros and cons

Pros

  • Complete HR suite at no per-seat cost. Recruitment through exit interviews, attendance through payroll, all in one system — no module add-ons, no per-feature billing [README][homepage].
  • Genuinely configurable without code. The Frappe Framework’s DocType system lets HR admins add custom fields, configure approval workflows, define roles, and build reports through a browser UI [1][homepage]. This is not “limited customization” — it’s full form and workflow configuration.
  • International payroll and tax. Income tax slab configuration per region makes Frappe HR viable for teams outside the US, which eliminates most American HR SaaS from consideration [README].
  • ERPNext accounting integration. For companies already on ERPNext, or willing to adopt it, expense claims and payroll entries post directly to the general ledger [README][homepage]. No CSV export and re-import.
  • Mobile app included. Leave management, attendance check-in/out, and employee profiles from a phone — not a separate paid tier [README].
  • Active community and ecosystem. 20,000+ developers in the Frappe community, 180 implementation partners [homepage]. If you need a local consultant who knows the stack, they exist.
  • REST API on everything. Frappe Framework provides authenticated REST endpoints on all models out of the box — no separate API licensing [1].

Cons

  • Frappe ecosystem lock-in. You’re not just adopting an HR tool — you’re adopting the Frappe Framework, MariaDB, Bench, and optionally ERPNext. That’s a real footprint. If Frappe HR doesn’t work out, migration out is painful.
  • AGPL-3.0 license. The Affero GPL requires that if you modify the source and provide it as a network service, you must publish your modifications. This matters for consulting firms or ISVs thinking about white-labeling or embedding Frappe HR in a client product.
  • Setup complexity is real. This is not a one-click install. Frappe Bench has its own learning curve, MariaDB configuration has gotchas, and production hardening (backup policies, SSL, monitoring) requires additional work [README].
  • Major version upgrades need management. The Frappe community’s upgrade history suggests that v-to-v migrations benefit from a staging environment and explicit testing. For a small team without DevOps capacity, this can be a maintenance burden.
  • Limited independent third-party reviews. Unlike n8n or Activepieces, Frappe HR has very few detailed English-language third-party reviews available — most community discussion happens on the Frappe forum. Due diligence is harder.
  • UI is Frappe Framework UI, not a bespoke design. The interface is consistent across all Frappe apps and is functional, but it reads like an ERP system rather than a modern HR product. Teams coming from BambooHR or HiBob may find it denser than expected.
  • Payroll for non-Indian markets may need configuration work. Frappe HR’s payroll module is well-documented for India (salary slabs, PF, ESI). Other countries require custom tax configuration, and documentation depth varies by region.

Who should use this / who shouldn’t

Use Frappe HR if:

  • You have a team of 20–200 employees paying $200–$800/mo for HR SaaS and want to eliminate that recurring cost.
  • You’re already running ERPNext or seriously considering it — the integrated accounting is the strongest argument for the combined stack.
  • Your team spans multiple countries with different tax regimes, and US-centric tools don’t cover your payroll requirements.
  • You have one technical person who can manage a Linux server, or you’ll pay a Frappe partner once for setup and Frappe Cloud for ongoing hosting.
  • You need to customize forms and workflows without vendor involvement.

Skip it (use Frappe Cloud as a middle ground) if:

  • You want the software but not the DevOps. Frappe Cloud is the vendor’s managed hosting and removes the infrastructure burden while keeping the product.

Skip it (stay on BambooHR / Gusto) if:

  • Your team is under 15 people and the SaaS bill is under $150/mo — the setup and maintenance overhead doesn’t pay off yet.
  • You have no one technical and no budget for a one-time deployment.
  • You need a polished, consumer-grade mobile HR experience — the PWA approach won’t satisfy employees used to native apps.
  • You’re US-only and Gusto’s payroll compliance features are covering your needs cleanly.

Skip it (evaluate OrangeHRM or Odoo HR) if:

  • You want open-source HR without the Frappe Framework dependency.
  • Your team is already running another ERP (SAP, Odoo) and you need HR that integrates there instead.

Alternatives worth considering

  • OrangeHRM — open-source HR with a longer track record, PHP-based, simpler deployment than Frappe. Lacks Frappe HR’s payroll depth and ERPNext integration.
  • Odoo HR — if you’re considering Odoo for ERP, the HR module is included. Similar ecosystem-lock dynamic to Frappe HR but a different technical stack (also open-source community edition).
  • BambooHR — the SaaS benchmark. Best-in-class UX, fully managed, expensive at scale. The obvious baseline for comparison.
  • Gusto — payroll-first, US-focused. Easiest compliance for American teams. Not viable for international payroll.
  • HiBob — mid-market HR and performance management, per-seat pricing, not self-hostable.
  • Workday — enterprise-grade, enterprise-priced. Relevant if you’re above 500 employees and have budget.
  • Paylocity / ADP Workforce Now — US payroll-heavy platforms with HR bolted on. Closed-source, per-user pricing, but deep compliance coverage.

For the non-technical founder escaping per-seat HR SaaS bills, the realistic shortlist is Frappe HR vs OrangeHRM. Choose Frappe HR if ERPNext integration or deep payroll customization matters. Choose OrangeHRM if you want simpler deployment without the Frappe ecosystem dependency.


Bottom line

Frappe HR is the most complete open-source HR and payroll system available today. The scope is genuine — 13+ modules covering the full employee lifecycle, payroll with international tax support, a mobile app, and deep integration with ERPNext accounting — all without per-seat licensing. The trade-off is honest: you’re adopting the Frappe ecosystem, not just installing an HR app. That means MariaDB, Bench, and a deployment surface that requires ongoing attention. For a 50-person company paying $400/mo to BambooHR, the economics are obvious. For a 10-person team that just needs leave tracking, a lighter tool may be the right call first.

If the deployment complexity is the blocker — which it often is — Frappe Cloud removes the infrastructure burden while keeping the software. And if you need someone to deploy and configure it for you, that’s exactly the kind of one-time engagement that upready.dev handles for clients.


Sources

  1. Frappe Framework“Open Source Low Code Framework”. https://frappeframework.com/homepage
  2. Frappe HR GitHub Repository and README“Open Source HR and Payroll Software” (7,667 stars, AGPL-3.0). https://github.com/frappe/hrms
  3. Frappe HR Official Website“The HR revolution brewing just for you”. https://frappe.io/hr
  4. Frappe Cloud“Managed hosting for Frappe applications”. https://frappecloud.com
  5. Frappe HR Documentationhttps://docs.frappe.io/hr/introduction

Note: No independent third-party review articles for Frappe HR were available in the source data for this review. Claims are sourced from the official README, website, and Frappe Framework documentation. Pricing figures for competitor products (BambooHR, Gusto, HiBob) reflect publicly reported estimates and should be verified against current vendor pricing before making purchasing decisions.

Features

Integrations & APIs

  • REST API

Mobile & Desktop

  • Mobile App