1. Understanding the Basics of Frappe and ERPNext
Task 1: Install Frappe and ERPNext
- Goal: Get a local or cloud-based instance of ERPNext running.
-
Steps:
- Option 1: Cloud Version – You can sign up for ERPNext's free trial to start exploring without installation.
- Option 2: Local Installation – If you prefer local setup, follow the official ERPNext installation guide to install Frappe/ERPNext using Docker or on a Linux-based server.
- Outcome: You should have access to ERPNext, ready for development or exploration.
Task 2: Explore Default Modules in ERPNext
- Goal: Familiarize yourself with ERPNext’s out-of-the-box modules like HR, Sales, and Accounts.
-
Steps:
- Navigate to the HR Module and explore key features like employee profiles, attendance, payroll, and leave management.
- Go through other modules (Accounts, Sales, Purchase, etc.) to understand the entire ERP system.
- Outcome: You’ll gain an understanding of the pre-built modules and their workflows.
Task 3: Understand and Create a Custom Doctype
- Goal: Learn what Doctypes are and how to create one.
-
Steps:
- In ERPNext, go to the Doctype List under the Developer module.
- Create a new Doctype for something simple like
Training Program
. - Add fields like
Training Name
,Date
, andInstructor
in the form. - Customize the Doctype’s layout.
- Outcome: You’ll learn how data structures are managed in ERPNext.
2. Setting Up HRMS Module
Task 4: Set Up the HRMS Module
- Goal: Set up the core HRMS functionalities.
-
Steps:
- Go to the HR Module in ERPNext.
- Create Departments, Designations, and Employee Types under the HR settings.
- Add a few employees, filling in relevant fields like name, department, designation, etc.
- Outcome: You’ll have a basic HR structure set up.
Task 5: Explore Attendance, Payroll, and Leave Management
- Goal: Understand core HR functionalities.
-
Steps:
- For Attendance, log in as an employee and mark attendance manually or through an integration.
- For Payroll, explore the salary structure and create a basic payroll run.
- For Leave Management, create a leave application and explore the approval workflow.
- Outcome: You’ll understand the core processes of HR management.
Task 6: Customize the Employee Doctype
- Goal: Learn how to customize existing Doctypes.
-
Steps:
- Navigate to the Employee Doctype under HR settings.
- Add a new field like
Employee Type
(e.g., Full-time, Part-time). - Save and refresh the page, then observe how the field appears on employee forms.
- Outcome: You’ll learn how to modify pre-existing Doctypes.
3. Customization of Doctypes
Task 7: Add a Custom Field in HR Module
- Goal: Add custom fields to existing Doctypes.
-
Steps:
- Navigate to Customize Form and choose the Employee Doctype.
- Add a custom field such as
Years of Experience
with data typeInt
. - Save the customization and see the field appear in the Employee form.
- Outcome: You’ll understand how to extend standard modules.
Task 8: Conditional Field Visibility
- Goal: Show or hide fields based on conditions.
-
Steps:
- Go to Customize Form and select Employee.
- Add a condition (for example, hide the
Years of Experience
field whenFresher
is selected). - Implement the logic using Frappe’s
depends_on
functionality.
- Outcome: You’ll learn how to create dynamic forms based on user inputs.
4. Workflow and Permissions
Task 9: Create a Workflow for Employee Approval
- Goal: Build a workflow for employee-related approvals.
-
Steps:
- Create a new Workflow under the HR module.
- Define stages like
Pending Approval
,Approved
, andRejected
. - Assign roles such as HR Manager for the approval stage.
- Outcome: You’ll have an approval system for HR processes.
Task 10: Assign Role-based Permissions
- Goal: Learn how to set permissions for various roles in ERPNext.
-
Steps:
- Go to Role Permissions Manager.
- Define what actions (read, write, create, etc.) different roles (like HR Manager vs. Employee) can perform on HR documents.
- Test the permissions by logging in as different users.
- Outcome: You’ll understand how to manage access control in Frappe.
5. Scripting in Frappe
Task 11: Server-side Scripting
- Goal: Learn how to write Python code to validate data.
-
Steps:
- Go to the Employee Doctype’s Python script.
- Add a validation (e.g., ensuring the employee’s age is greater than 18 before saving).
- Test the script by trying to save invalid data.
- Outcome: You’ll be able to manipulate backend logic using Python.
Task 12: Client-side Scripting
- Goal: Learn how to write JavaScript to control frontend behavior.
-
Steps:
- Add a Custom Script to the Employee form.
- Write a script that automatically sets the
Date of Joining
based on theDepartment
selected. - Test the functionality.
- Outcome: You’ll learn how to control form behavior on the client side.
6. Reporting and Dashboards
Task 13: Build a Report Using Frappe’s Report Builder
- Goal: Create a custom report.
-
Steps:
- Go to Report Builder and select the Employee Doctype.
- Add fields like
Name
,Department
, andStatus
. - Filter the data (e.g., show only employees from the HR department).
- Outcome: You’ll be able to create and export simple reports.
Task 14: Create a Custom HR Dashboard
- Goal: Create a dashboard for HR metrics.
-
Steps:
- Go to Dashboard and create a new HR dashboard.
- Add charts for attendance tracking, employee count per department, etc.
- Display the dashboard on the HR home page.
- Outcome: You’ll be able to visualize HR metrics in a dashboard.
7. Payroll Management
Task 15: Set Up Payroll
- Goal: Configure payroll for employees.
-
Steps:
- Go to the Payroll Settings in the HR module.
- Set up salary structures, define allowances, and deductions.
- Assign salary structures to employees.
- Outcome: You’ll learn how to configure and manage payroll.
Task 16: Run a Payroll Process
- Goal: Execute the payroll process for employees.
-
Steps:
- Create a Payroll Entry and process salaries for the current month.
- Post the salary slips and generate reports.
- Outcome: You’ll understand the payroll process from start to finish.
8. Integration and API
Task 17: Use Frappe API
- Goal: Fetch employee details via API.
-
Steps:
- Access Frappe’s REST API documentation.
- Write a script to fetch employee data using the API and display it in a simple interface.
- Outcome: You’ll understand Frappe’s API for integrations.
Task 18: Integrate with External System
- Goal: Display employee data on a custom frontend.
-
Steps:
- Set up an external React application.
- Use the Frappe API to pull employee data and display it in a table.
- Outcome: You’ll learn how to integrate ERPNext with external systems.
9. Advanced Customization (Optional)
Task 19: Build Custom HR Workflows with Validation Rules
- Goal: Add advanced business logic using Python scripts.
-
Steps:
- Add advanced validation rules (e.g., automatically assigning leave balance based on years of experience).
- Test the functionality with various employee profiles.
- Outcome: You’ll enhance the system’s functionality with custom rules.
Task 20: Create Custom HR Dashboards
- Goal: Build visual dashboards using Frappe’s charting tools.
- **
Steps:**
1. Create a new dashboard with bar charts, pie charts, and graphs.
2. Visualize key HR metrics such as leave balance, attendance, etc.
- Outcome: You’ll build a rich dashboard for decision-making.
10. Final Project: HR Management Solution
- Goal: Combine everything you’ve learned into a complete HR solution.
-
Steps:
- Implement employee onboarding, leave tracking, and payroll in a single system.
- Add custom workflows, reports, and dashboards.
- Document the project for future reference.
- Outcome: You’ll have built a fully functional HR management system.