MCPcopy Index your code
hub / github.com/frappe/hrms

github.com/frappe/hrms @v16.12.0

repository ↗ · DeepWiki ↗ · release v16.12.0 ↗ · + Follow
3,354 symbols 12,213 edges 909 files 272 documented · 8%
README
<a href="https://frappe.io/hr">
    <img src="https://github.com/frappe/hrms/raw/v16.12.0/github/frappe-hr-logo.png" height="80px" width="80px" alt="Frappe HR Logo">
</a>
<h2>Frappe HR</h2>

Open Source, modern, and easy-to-use HR and Payroll Software

CI codecov

frappe%2Fhrms | Trendshift

<img src="https://github.com/frappe/hrms/raw/v16.12.0/github/hrms-hero.png"/>







<a href="https://frappe.io/hr">Website</a>
-
<a href="https://docs.frappe.io/hr/introduction">Documentation</a>

Frappe HR

Frappe HR has everything you need to drive excellence within the company. It's a complete HRMS solution with over 13 different modules right from Employee Management, Onboarding, Leaves, to Payroll, Taxation, and more!

Motivation

When Frappe team started growing in terms of size, we needed an open-source HR and Payroll software. We didn't find any "true" open-source HR software out there and so decided to build one ourselves. Initially, it was a set of modules within ERPNext but version 14 onwards, as the modules became more mature, Frappe HR was created as a separate product.

Key Features

  • Employee Lifecycle: From onboarding employees, managing promotions and transfers, all the way to documenting feedback with exit interviews, make life easier for employees throughout their life cycle.
  • Leave and Attendance: Configure leave policies, pull regional holidays with a click, check-in and check-out with geolocation capturing, track leave balances and attendance with reports.
  • Expense Claims and Advances: Manage employee advances, claim expenses, configure multi-level approval workflows, all this with seamless integration with ERPNext accounting.
  • Performance Management: Track goals, align goals with key result areas (KRAs), enable employees to evaluate themselves, make managing appraisal cycles easy.
  • Payroll & Taxation: Create salary structures, configure income tax slabs, run standard payroll, accomodate additional salaries and off cycle payments, view income breakup on salary slips and so much more.
  • Frappe HR Mobile App: Apply for and approve leaves on the go, check-in and check-out, access employee profile right from the mobile app.

View Screenshots

<img src="https://github.com/frappe/hrms/raw/v16.12.0/github/hrms-appraisal.png"/>
<img src="https://github.com/frappe/hrms/raw/v16.12.0/github/hrms-requisition.png"/>
<img src="https://github.com/frappe/hrms/raw/v16.12.0/github/hrms-attendance.png"/>
<img src="https://github.com/frappe/hrms/raw/v16.12.0/github/hrms-salary.png"/>
<img src="https://github.com/frappe/hrms/raw/v16.12.0/github/hrms-pwa.png"/>

Under the Hood

  • Frappe Framework: A full-stack web application framework written in Python and Javascript. The framework provides a robust foundation for building web applications, including a database abstraction layer, user authentication, and a REST API.

  • Frappe UI: A Vue-based UI library, to provide a modern user interface. The Frappe UI library provides a variety of components that can be used to build single-page applications on top of the Frappe Framework.

Production Setup

Managed Hosting

You can try Frappe Cloud, a simple, user-friendly and sophisticated open-source platform to host Frappe applications with peace of mind.

It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments.

<a href="https://frappecloud.com/hrms/signup" target="_blank">






        <img src="https://frappe.io/files/try-on-fc-black.png" alt="Try on Frappe Cloud" height="28" />



</a>

Development setup

Docker

You need Docker, docker-compose and git setup on your machine. Refer Docker documentation. After that, run the following commands:

git clone https://github.com/frappe/hrms
cd hrms/docker
docker-compose up

Wait for some time until the setup script creates a site. After that you can access http://localhost:8000 in your browser and the login screen for HR should show up.

Use the following credentials to log in:

  • Username: Administrator
  • Password: admin

Local

  1. Set up bench by following the Installation Steps and start the server and keep it running sh $ bench start
  2. In a separate terminal window, run the following commands sh $ bench new-site hrms.local $ bench get-app erpnext $ bench get-app hrms $ bench --site hrms.local install-app hrms $ bench --site hrms.local add-to-hosts
  3. You can access the site at http://hrms.local:8080

Learning and Community

  1. Frappe School - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community.
  2. Documentation - Extensive documentation for Frappe HR.
  3. User Forum - Engage with the community of ERPNext users and service providers.
  4. Telegram Group - Get instant help from the community of users.

Contributing

  1. Issue Guidelines
  2. Report Security Vulnerabilities
  3. Pull Request Requirements

Logo and Trademark Policy

Please read our Logo and Trademark Policy.

<a href="https://frappe.io" target="_blank">






        <img src="https://frappe.io/files/Frappe-black.png" alt="Frappe Technologies" height="28"/>



</a>

Core symbols most depended-on inside this repo

save
called by 302
hrms/hr/doctype/employee_attendance_tool/employee_attendance_tool.py
make_employee
called by 284
hrms/hr/doctype/job_offer/job_offer.py
run
called by 128
hrms/payroll/report/income_tax_computation/income_tax_computation.py
mark_attendance
called by 101
hrms/hr/doctype/attendance/attendance.py
run
called by 83
hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py
make_employee
called by 82
hrms/hr/doctype/employee_onboarding/employee_onboarding.py
delete
called by 80
hrms/hr/doctype/employee_attendance_tool/employee_attendance_tool.py
cancel
called by 72
hrms/payroll/doctype/payroll_entry/payroll_entry.py

Shape

Method 1,722
Function 1,285
Class 341
Route 6

Languages

Python88%
TypeScript12%

Modules by API surface

hrms/payroll/doctype/salary_slip/salary_slip.py121 symbols
hrms/payroll/doctype/salary_slip/test_salary_slip.py84 symbols
hrms/hr/doctype/leave_application/leave_application.py77 symbols
hrms/payroll/doctype/payroll_entry/payroll_entry.py75 symbols
hrms/hr/utils.py53 symbols
hrms/hr/doctype/leave_application/test_leave_application.py51 symbols
hrms/hr/doctype/leave_allocation/test_earned_leaves.py48 symbols
hrms/hr/doctype/expense_claim/expense_claim.py45 symbols
hrms/api/__init__.py41 symbols
hrms/payroll/doctype/payroll_entry/test_payroll_entry.py38 symbols
hrms/hr/doctype/expense_claim/test_expense_claim.py38 symbols
hrms/hr/doctype/leave_allocation/leave_allocation.py36 symbols

Dependencies from manifests, versioned

@ionic/vue7.4.3 · 1×
@ionic/vue-router7.4.3 · 1×
@vitejs/plugin-vue4.4.0 · 1×
autoprefixer10.4.19 · 1×
dayjs1.11.11 · 1×
eslint8.39.0 · 1×
eslint-plugin-vue9.11.0 · 1×
feather-icons4.29.1 · 1×
firebase10.8.0 · 1×
frappe-ui0.1.105 · 1×
html2canvas1.4.1 · 1×
postcss8.4.5 · 1×

For agents

$ claude mcp add hrms \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact