Frappe HR 16.52.0 介绍与选型指南
Frappe HR(frappe/hrms)开源 HRMS 全景介绍与选型指南:13 大模块功能与架构拆解、与 OrangeHRM/IceHrm/Jorani/MintHCM 的量化对比与选型建议,全部数据实查于 2026-10-23。
Frappe HR 16.52.0 介绍与选型指南
目标:全面认知 Frappe HR(frappe/hrms)这款开源人力资源管理系统(HRMS)——它是什么、架构如何、能做什么、与 OrangeHRM/IceHrm/Jorani/MintHCM 等同类开源 HRMS 相比处于什么位置,帮助技术选型者在 10 分钟内完成「是否采用」的第一轮判断。本文全部数据实查于 2026-10-23(GitHub Releases/仓库、shields.io 徽章、官方文档站 docs.frappe.io/hr、竞品官网与仓库),标注来源与查询日期,本地安装实测路径见《Ubuntu 22.04 安装 Frappe HR 16.52.0 指南》与《Frappe HR 16.52.0 Docker Compose 部署指南》。
一、环境信息
本文为认知与选型篇,仅基于公开信息溯源,未做本地部署实测;涉及的环境与版本口径如下:
- 产品:Frappe HR(仓库 frappe/hrms,原名 HRMS,由 ERPNext 的 HR 模块独立而来)
- 文中版本:Frappe HR v16.52.0(2026-10-22 发布,版本 16 最新稳定标签,GitHub Releases 实查)
- 长期维护分支:version-15(v15.64.6,2026-10-21 发布)与 version-16 双分支并行维护(GitHub Releases 实查)
- 依赖框架:Frappe Framework v16.53.0(2026-10 实查 releases.atom),HRMS v16.52.0 的 pyproject.toml 声明
frappe = ">=16.50.0,<17.0.0"、erpnext = ">=16.50.0,<17.0.0" - 运行基座(frappe v16 CI 与 pyproject 实查):Python ≥3.14、MariaDB 11.8(CI 基准镜像)、Redis、Node.js 20
- 信息查询日期:2026-10-23
二、软件概述
Frappe HR 是 Frappe Technologies 官方维护的开源 HR 与薪资软件(Open Source, modern, and easy-to-use HR and Payroll Software),提供从员工管理、入职、考勤、休假到薪资、个税的完整 HRMS 能力,官方宣称包含 13 个以上模块。其 README「Motivation」章节明确记录了产品由来:Frappe 团队自用需要开源 HR 软件,发现市面上没有「真正的」开源 HRMS,最初作为 ERPNext 内的模块集开发,自 v14 起 HR 模块成熟后拆分为独立产品 Frappe HR(README 实查,2026-10-23)。
关键身份信息(2026-10-23 实查):
| 项目 | 值 | 来源 |
|---|---|---|
| 仓库 | frappe/hrms | GitHub |
| 许可证 | GPL-3.0 | shields.io license 徽章 |
| 星数 | 8.9k | shields.io stars 徽章 |
| 最新稳定版 | v16.52.0(2026-10-22) | GitHub Releases |
| v15 分支最新 | v15.64.6(2026-10-21) | GitHub Releases |
| 发布节奏 | 周级补丁(10 月内连续发布 16.50/16.51/16.52 三代) | releases.atom |
| 维护方 | Frappe Technologies(ERPNext 同门,erpnext 40k 星) | GitHub |
| 文档站 | docs.frappe.io/hr | 官方 |
| 移动端 | 官方 PWA/移动应用(请假、打卡、员工档案) | 官方 README/文档 |
💡 说明:Frappe HR 与 ERPNext 是「同一框架上的两个官方 App」关系——Frappe HR v16 的
hooks.py中required_apps = ["frappe/erpnext"](version-16 分支实查),pyproject 也声明依赖 erpnext ≥16.50;即装 Frappe HR 的站点会连带安装 ERPNext。这与「HRMS 独立即不装 ERP」的旧印象不同,选型时必须把 ERPNext 的存储与迁移开销计入评估。
三、核心架构
Frappe HR 不是独立单体应用,而是「Frappe 框架 + 一组 App」的插件式架构(官方 README「Under the Hood」章节,2026-10-23 实查):
- Frappe Framework(底座):Python 编写的全栈低代码 Web 框架,提供 ORM/文档引擎、认证、权限、REST API、调度(RQ 队列)等公共能力。
- App 层:
frappe(框架)→erpnext(业务必需依赖)→hrms(HR 业务)。HRMS 的 DocType(如 Employee、Leave Application、Salary Slip)挂在框架的文档引擎上,通过 bench CLI 安装到站点。 - 前端:Frappe UI(Vue 3 组件库)驱动的 Desk 单页应用;Frappe HR 的 SPA 页面(如员工自助、审批)基于它构建。
- 数据层:MariaDB(生产推荐,v16 CI 基准 11.8)为主库,Redis 承担缓存(cache)、后台队列(queue)、SocketIO 三类通道。
- 接入层:内建 REST API(
/api/...),所有 DocType 自动暴露增删改查接口;Web/移动端通过 API 与服务端交互。 - 进程形态:bench 管理下的多进程——web(gunicorn/dev server)、schedule(调度器)、workers(后台任务)、socketio;开发态用
bench start一键拉起 Procfile。
💡 技术拓展:Frappe 体系里「App」与常见「模块」不同。一个 App 是可独立版本化、可发布到 PyPI/git 的完整插件包(含 DocType 定义、迁移脚本、前端 SPA);站点(site)是框架内的逻辑租户,一个 bench 可挂多个站点、一个站点可装多个 App。同类「插件式业务架构」对比:Odoo(Python,模块同仓库)、Tryton(Python,模块分仓库)、ERPNext(Python,Frappe App)——Frappe HR 选择了「独立仓库 + 框架依赖声明」的折中,升级与回滚粒度比 Odoo 模块更清晰,但必须与框架大版本对齐(如 hrms v16 只配 frappe v16)。
四、功能特性
以下模块清单来自官方文档站 docs.frappe.io/hr 左侧导航(2026-10-23 整页实查),按域归纳:
| 功能域 | 核心对象/能力 |
|---|---|
| 组织管理 | Employee、雇佣类型、分支机构、部门、职级/职等、员工组、员工健康保险、组织架构图 |
| 考勤 | 员工考勤、考勤工具(批量上传)、考勤申请、签到签退(Employee Checkin,支持地理定位)、自动考勤、生物识别设备集成 |
| 排班 | 班次类型/地点/申请/分配、排班计划、班次日历(Roster) |
| 休假 | 假期列表与分配、假别、休假周期/政策/政策分配、休假控制面板、休假申请、补偿假、离职结算假、休假封顶/预支、带薪假额度累结(Earned Leaves)、休假台账 |
| 绩效 | 考核模板、考核周期、KRA、目标(Goal)、员工绩效反馈、考核总览报表 |
| 差旅报销 | 员工预支、报销单(多级审批工作流)、多币种预支与报销、出差申请 |
| 招聘 | 编制计划(Staffing Plan)、岗位需求/空缺、招聘门户(Job Portal)、候选人(Job Applicant)、面试管理(面试类型/轮次/反馈)、录用通知(Job Offer)、入职通知书模板、员工内推 |
| 培训 | 培训计划/活动/结果/反馈 |
| 员工生命周期 | 入职引导(Onboarding)、晋升、调岗、离职(Separation)、技能地图、离职面谈、Full & Final 结算 |
| 薪资与个税 | 薪资周期、个税档位(Income Tax Slab)、薪资组件/薪资结构、工资条(Salary Slip)、批量发薪(Payroll Entry)、额外薪资、留存奖金、员工激励、个税减免申报、员工福利申请/申领、退休金(Gratuity)及其规则、员工贷款、加班费、弹性福利、薪资更正与补差(Arrears) |
| 车辆管理 | 车辆、车辆行驶日志 |
| 平台设置 | HR Settings、Payroll Settings、日报摘要(Daily Work Summary)、员工小组 |
| 报表 | 人力报表、项目盈利报表、员工 CTC 结构、个税计算/扣除、预支汇总、招聘分析、员工分析、工时利用率等 |
特性层面的三个突出点(基于上表归纳):一是薪资域完整度高——从个税档位、薪资结构、批量发薪到离职金/贷款/补差,覆盖了多数开源 HRMS 不做或放入付费版的 Payroll 能力;二是招聘域自带门户与面试管理,接近轻量 ATS;三是移动自助以官方 PWA/移动应用形态提供(请假、打卡、档案)。
五、快速开始(最小可用示例)
本节给出官方 README 记载的最小体验路径(2026-10-23 实查自 frappe/hrms README「Local」一节),用于在已有 bench 环境的机器上快速拉起一个本地站点;bench 的完整依赖链安装与逐条实测回显见《Ubuntu 22.04 安装 Frappe HR 16.52.0 指南》。
bench new-site hrms.local # 创建站点(本地开发站点,跟随提示输入管理员密码与数据库 root 密码)
bench get-app erpnext # 拉取 ERPNext(HRMS v16 的必需依赖)
bench get-app hrms # 拉取 Frappe HR
bench --site hrms.local install-app hrms # 将 HRMS 安装进站点
bench --site hrms.local add-to-hosts # 将 hrms.local 写入本机 hosts
按官方 README 的预期:执行完成后访问 http://hrms.local:8080 进入登录页,使用 Administrator 账号登录即可进入 HR Desk。官方 README 同时提供一条更快的容器化开发路径(git clone https://github.com/frappe/hrms 后进入其 docker/ 目录执行 compose 启动,默认账号 Administrator/admin,README 实查)与托管试用路径(Frappe Cloud),生产级容器化部署的完整形态、持久化与恢复闭环见《Frappe HR 16.52.0 Docker Compose 部署指南》。
⚠️ 注意:上面 5 条命令中
bench get-app未锁版本,官方 README 面向开发场景;生产安装务必按《Ubuntu 22.04 安装 Frappe HR 16.52.0 指南》锁定 hrms v16.52.0 / erpnext v16.52.1 / frappe v16.53.0 的兼容矩阵,避免框架与 App 大版本错配。
六、适用场景与限制
适用场景:
- 需要「考勤 + 休假 + 薪资 + 招聘」一体化的中小组织:Frappe HR 的薪资域(个税、发薪、离职金、贷款)在开源 HRMS 中罕见地完整,适合不想再单独采购薪酬软件的团队。
- 已在使用 ERPNext/Frappe 生态的组织:HR 与财务(报销入账)天然同库同框架,员工自助、审批流复用同一套权限与工作流引擎。
- 需要二开或与自有系统深度集成:框架自带 REST API 与 DocType 元数据引擎,HR 数据对象全部可通过 API 读写,适合作为人力主数据源。
- 多公司/多分支机构核算:Employee/Branch/Department/Grade 体系与 ERPNext 的公司维度对齐,支持集团内多法人。
限制与成本(选型时必须正视):
- 依赖链重:Python 3.14(frappe v16 要求,pyproject 实查)+ MariaDB 11.8 + Redis + Node 20 + yarn + bench CLI,且 HRMS v16 连带安装 ERPNext——最低可用栈远重于 OrangeHRM/Jorani 这类「PHP + MySQL 两件套」。
- 框架版本耦合:hrms 与 frappe/erpnext 大版本必须对齐(v16 配 v16),升级需三件套同步,窗口期管理成本高于单体应用。
- 管理面广:Web 服务、调度器、队列 worker、SocketIO 多进程形态,日常运维(备份、监控、升级)需要按 Frappe 运维模型进行。
- 中文本地化:界面翻译由 Frappe 社区(Crowdin)维护,模块覆盖程度不一,落地中文环境需自行校对薪资/考勤等业务术语。
- 移动端为 PWA/轻应用形态:不如商业 HRMS 的原生 App 完整,适合审批与打卡等轻操作。
七、同类选型对比
对比对象为当前仍活跃维护的主流开源 HRMS(数据实查日 2026-10-23,星数经 shields.io 徽章取证,版本取自 GitHub Releases.atom,许可取自仓库 LICENSE 徽章或 README 原文):
| 维度 | Frappe HR | OrangeHRM Starter | IceHrm | Jorani | MintHCM |
|---|---|---|---|---|---|
| GitHub 星数 | 8.9k | 1.2k | 734 | 411 | 438 |
| 最新版本 | v16.52.0(2026-10-22) | 5.9(2026-06-28) | v36.0.1(2026) | 无正式 release(提交活跃至 2026-03) | 4.3.4(2026-10-08) |
| 许可证 | GPL-3.0 | GPL-3.0 | 仓库未提供可识别 LICENSE(shields.io 显示无法识别,商用前需自查) | MIT | AGPL-3.0 |
| 技术栈 | Python 3.14 + Frappe 框架 + MariaDB + Redis + Node 20 | PHP Symfony + MySQL | PHP + MySQL | PHP 8.1+ + MySQL 8+(README 实查) | PHP(SugarCRM 衍生) |
| 部署依赖 | 重:bench + 数据库 + 缓存 + 队列 + 前端构建 | 轻:PHP + MySQL,有官方镜像 | 轻:PHP + MySQL | 轻:PHP + MySQL | 中:PHP + MySQL |
| 薪资/个税 | 内置完整(Slab/发薪/Gratuity/贷款/补差) | 开源版不含(企业版提供) | 无原生薪资 | 无(专注休假/加班/考勤) | 官方特性列表未见薪资模块 |
| 招聘(ATS) | 有(岗位/门户/面试/内推) | 有(Starter 含招聘域) | 无 | 无 | 有 |
| 绩效 | 有(KRA/目标/反馈) | 有 | 有 | 无 | 有 |
| 定位 | 全功能 HRMS(含 Payroll) | 国际化商业开源双版本 | 中小团队 HR 管理 | 休假管理系统 | HCM+CRM 一体化(SugarCRM 衍生) |
量化维度补充(社区活跃度与版本节奏):Frappe HR 的 release 节奏为周级(2026-10-15 至 2026-10-22 间连续发布 v16.51.0、v15.64.5/6、v16.52.0,releases.atom 实查),且 v15/v16 双分支同日维护补丁;OrangeHRM 最新版 5.9 距今约 4 个月;Jorani 自 2026-03 后未见正式版本;MintHCM 4.3.4 于 2026-10-08 发布,节奏月级。另注:老牌 PHP HRMS Sentrifugo 的 GitHub 仓库(Sentrifugo/sentrifugo)星数已不足 10(shields.io 实查),社区活跃度有限,本表未列入主对比。
如何选型(按「如果…则…」给出):
- 如果组织需要开源栈里最完整的薪资/个税能力,或已在用 ERPNext → Frappe HR 几乎是唯一解,代价是接受重依赖栈与三件套版本对齐。
- 如果只需要员工档案 + 休假 + 考勤的轻量系统,且希望一台 LAMP 服务器当天上线 → Jorani(MIT 许可宽松)或 IceHrm(注意其许可证标识缺失需自查)。
- 如果重视国际化与商业支持兜底、可接受薪资模块闭源 → OrangeHRM Starter(SourceForge 下载量长期居前,商业版成熟)。
- 如果想要 HR 与 CRM/客户数据打通的混合定位 → MintHCM(AGPL-3.0,注意其传染性条款)。
- 如果团队是 PHP 技术栈、无 Python 运维经验 → Frappe HR 的 Python/Node 双栈会抬高运维门槛,优先 PHP 系产品;反之,Python 技术栈团队维护 Frappe HR 顺理成章。
八、参考链接
- Frappe HR 官网:https://frappe.io/hr
- 官方文档站(Introduction/模块文档):https://docs.frappe.io/hr/introduction
- 仓库与版本发布:https://github.com/frappe/hrms/releases
- Frappe Framework 仓库:https://github.com/frappe/frappe
- 竞品仓库:https://github.com/orangehrm/orangehrm 、 https://github.com/gamonoid/icehrm 、 https://github.com/bbalet/jorani 、 https://github.com/minthcm/minthcm
- 本系列实测文档:《Ubuntu 22.04 安装 Frappe HR 16.52.0 指南》《Frappe HR 16.52.0 Docker Compose 部署指南》《Frappe HR 16.52.0 配置参数详解》《Frappe HR 16.52.0 常用 CLI 命令与工具详解》