Hris

This test aims to evaluate your ability to set up a Docker-based Frappe development environment, install ERPNext and HRMS, develop custom functionalities based on given instructions, and create a business-focused report.

Install Hris

bench get-app https://github.com/LukaModric00/hris

Add the Frappe Gems badge to your README

Maintain Hris? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=LukaModric00%2Fhris)](https://frappegems.com/gems/apps/LukaModric00/hris)

About Hris

🚀 Technical Test – Frappe/ERPNext Developer + HRMS

🎯 Objective

This test aims to evaluate your ability to set up a Docker-based Frappe development environment, install ERPNext and HRMS, develop custom functionalities based on given instructions, and create a business-focused report.


🛠️ Step 1 – Setup Development Environment

  • Clone the following repository: https://github.com/yamenzk/FrappeDev

  • Carefully follow the instructions provided in the README to:

    • Launch a Docker-based Frappe environment.
    • Install ERPNext and HRMS.
    • Run and validate the local Frappe site (dev.localhost).

📦 Step 2 – Integrate Existing Application

  • Fork and install the existing HR application available here: https://github.com/LukaModric00/hris

  • Ensure proper integration and verify that the app is working on your local Frappe site.


💻 Step 3 – Custom Development (HR Module)

Create a new Doctype named: "Leave Request" in the "hris" app

  • Required fields:

    • employee (Link → Employee)
    • leave_type (Link → Leave Type)
    • from_date (Date)
    • to_date (Date)
    • total_days (Automatically calculated based on from/to dates)
    • reason (Small Text, optional)
    • status (Select: Draft → Submitted → Approved → Rejected)
  • Business Logic (Backend - Python):

    • Validate the employee's annual leave balance (max. 30 days/year).
    • If the leave balance is exceeded, raise a clear validation error.
  • Form Behavior (Frontend - JS):

    • Auto-calculate and display the total leave days (total_days).
    • If requested leave exceeds 15 days, display an informational message prompting confirmation with HR.
  • Approval Workflow:

    • Configure a clear and functional workflow:

      • Employee submits → HR Manager approves/rejects.

📊 Step 4 – Custom Report

Report: "Annual Leave Usage Report"

  • Type: Script Report
  • Report Columns:

    • Employee Name
    • Total Leave Days Used (current year)
    • Remaining Balance (based on 30 days per year)
  • Filter Options:

    • Employee
    • Year
  • Highlight employees who've already consumed more than 20 leave days this year.

📑 Step 5 – Documentation & Submission

  • Provide a short, clear README.md (maximum 15 lines) containing:

    • Simple instructions to reproduce your environment.
    • List of commands used (Docker, bench, etc.).
    • Brief explanation of the implemented workflow.

📥 Deliverables

Upon completion, send a public GitHub repository containing clearly:

  • ✅ Your customized hris application.
  • ✅ Exported Fixtures (bench export-fixtures).
  • ✅ Screenshots of:

    • Leave Request form.
    • Frontend informational message (for leave requests > 15 days).
    • Generated "Annual Leave Usage Report".
  • ✅ README.md as described above.

📌 Evaluation Criteria

  • Clear understanding and respect of instructions provided.
  • Functional correctness and completeness of requested features.
  • Code quality, readability, and adherence to Frappe best practices.
  • Clarity and accuracy of provided documentation.

🖥️ Once you have completed the test, please inform me immediately.

Good luck!

Related HR & Payroll apps for Frappe & ERPNext

  • Hrms — Open Source HR and Payroll Software
  • Huf — Open-source, self-hosted multi-agent AI infrastructure for teams and apps with support for cloud and local models, tool integrations, workflows, and automation across business systems including Slack, ERPNext, Discord & Gmail.
  • Bookings — Hotel Management App for Erpnext
  • Employee Self Service — This is the backend component for Nesscale ESS - a mobile app that brings ERPNext to your phone. Employees can manage their HR tasks, sales activities, and projects right from their mobile devices.
  • Inventory Tools — A collection of features to streamline and enhance inventory management and manufacturing workflows in ERPNext.
  • Check Run — Payables utility for ERPNext
  • Next Ai — NextAI is an AI-powered app for Frappe and ERPNext, delivering seamless content generation, automation, and productivity enhancements.
  • Projectit — Open Source PWA mobile app to track the Employees out in the field. This mobile app is developed on Frappe Framework and it is integrated with the Project functionalities of ERPNext and integrated tightly with Frappe HR.