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, and Instructor 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 type Int.
- 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 when Fresher 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, and Rejected.
- 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 the Department 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, and Status.
- 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.