Udyamo HRMS — User Guide
Welcome to the official user guide for Udyamo HRMS, a cloud-based human resource management system built for small and medium businesses in India.
Who This Guide Is For
This guide serves three audiences:
| Role | What You Will Find |
|---|---|
| HR Administrators | Complete setup instructions, payroll configuration, statutory compliance, and system administration |
| Managers | Attendance oversight, leave approvals, team reports, and employee management |
| Employees | Self-service features — applying for leave, viewing payslips, updating personal details, and checking attendance |
What Udyamo HRMS Covers
Udyamo HRMS provides end-to-end HR management across these modules:
- Organization Setup — departments, designations, offices, roles, and permissions
- Employee Management — profiles, bank details, bulk import, and self-service onboarding
- Shifts & Attendance — shift scheduling, daily check-in/check-out, face recognition, location tracking, and overtime
- Leave Management — leave categories, policies, accrual rules, holidays, and year-end processing
- Payroll — salary components, salary structures, payrun processing, payslips, and bank advice
- Statutory Compliance — EPF, ESIC, Professional Tax, TDS, bonus, and gratuity (India-specific)
- Loans & Reimbursements — employee loans, expense reimbursements, and salary advances
- Employee Lifecycle — resignations, notice period, offboarding, full-and-final settlement, and document management
- Communication — announcements and notifications
- Reports — attendance, leave, payroll, and compliance reports
- Security — two-factor authentication, SSO (Azure AD, Google), and MS Teams integration
- Subscriptions — license and plan management
How This Guide Is Organized
The guide is divided into 12 parts with 47 chapters, arranged in the order you would typically set up and use the system:
- Getting Started — sign up, first login, and initial setup
- Organization Setup — configure your company structure
- Employee Management — add and manage employees
- Shifts & Attendance — track work hours
- Leave Management — configure and manage time off
- Payroll — run payroll and generate payslips
- Statutory Compliance — meet Indian regulatory requirements
- Loans & Reimbursements — manage financial requests
- Employee Lifecycle — handle exits and documents
- Communication & Reports — announcements and analytics
- Security & Integrations — protect your data and connect tools
- Subscriptions — manage your Udyamo license
Conventions Used
Throughout this guide:
- Bold text indicates UI elements — buttons, menu items, and field labels
- Navigation paths use the format Menu > Submenu > Action
- Callout boxes highlight important information:
Tip: Practical advice for getting the most out of a feature.
Warning: Common mistakes to avoid.
Required: Prerequisites you must complete before proceeding.
Getting Help
If you need assistance beyond this guide:
- Support: Contact Udyamo support through the in-app chat widget
- Website: Visit udyamo.com/hrms for the latest information
Ready to begin? Start with What is Udyamo HRMS?
What is Udyamo HRMS?
Udyamo HRMS is a cloud-based Human Resource Management System designed specifically for Indian small and medium businesses (SMBs) with 10 to 1,000+ employees. It consolidates every aspect of workforce management — from hiring and attendance tracking to payroll processing and statutory compliance — into a single, unified platform.
This chapter introduces the platform, its core modules, the people who use it, and the system requirements for getting started.
What You Will Learn
- What Udyamo HRMS does and who it serves
- The core modules available in the platform
- Who the different user roles are and how they interact with the system
- System requirements for running Udyamo HRMS
- How this guide is organized
Platform Overview
Udyamo HRMS is a multi-tenant Software-as-a-Service (SaaS) application. Each organization that signs up receives its own isolated workspace where employee data, payroll records, and policy configurations are kept completely separate from other organizations.
Key characteristics of the platform:
- Cloud-hosted — No installation required. Access from any modern web browser.
- Multi-organization support — A single user account can belong to multiple organizations and switch between them seamlessly.
- India-first compliance — Built-in support for EPF, ESIC, Professional Tax, TDS, and other Indian statutory requirements.
- Feature toggles — Enable only the modules you need. Turn on payroll, leave, attendance, loans, advances, and reimbursements independently.
- MS Teams integration — Receive notifications and perform quick actions directly within Microsoft Teams.

Core Modules
Udyamo HRMS is organized into distinct modules, each addressing a specific area of HR operations. You can enable or disable these modules based on your organization's needs using feature toggles in Settings.
Module Overview Table
| Module | Description | Feature Toggle |
|---|---|---|
| Employee Management | Maintain employee profiles, personal details, bank information, documents, and employment history. | Always enabled |
| Attendance | Track daily check-in/check-out, manage shifts, set up geo-fencing, and connect biometric or face-recognition devices. | attendance |
| Leave Management | Define leave categories, configure accrual policies, manage holiday calendars, and process leave requests. | leave |
| Payroll | Configure salary components and structures, run monthly payroll, generate payslips, and produce bank advice files. | payroll |
| Statutory Compliance | Manage EPF, ESIC, Professional Tax, TDS, bonus, and gratuity calculations per Indian labor law. | Linked to payroll |
| Loans | Issue employee loans, define repayment schedules, and integrate EMI deductions into payroll. | loan |
| Advances | Process salary advance requests with approval workflows. | advance |
| Reimbursements | Submit, review, and approve expense claims with receipt uploads. | reimbursement |
| Reports | Generate detailed reports across attendance, leave, payroll, and compliance data. | Always enabled |
| Announcements | Broadcast company-wide or targeted announcements to employees. | Always enabled |
Tip: Start with Employee Management and Attendance, then enable additional modules as your organization's processes mature. You can always turn modules on or off later without losing data.
Who Uses Udyamo HRMS?
The platform serves four primary user roles, each with a different perspective and set of capabilities.
Administrators
Administrators have full control over the organization's configuration. They set up departments, designations, offices, salary structures, leave policies, and manage all employee records. Administrators also control role assignments and feature toggles.
Typical tasks:
- Configure organization settings (work week, timezone, fiscal year)
- Create and manage departments, designations, and offices
- Define salary components and structures
- Run payroll and generate compliance reports
- Manage user roles and permissions
HR Managers
HR managers handle day-to-day workforce operations. They process leave requests, review attendance records, manage onboarding and offboarding, and generate reports.
Typical tasks:
- Add new employees and send invitation links
- Approve or reject leave requests
- Review and correct attendance records
- Process reimbursement claims
- Generate HR reports
Team Managers
Team managers oversee their direct reports. They can view their team's attendance, approve leave requests for their team members, and review team-level reports.
Typical tasks:
- Approve or reject leave requests from team members
- View team attendance summaries
- Review team-level reports
Employees
Employees use the self-service portal to manage their own records. They can check in and out, apply for leave, view payslips, submit reimbursement claims, and update personal details.
Typical tasks:
- Mark daily attendance (check-in / check-out)
- Apply for leave
- View payslips and tax declarations
- Submit reimbursement claims
- Update personal and bank details

Architecture and Technology
Udyamo HRMS is built on a modern web application stack:
| Component | Technology |
|---|---|
| Backend framework | Ruby on Rails 7 |
| Authentication | Devise with support for Google OAuth2, Azure AD SSO, and OTP login |
| Multi-tenancy | Organization-scoped data isolation |
| Security | Two-factor authentication (TOTP), token-based employee invitations |
| Integrations | Microsoft Teams |
Note: You do not need to understand the underlying technology to use Udyamo HRMS. This information is provided for IT administrators who may need it for security assessments or integration planning.
System Requirements
Udyamo HRMS is a web application that runs entirely in your browser. There is no software to install on your computer or server.
Browser Requirements
| Browser | Minimum Version |
|---|---|
| Google Chrome | Version 90 or later |
| Mozilla Firefox | Version 90 or later |
| Microsoft Edge | Version 90 or later |
| Apple Safari | Version 14 or later |
Additional Requirements
| Requirement | Details |
|---|---|
| Internet connection | Stable broadband connection recommended |
| Screen resolution | Minimum 1280 x 720 pixels; 1920 x 1080 recommended |
| JavaScript | Must be enabled in your browser |
| Cookies | Must be enabled for authentication |
| PDF viewer | Required for viewing payslips and reports |
Warning: Udyamo HRMS is not optimized for Internet Explorer. Please use one of the supported browsers listed above.
Mobile Access
Udyamo HRMS is accessible from mobile browsers on smartphones and tablets. The interface adapts to smaller screens, allowing employees to check in, apply for leave, and view payslips on the go.
For organizations using Microsoft Teams, the Udyamo HRMS Teams integration provides additional mobile convenience through the Teams mobile app.
How This Guide Is Organized
This user guide is divided into twelve parts, progressing from initial setup through advanced administration.
| Part | Title | What You Will Learn |
|---|---|---|
| Part 1 | Getting Started | Platform overview, signing up, navigating the dashboard, and first-time setup |
| Part 2 | Setting Up Your Organization | Organization profile, departments, offices, work week, roles, and permissions |
| Part 3 | Managing Employees | Adding employees, profiles, bulk import, and employee self-service |
| Part 4 | Shifts & Attendance | Shift management, check-in/check-out, attendance policies, devices, and overtime |
| Part 5 | Leave Management | Leave categories, policies, holidays, and leave request workflows |
| Part 6 | Payroll | Salary components, structures, payrun process, payslips, and corrections |
| Part 7 | Statutory Compliance | EPF, ESIC, Professional Tax, TDS, bonus, and gratuity |
| Part 8 | Loans, Reimbursements & Advances | Employee loans, expense claims, and salary advances |
| Part 9 | Employee Lifecycle | Resignations, offboarding, full-and-final settlement, and document management |
| Part 10 | Communication & Reports | Announcements, notifications, and reporting |
| Part 11 | Security & Integrations | Two-factor authentication, SSO, and MS Teams integration |
| Part 12 | Subscriptions & Administration | License and subscription management |
Tip: If you are setting up Udyamo HRMS for the first time, read Parts 1 and 2 in order. After that, you can jump to any part that addresses your immediate needs.
Quick Reference
| Topic | Where to Find It |
|---|---|
| Sign up for an account | Chapter 2: Signing Up & First Login |
| Navigate the dashboard | Chapter 3: Your Dashboard |
| Complete initial setup | Chapter 4: First-Time Setup Checklist |
| Configure your organization | Part 2: Setting Up Your Organization |
| Add employees | Chapter 10: Adding Your First Employee |
| Run payroll | Chapter 28: Running Payroll |
| Udyamo HRMS website | udyamo.com/hrms |
Signing Up & First Login
Before you can use Udyamo HRMS, you need an account. This chapter covers every path into the platform — signing up as a new organization, accepting an employee invitation, logging in with a password or OTP, connecting through Google or Azure AD single sign-on, and recovering a forgotten password.
What You Will Learn
- How to create a new organization account on Udyamo HRMS
- How to verify your email and complete registration
- How to log in with email/password, OTP, Google OAuth2, or Azure AD SSO
- How to accept an employee invitation link
- How to reset a forgotten password
- Password requirements and security recommendations
Prerequisites
Required: A modern web browser (Chrome, Firefox, Edge, or Safari) and a stable internet connection. See Chapter 1 for detailed system requirements.
Creating a New Organization Account
If you are the first person from your company to use Udyamo HRMS, you will create a new organization account. This makes you the initial administrator of that organization.
Step-by-Step: Sign Up
- Open your browser and navigate to udyamo.com/hrms.
- Click the Sign Up or Get Started button on the landing page.
- Fill in the registration form:
| Field | Description | Required |
|---|---|---|
| Full Name | Your first and last name | Yes |
| Work Email | Your business email address | Yes |
| Password | Must meet password requirements (see below) | Yes |
| Organization Name | Your company or business name | Yes |
- Review and accept the Terms of Service and Privacy Policy.
- Click Create Account.

Tip: Use your official work email address rather than a personal email. This ensures your organization's domain is associated with the account from the start.
Password Requirements
Udyamo HRMS enforces the following password policy:
| Requirement | Details |
|---|---|
| Minimum length | 8 characters |
| Character variety | Must include at least one uppercase letter, one lowercase letter, and one number |
| Special characters | Recommended but not mandatory |
| Reuse restriction | Cannot reuse your last 5 passwords |
Warning: Avoid using common passwords such as "password123" or your company name. A compromised administrator account can expose your entire organization's data.
Email Verification
After submitting the registration form, Udyamo HRMS sends a confirmation email to the address you provided.
Step-by-Step: Verify Your Email
- Check your inbox for an email from Udyamo HRMS with the subject line "Confirmation Instructions" (or similar).
- Click the Confirm My Account link in the email.
- You will be redirected to the Udyamo HRMS login page with a confirmation success message.
Tip: If you do not see the confirmation email within a few minutes, check your spam or junk folder. You can also click Resend Confirmation Email on the login page.
Warning: The confirmation link expires after a set period (typically 24 hours). If it expires, visit the login page and request a new confirmation email.

Logging In
Udyamo HRMS supports multiple authentication methods. Choose the one that suits your organization's security policy.
Method 1: Email and Password
This is the standard login method available to all users.
- Navigate to the Udyamo HRMS login page.
- Enter your Email address.
- Enter your Password.
- Click Log In.
- If two-factor authentication (2FA) is enabled on your account, you will be prompted to enter your TOTP code from your authenticator app. Enter the 6-digit code and click Verify.

Method 2: OTP Login
For users who prefer passwordless authentication, Udyamo HRMS supports one-time password (OTP) login.
- Navigate to the login page.
- Click Login with OTP (or the equivalent link).
- Enter your registered Email address or Mobile Number.
- Click Send OTP.
- Check your email or phone for the one-time code.
- Enter the OTP in the verification field.
- Click Verify & Log In.
Tip: OTP codes are typically valid for 5-10 minutes. If the code expires, click Resend OTP to receive a new one.
Note: OTP login must be enabled by your organization's administrator. If you do not see the OTP login option, contact your HR admin.
Method 3: Google OAuth2 (Sign in with Google)
If your organization uses Google Workspace, you can log in with your Google account.
- Navigate to the login page.
- Click the Sign in with Google button.
- Select your Google Workspace account (or enter your Google email).
- Grant the requested permissions if prompted (first-time only).
- You will be redirected to your Udyamo HRMS dashboard.
Note: Google OAuth2 login must be configured by your organization's administrator. The email address on your Google account must match the email registered in Udyamo HRMS.
Method 4: Azure AD Single Sign-On (SSO)
For organizations using Microsoft 365 / Azure Active Directory, Udyamo HRMS supports Azure AD SSO.
- Navigate to the login page.
- Click the Sign in with Microsoft button.
- Enter your Microsoft 365 credentials if prompted.
- Complete any multi-factor authentication required by your Azure AD policy.
- You will be redirected to your Udyamo HRMS dashboard.
Note: Azure AD SSO requires configuration by both your Udyamo HRMS administrator and your Azure AD administrator. See Chapter 45: Single Sign-On for setup instructions.

Login Methods Comparison
| Method | Best For | Requirements |
|---|---|---|
| Email + Password | All users, default method | Registered email and password |
| OTP Login | Users who prefer passwordless access | Registered email or mobile number; OTP feature enabled |
| Google OAuth2 | Google Workspace organizations | Google account matching registered email; OAuth2 configured |
| Azure AD SSO | Microsoft 365 organizations | Azure AD account; SSO configured by IT admin |
Accepting an Employee Invitation
If your organization already uses Udyamo HRMS, an administrator or HR manager can invite you by email. You will receive a token-based invitation link.
Step-by-Step: Accept an Invitation
- Check your inbox for an email from Udyamo HRMS with the subject "Invitation Instructions" (or similar).
- Click the Accept Invitation link in the email.
- You will be taken to a setup page where you need to create your password.
| Field | Description |
|---|---|
| Password | Create a password meeting the requirements listed above |
| Confirm Password | Re-enter the same password |
- Click Set My Password (or the equivalent button).
- You will be logged in and redirected to your dashboard.
Warning: Invitation links are single-use and time-limited. If your link has expired, ask your HR admin to resend the invitation from Settings > Employees.
Tip: After accepting your invitation, you can also set up Google or Azure AD login if your organization has configured these options. Go to your profile settings to link your account.

Resetting a Forgotten Password
If you forget your password, you can reset it through the self-service password recovery flow.
Step-by-Step: Reset Password
- Navigate to the Udyamo HRMS login page.
- Click the Forgot Your Password? link below the login form.
- Enter your registered Email address.
- Click Send Reset Instructions.
- Check your inbox for a password reset email.
- Click the Change My Password link in the email.
- Enter your new password and confirm it.
- Click Change Password.
- You will be redirected to the login page. Log in with your new password.
Warning: The password reset link expires after a limited time (typically 6 hours). If it expires, repeat the process to request a new link.
Tip: If you use Google OAuth2 or Azure AD SSO, you typically do not need a Udyamo HRMS password. However, having one set serves as a fallback in case SSO is temporarily unavailable.
Two-Factor Authentication (2FA)
Udyamo HRMS supports Time-based One-Time Password (TOTP) two-factor authentication for an additional layer of security.
How 2FA Works
When 2FA is enabled on your account:
- You log in with your email and password as usual.
- After entering valid credentials, you are prompted for a 6-digit TOTP code.
- Open your authenticator app (such as Google Authenticator, Microsoft Authenticator, or Authy) and enter the current code.
- Click Verify to complete login.
Note: 2FA setup and enforcement are covered in detail in Chapter 44: Two-Factor Authentication & OTP.
First Login: What to Expect
After your first successful login, what you see depends on your role:
For Organization Creators (Admins)
- You land on the Dashboard at the root path
/. - A setup wizard or checklist may appear to guide you through initial configuration.
- Your first task should be completing the First-Time Setup Checklist.
For Invited Employees
- You land on the Dashboard showing your personal summary.
- You may see prompts to complete your profile (personal details, bank information, emergency contacts).
- Review your assigned department, designation, and reporting manager.

Troubleshooting Login Issues
| Problem | Possible Cause | Solution |
|---|---|---|
| "Invalid email or password" | Incorrect credentials | Double-check email spelling and password. Use Forgot Password if unsure. |
| No confirmation email received | Email in spam folder, or typo in email during registration | Check spam/junk folder. Contact support if the email address was entered incorrectly. |
| Invitation link expired | Link was not used within the validity period | Ask your HR admin to resend the invitation. |
| OTP not received | SMS or email delivery delay | Wait 2-3 minutes. Check spam folder for email OTPs. Click Resend OTP. |
| Google SSO error | Email mismatch or OAuth2 not configured | Ensure your Google email matches your Udyamo HRMS email. Contact your admin. |
| Azure AD SSO error | SSO not configured or Azure AD policy block | Contact your IT administrator to verify SSO configuration. |
| "Account locked" | Too many failed login attempts | Wait for the lockout period to expire (typically 30 minutes), then try again. |
Tips & Best Practices
Tip: Bookmark the Udyamo HRMS login page in your browser for quick access. If your organization uses SSO, bookmark the SSO-enabled login URL.
Tip: Enable two-factor authentication as soon as possible, especially for administrator accounts. This significantly reduces the risk of unauthorized access.
Warning: Never share your password or OTP codes with anyone, including people claiming to be from Udyamo support. Legitimate support staff will never ask for your password.
Tip: If your organization has multiple entities, you may belong to more than one Udyamo HRMS organization. After logging in, use the organization switcher in the top navigation to move between them. See Chapter 3: Your Dashboard for details.
Quick Reference
| Action | Navigation / Steps | Notes |
|---|---|---|
| Sign up | udyamo.com/hrms > Sign Up | Creates a new organization |
| Verify email | Click link in confirmation email | Check spam folder if not found |
| Log in (password) | Login page > Enter email & password | Default method for all users |
| Log in (OTP) | Login page > Login with OTP | Must be enabled by admin |
| Log in (Google) | Login page > Sign in with Google | Requires Google OAuth2 config |
| Log in (Azure AD) | Login page > Sign in with Microsoft | Requires Azure AD SSO config |
| Accept invitation | Click link in invitation email > Set password | Single-use, time-limited link |
| Reset password | Login page > Forgot Your Password? | Reset link expires in ~6 hours |
| Enable 2FA | Profile > Security Settings | See Chapter 44 for details |
Your Dashboard
The dashboard is the first screen you see after logging in to Udyamo HRMS. Accessible at the root path /, it provides a real-time summary of your organization's HR activity — pending approvals, attendance snapshots, upcoming holidays, and recent announcements. This chapter walks you through every element of the dashboard, the navigation sidebar, and how to move efficiently between modules.
What You Will Learn
- How to read and interpret dashboard widgets and metrics
- How to navigate the sidebar menu to access different modules
- How to use the top menu bar, notification bell, and profile menu
- How to switch between organizations (for multi-org users)
- How to perform quick actions from the dashboard
Prerequisites
Required: A valid Udyamo HRMS account and successful login. See Chapter 2: Signing Up & First Login if you have not logged in yet.
Dashboard Overview
The dashboard is divided into several regions, each serving a specific purpose.

| Region | Location | Purpose |
|---|---|---|
| Top Menu Bar | Top of the screen | Organization switcher, search, notifications, profile menu |
| Navigation Sidebar | Left side | Links to all modules and settings |
| Main Content Area | Center | Dashboard widgets, metrics, and summaries |
| Quick Actions | Within main content | Shortcuts to frequently used tasks |
Top Menu Bar
The top menu bar is always visible, regardless of which page you are on. It contains global controls that apply across the entire application.
Organization Switcher
If your account is associated with more than one organization, the organization switcher appears in the top-left area of the menu bar.
- Click the current organization name in the top menu bar.
- A dropdown list appears showing all organizations you belong to.
- Click the organization you want to switch to.
- The page reloads with the selected organization's data.
Tip: The organization switcher uses the
org_selectsmechanism. If you only belong to one organization, the switcher may not appear or may display your organization name without a dropdown.
Warning: Switching organizations changes all data displayed across the application. Any unsaved work on the current page will be lost when you switch.

Search Bar
The search bar in the top menu allows you to quickly find employees, settings, or pages.
- Click the Search icon or field in the top menu bar.
- Type a name, employee ID, or keyword.
- Results appear as you type. Click a result to navigate directly to that page.
Notification Bell
The notification bell icon displays a count of unread notifications.
- Click the bell icon in the top menu bar.
- A dropdown panel shows recent notifications, such as:
- Leave requests submitted or approved
- Attendance anomalies
- Payroll processing updates
- Announcement postings
- Click a notification to navigate to the relevant page.
- Click Mark All as Read to clear the unread count.
Tip: Configure your notification preferences in your profile settings to control which events generate notifications. This prevents notification overload.
Profile Menu
The profile menu is located at the far right of the top menu bar, typically showing your avatar or initials.
- Click your profile icon or name.
- A dropdown menu appears with options:
| Option | Description |
|---|---|
| My Profile | View and edit your personal details |
| Change Password | Update your login password |
| Security Settings | Manage two-factor authentication |
| Preferences | Set language and display preferences |
| Log Out | End your current session |

Navigation Sidebar
The sidebar is the primary navigation element in Udyamo HRMS. It appears on the left side of the screen and provides access to all modules and settings.
Sidebar Structure
The sidebar is organized into logical groups based on functionality. The exact items visible depend on your role and which feature toggles are enabled for your organization.
| Sidebar Section | Menu Items | Feature Toggle |
|---|---|---|
| Dashboard | Dashboard (Home) | Always visible |
| Employees | Employee List, Add Employee | Always visible |
| Attendance | Daily Attendance, Attendance Calendar, Shifts | attendance enabled |
| Leave | Leave Requests, Leave Balances, Holidays | leave enabled |
| Payroll | Payrun, Payslips, Salary Components, Salary Structures | payroll enabled |
| Loans | Loan List, Loan Requests | loan enabled |
| Advances | Advance Requests | advance enabled |
| Reimbursements | Reimbursement Claims | reimbursement enabled |
| Reports | Various report categories | Always visible |
| Announcements | Company Announcements | Always visible |
| Settings | Organization, Departments, Designations, Offices, Roles, and more | Admin/HR only |
Note: The sidebar color can be customized by your administrator through Settings > Organization > Sidebar Color. This is useful for visually distinguishing between multiple organizations.
Collapsing and Expanding the Sidebar
- Click the hamburger menu icon (three horizontal lines) at the top of the sidebar to collapse it into an icon-only view.
- Click the icon again to expand the sidebar back to its full width.
- On mobile devices, the sidebar is hidden by default and can be opened by tapping the hamburger icon.

Dashboard Widgets and Metrics
The main content area of the dashboard displays a collection of widgets. Each widget provides a summary or snapshot of a specific area. The widgets visible to you depend on your role.
Administrator / HR Dashboard Widgets
Employee Count Widget
Displays the total number of active employees in the organization.
| Metric | Description |
|---|---|
| Total Employees | Count of all active employees |
| New Joins (this month) | Employees who joined during the current month |
| Exits (this month) | Employees who left during the current month |
Attendance Summary Widget
Shows today's attendance snapshot at a glance.
| Metric | Description |
|---|---|
| Present | Number of employees who have checked in today |
| Absent | Number of employees not checked in and without approved leave |
| On Leave | Number of employees on approved leave today |
| Late Arrivals | Number of employees who checked in after their shift start time |
Tip: Click on any attendance metric to drill down into the detailed attendance list for today.

Leave Requests Pending Widget
Displays the count of leave requests awaiting approval, broken down by urgency.
| Metric | Description |
|---|---|
| Pending Approval | Total number of leave requests waiting for action |
| Urgent (today/tomorrow) | Requests for leave starting today or tomorrow |
Click View All to navigate to the full Leave Requests approval page.
Upcoming Holidays Widget
Lists the next few holidays on the organization's holiday calendar.
| Column | Description |
|---|---|
| Date | The holiday date |
| Holiday Name | Name of the holiday |
| Type | National, regional, or organizational |
Recent Announcements Widget
Shows the most recent announcements posted by administrators or HR.
- Displays the announcement title, date, and a preview of the content.
- Click an announcement to read the full text.
Birthdays & Work Anniversaries Widget
Highlights employees celebrating birthdays or work anniversaries this week or month.
| Column | Description |
|---|---|
| Employee Name | Name of the employee |
| Event | Birthday or Work Anniversary |
| Date | The event date |
Employee Dashboard Widgets
Employees see a personalized dashboard focused on their own data.
| Widget | Description |
|---|---|
| My Attendance | Today's check-in/check-out status, hours worked |
| My Leave Balances | Summary of available leave days by category |
| My Pending Requests | Any leave or reimbursement requests awaiting approval |
| Upcoming Holidays | Next few holidays relevant to the employee |
| Recent Announcements | Latest company announcements |
| My Team (Managers only) | Team attendance and leave summary |

Quick Actions
Quick action buttons on the dashboard allow you to perform common tasks without navigating through menus.
Common Quick Actions
| Quick Action | Role | What It Does |
|---|---|---|
| Check In | Employee | Records your attendance check-in for the day |
| Check Out | Employee | Records your attendance check-out for the day |
| Apply for Leave | Employee | Opens the leave application form |
| Submit Reimbursement | Employee | Opens the reimbursement claim form |
| Add Employee | Admin, HR | Opens the new employee form |
| Run Payroll | Admin | Navigates to the payrun initiation page |
| Post Announcement | Admin, HR | Opens the announcement creation form |
Tip: Quick actions save time on repetitive tasks. The most commonly used quick action for employees is the Check In button, which may also appear as a prominent button on the dashboard.
Navigating Between Modules
There are several ways to move between different areas of Udyamo HRMS.
Using the Sidebar
Click any item in the sidebar to navigate to that module. Sub-items expand when you click a parent section.
Using Breadcrumbs
Most pages display breadcrumb navigation below the top menu bar, showing your current location in the application hierarchy.
Dashboard > Employees > John Smith > Leave History
Click any breadcrumb segment to navigate back to that level.
Using the Browser
You can use your browser's back and forward buttons to navigate between previously visited pages. You can also bookmark frequently used pages.
Keyboard Shortcuts
Udyamo HRMS may support keyboard shortcuts for power users.
| Shortcut | Action |
|---|---|
/ or Ctrl+K | Focus the search bar |
Esc | Close open modals or dropdowns |
Customizing Your Dashboard
Setting Your Preferred Landing Page
By default, the dashboard at / is your landing page after login. If your administrator has configured a different default, you may land on a different page.
Sidebar Color
Administrators can change the sidebar color to match the organization's brand or to visually distinguish between multiple organizations.
- Navigate to Settings > Organization.
- Find the Sidebar Color setting.
- Select a color from the palette or enter a hex color code.
- Click Save.
The sidebar color updates immediately for all users in the organization.

Multi-Organization Usage
If you are a member of multiple organizations in Udyamo HRMS, here is how to manage them effectively.
Switching Organizations
- Click the organization name in the top menu bar.
- Select the target organization from the dropdown.
- The entire application context switches to the selected organization.
Visual Differentiation
Tip: Ask each organization's administrator to set a different sidebar color. This provides an immediate visual cue indicating which organization you are currently viewing, reducing the risk of performing actions in the wrong workspace.
Independent Data
Each organization maintains completely independent data. Employees, payroll records, leave balances, and all settings are separate. Actions in one organization do not affect another.
Tips & Best Practices
Tip: Check your dashboard each morning for pending approvals, attendance anomalies, and new announcements. The dashboard is designed to surface the most important items first.
Tip: If the dashboard feels cluttered, ask your administrator about role-based widget visibility. Employees typically see fewer widgets than administrators, which keeps the interface focused.
Warning: The dashboard data refreshes when the page loads. If you leave the dashboard tab open for an extended period, refresh the page to see the latest data.
Tip: Use the notification bell to stay informed about events that require your attention without constantly checking each module individually.
Quick Reference
| Action | Navigation Path | Role |
|---|---|---|
| View dashboard | / (root path) | All users |
| Switch organization | Top menu bar > Organization name > Select org | Multi-org users |
| View notifications | Top menu bar > Bell icon | All users |
| Access profile settings | Top menu bar > Profile icon > My Profile | All users |
| Log out | Top menu bar > Profile icon > Log Out | All users |
| Navigate to a module | Sidebar > Module name | Based on role and feature toggles |
| Collapse sidebar | Click hamburger icon | All users |
| Change sidebar color | Settings > Organization > Sidebar Color | Admin |
| Quick check-in | Dashboard > Check In button | Employee |
First-Time Setup Checklist
After creating your organization account and logging in for the first time, you need to configure several foundational settings before your team can begin using Udyamo HRMS effectively. This chapter provides an ordered checklist of tasks, explains why each step matters, and links to the detailed chapter for every item.
Completing these steps in order ensures that dependent features — such as payroll calculations that rely on salary components, or leave accruals that depend on the fiscal year — work correctly from the start.
What You Will Learn
- The recommended order for setting up a new Udyamo HRMS organization
- What each setup step accomplishes and why it matters
- Where to find detailed instructions for every step
- How to track your setup progress
Prerequisites
Required: You must be logged in as an Administrator of the organization. Standard employees and managers do not have access to most configuration settings.
Required: Complete Chapter 2: Signing Up & First Login before proceeding.
The Setup Checklist
Follow these steps in order. Each step builds on the one before it.

| Step | Task | Estimated Time | Detailed Chapter |
|---|---|---|---|
| 1 | Complete Organization Profile | 5 minutes | Chapter 5 |
| 2 | Set Work Week, Timezone & Date Format | 5 minutes | Chapter 8 |
| 3 | Set Fiscal Year Start Month | 2 minutes | Chapter 8 |
| 4 | Create Departments & Designations | 10-20 minutes | Chapter 6 |
| 5 | Add Offices & Locations | 10-15 minutes | Chapter 7 |
| 6 | Configure Roles & Permissions | 15-30 minutes | Chapter 9 |
| 7 | Set Up Leave Categories & Policies | 20-30 minutes | Chapter 21 |
| 8 | Configure Salary Components | 20-30 minutes | Chapter 26 |
| 9 | Add Employees | Varies | Chapter 10 |
| 10 | Enable/Disable Feature Toggles | 5 minutes | This chapter (below) |
Tip: Plan approximately 2-3 hours for the complete initial setup. You do not have to finish everything in one session — your progress is saved automatically. However, try to complete Steps 1-6 before adding employees.
Step 1: Complete Organization Profile
Navigation: Settings > Organization
Your organization profile establishes the identity of your company within Udyamo HRMS. This information appears on payslips, reports, and employee-facing pages.
What to Configure
| Setting | Description | Example |
|---|---|---|
| Organization Name | Your registered company name | "Acme Technologies Pvt. Ltd." |
| Industry | Your business sector | "Information Technology" |
| Logo | Company logo image file | PNG or JPG, recommended 200x200 px |
| Sidebar Color | Theme color for the navigation sidebar | Hex code, e.g., #1a73e8 |
Why It Matters
- The organization name appears on all official documents (payslips, offer letters, reports).
- The logo provides brand identity across the platform.
- The sidebar color helps users visually distinguish between organizations if they belong to more than one.
Action: Go to Settings > Organization, fill in all fields, upload your logo, and click Save. See Chapter 5: Organization Profile & Branding for detailed instructions.
Step 2: Set Work Week, Timezone & Date Format
Navigation: Settings > Organization
These settings define how Udyamo HRMS interprets dates, calculates working days, and displays times.
What to Configure
| Setting | Description | Common Value |
|---|---|---|
| Work Week | Which days of the week are working days | Monday through Saturday (6-day week) or Monday through Friday (5-day week) |
| Timezone | Your organization's primary timezone | Asia/Kolkata (IST) |
| Date Format | How dates are displayed across the platform | DD/MM/YYYY or DD-MMM-YYYY |
Why It Matters
- The work week determines which days are counted for attendance, leave calculations, and payroll.
- An incorrect timezone causes check-in/check-out times to appear wrong.
- The date format ensures consistency across all reports and employee-facing screens.
Warning: Set the timezone before adding any attendance records. Changing the timezone after employees have started checking in can cause data inconsistencies.
Action: Go to Settings > Organization, configure the work week, timezone, and date format, then click Save. See Chapter 8: Work Week, Timezone & Fiscal Year.
Step 3: Set Fiscal Year Start Month
Navigation: Settings > Organization
The fiscal year start month determines the annual cycle for leave accruals, payroll summaries, tax calculations, and financial reports.
What to Configure
| Setting | Description | Common Value |
|---|---|---|
| Fiscal Start Month | The first month of your organization's financial year | April (for Indian financial year April-March) |
Why It Matters
- Leave balances reset based on the fiscal year.
- Tax calculations (TDS) follow the fiscal year cycle.
- Payroll summaries and reports are grouped by fiscal year.
Warning: If you set this incorrectly, leave accrual calculations and tax reports will generate wrong data. Indian organizations almost always use April as the fiscal start month.
Action: Go to Settings > Organization, set the Fiscal Start Month to the appropriate month, and click Save. See Chapter 8.
Step 4: Create Departments & Designations
Navigation: Settings > Departments and Settings > Designations
Departments and designations form the organizational structure that every employee record references.
What to Configure
Departments — Create all departments in your organization:
| Example Departments |
|---|
| Engineering |
| Human Resources |
| Finance |
| Sales |
| Operations |
| Marketing |
Designations — Create all job titles used in your company:
| Example Designations |
|---|
| Software Engineer |
| Senior Developer |
| HR Manager |
| Accountant |
| Sales Executive |
| Team Lead |
Why It Matters
- Every employee must be assigned to a department and designation.
- Reports can be filtered and grouped by department and designation.
- Leave policies and salary structures can be targeted to specific departments.
Tip: Start with your current organizational structure. You can always add more departments and designations later.
Action: Go to Settings > Departments, add all departments. Then go to Settings > Designations and add all designations. See Chapter 6: Departments & Designations.
Step 5: Add Offices & Locations
Navigation: Settings > Offices
If your organization operates from multiple locations, each office should be created in the system.
What to Configure
| Field | Description |
|---|---|
| Office Name | A descriptive name for the office |
| City | City where the office is located |
| Address | Full street address |
| State | State (important for Professional Tax calculation) |
| Latitude / Longitude | GPS coordinates for geo-fenced attendance tracking |
| PT Number | Professional Tax registration number for that state |
Why It Matters
- Employees are assigned to offices, which determines applicable Professional Tax rules.
- GPS coordinates enable geo-fenced attendance (employees can only check in when near the office).
- Office-specific holidays can be configured per location.
Tip: Even if you have only one office, create it in the system. It is required for several downstream features, including attendance geo-tracking and Professional Tax.
Action: Go to Settings > Offices and add each office location. See Chapter 7: Offices & Locations.
Step 6: Configure Roles & Permissions
Navigation: Settings > Roles
Roles determine what each user can see and do within Udyamo HRMS. The system ships with default roles, but you may need to customize them.
Default Roles
| Role | Description |
|---|---|
| Admin | Full access to all settings and data |
| HR | Access to employee management, leave, attendance, payroll |
| Manager | Access to team-level data and approvals |
| Employee | Self-service access to own records |
What to Configure
- Review default role permissions and adjust as needed.
- Create custom roles if your organization requires different access levels (e.g., "Finance Manager" with payroll access but no employee editing rights).
- Plan which employees will receive which roles.
Why It Matters
- Proper role configuration protects sensitive data (e.g., salary information).
- Approval workflows depend on roles and reporting relationships.
- The principle of least privilege ensures employees only access what they need.
Warning: Do not give Admin access to users who do not need it. Create specific roles for specific job functions.
Action: Go to Settings > Roles, review and customize roles as needed. See Chapter 9: Roles & Permissions.
Step 7: Set Up Leave Categories & Policies
Navigation: Settings > Leave Categories (and related leave settings)
Before employees can apply for leave, you need to define the types of leave available and the rules governing them.
What to Configure
| Leave Category | Typical Annual Entitlement | Common Accrual |
|---|---|---|
| Earned Leave (EL) / Privilege Leave (PL) | 15-21 days | Monthly accrual |
| Casual Leave (CL) | 7-12 days | Credited upfront or monthly |
| Sick Leave (SL) | 7-12 days | Credited upfront or monthly |
| Maternity Leave | As per statute | Event-based |
| Paternity Leave | As per company policy | Event-based |
| Compensatory Off | Earned against extra work | Manual grant |
| Loss of Pay (LOP) | Unlimited (unpaid) | No accrual |
Why It Matters
- Leave categories define what types of leave employees can request.
- Policies control accrual rates, carry-over limits, and encashment rules.
- Misconfigured leave policies cause payroll errors (incorrect LOP deductions).
Action: Configure leave categories and policies before adding employees. This ensures new employees receive correct starting balances. See Chapter 21: Setting Up Leave Categories and Chapter 22: Leave Policies.
Step 8: Configure Salary Components
Navigation: Settings > Salary Components
If you plan to use the Payroll module, salary components must be defined before you can assign salary structures to employees.
What to Configure
Earnings:
| Component | Type | Taxable |
|---|---|---|
| Basic Salary | Fixed | Yes |
| House Rent Allowance (HRA) | Fixed | Partially exempt |
| Conveyance Allowance | Fixed | Exempt up to limit |
| Special Allowance | Fixed | Yes |
| Performance Bonus | Variable | Yes |
Deductions:
| Component | Type | Statutory |
|---|---|---|
| Provident Fund (Employee) | Fixed percentage | Yes (EPF) |
| Professional Tax | Slab-based | Yes |
| ESI (Employee) | Fixed percentage | Yes (ESIC) |
| TDS | Calculated | Yes |
Why It Matters
- Salary components are the building blocks of salary structures.
- Incorrect component configuration leads to wrong payslip amounts and compliance violations.
- Statutory components (EPF, ESIC, PT, TDS) must be configured correctly for legal compliance.
Warning: Review Indian statutory requirements carefully when setting up EPF, ESIC, Professional Tax, and TDS components. Incorrect configuration can result in compliance penalties.
Action: Go to Settings > Salary Components and define all earnings and deductions. See Chapter 26: Salary Components.
Step 9: Add Employees
Navigation: Employees > Add Employee
With the organizational foundation in place, you can now add your employees to the system.
Options for Adding Employees
| Method | Best For | Reference |
|---|---|---|
| Add individually | Small teams, new hires | Chapter 10 |
| Bulk import (CSV) | Initial setup with many employees | Chapter 12 |
| Send invitations | Employees who will self-register | Chapter 13 |
Minimum Required Information per Employee
| Field | Description |
|---|---|
| Full Name | Employee's legal name |
| Work email address (used for login and notifications) | |
| Department | Must be created in Step 4 |
| Designation | Must be created in Step 4 |
| Office | Must be created in Step 5 |
| Date of Joining | Employment start date |
| Role | Assigned from roles created in Step 6 |
Why This Step Comes Last
Each employee record references departments, designations, offices, roles, leave policies, and salary components. If these are not set up first, you will have to go back and update every employee record after configuring the missing items.
Tip: For initial setup with many employees, use the bulk import feature to save time. Prepare a CSV file with all employee details and upload it in one operation.
Action: Add employees individually or via bulk import. Then send invitation emails so employees can set up their own passwords and begin using the system. See Chapter 10: Adding Your First Employee.
Step 10: Enable/Disable Feature Toggles
Navigation: Settings > Organization (or Settings > Features)
Udyamo HRMS uses feature toggles to let you activate only the modules your organization needs.
Available Feature Toggles
| Feature Toggle | Module | Default |
|---|---|---|
payroll | Payroll processing, payslips, salary structures | Varies |
leave | Leave management, leave categories, leave balances | Varies |
attendance | Attendance tracking, shifts, check-in/check-out | Varies |
loan | Employee loan management | Varies |
advance | Salary advance requests | Varies |
reimbursement | Expense reimbursement claims | Varies |
How to Enable or Disable a Feature
- Navigate to Settings > Organization (or the dedicated Features section).
- Find the feature toggles section.
- Toggle each feature on or off as needed.
- Click Save.
What Happens When a Feature Is Disabled
- The corresponding menu items disappear from the sidebar.
- Employees cannot access that module.
- Existing data is preserved — if you re-enable the feature later, all previous data is still available.
Tip: If you are not ready to use payroll yet, keep it disabled until you have fully configured salary components and structures. This prevents employees from seeing incomplete payroll data.
Warning: Disabling a feature does not delete its data, but it does hide it from all users. Make sure to inform your team before toggling off a feature they are actively using.
Action: Review each feature toggle and enable the modules you plan to use. You can change these settings at any time.

Setup Progress Tracking
Recommended Progress Approach
Since Udyamo HRMS saves your settings as you go, you can track your progress manually.
| Step | Task | Status |
|---|---|---|
| 1 | Organization profile complete | [ ] |
| 2 | Work week, timezone, and date format set | [ ] |
| 3 | Fiscal year start month configured | [ ] |
| 4 | Departments and designations created | [ ] |
| 5 | Offices and locations added | [ ] |
| 6 | Roles and permissions configured | [ ] |
| 7 | Leave categories and policies defined | [ ] |
| 8 | Salary components configured | [ ] |
| 9 | Employees added and invited | [ ] |
| 10 | Feature toggles reviewed and set | [ ] |
Tip: Print this checklist or copy it into a document. Check off each item as you complete it. Share the checklist with your co-admin if multiple people are setting up the system.
What to Do After Setup
Once you have completed all ten steps, your organization is ready for daily operations.
Recommended Next Steps
| Action | Chapter |
|---|---|
| Configure shifts for attendance tracking | Chapter 14: Creating & Assigning Shifts |
| Set up holiday calendars | Chapter 23: Holidays |
| Create salary structures and assign to employees | Chapter 27: Salary Structures |
| Configure statutory compliance (EPF, ESIC, PT, TDS) | Part 7: Statutory Compliance |
| Post a welcome announcement | Chapter 42: Announcements & Notifications |
| Enable two-factor authentication for admins | Chapter 44: Two-Factor Authentication |
| Set up MS Teams integration | Chapter 46: MS Teams Integration |
Tips & Best Practices
Tip: Complete the entire setup before inviting employees to the platform. This ensures a polished first impression — employees will see correct departments, office names, and leave balances from day one.
Tip: Document your configuration decisions (e.g., which salary components you created and why, how many leave days each category provides) in an internal reference document. This helps future administrators understand the rationale behind your setup.
Warning: Do not skip the fiscal year and timezone settings. These are foundational to payroll and leave calculations. Getting them wrong requires significant rework later.
Tip: If your organization has complex requirements (e.g., multiple pay structures, state-specific Professional Tax rules, or varied shift schedules), consider setting up a test organization first to validate your configuration before rolling it out to employees.
Quick Reference
| Action | Navigation Path | Permission |
|---|---|---|
| Update organization profile | Settings > Organization | Admin |
| Set work week / timezone | Settings > Organization | Admin |
| Create departments | Settings > Departments | Admin |
| Create designations | Settings > Designations | Admin |
| Add offices | Settings > Offices | Admin |
| Manage roles | Settings > Roles | Admin |
| Configure leave categories | Settings > Leave Categories | Admin |
| Configure salary components | Settings > Salary Components | Admin |
| Add employees | Employees > Add Employee | Admin, HR |
| Manage feature toggles | Settings > Organization | Admin |
Organization Profile & Branding
Your organization profile is the identity of your company within Udyamo HRMS. It determines the name displayed on payslips and reports, the logo shown across the platform, and the visual theme of the navigation sidebar. This chapter covers how to configure and update your organization's profile, upload a logo, customize the sidebar color, and manage multi-organization setups.
What You Will Learn
- How to access and update your organization profile
- How to upload and manage your company logo
- How to customize the sidebar color for branding
- How multi-organization support works and how to switch between organizations
Prerequisites
Required: You must be logged in with an Administrator role to modify organization settings.
Required: Complete Chapter 2: Signing Up & First Login before proceeding.
Accessing Organization Settings
- Log in to Udyamo HRMS.
- Click Settings in the navigation sidebar.
- Click Organization from the settings menu.
The Organization settings page displays all configurable fields related to your company's identity and operational parameters.

Organization Name
The organization name is the official name of your company as it will appear throughout Udyamo HRMS.
Where the Organization Name Appears
| Location | Example |
|---|---|
| Dashboard header | "Welcome to Acme Technologies Pvt. Ltd." |
| Payslips | Company name in the header |
| Reports | Organization name on all generated reports |
| Employee portal | Displayed when employees log in |
| Organization switcher | Listed in the multi-org dropdown |
Updating the Organization Name
- Navigate to Settings > Organization.
- Locate the Organization Name field.
- Enter or update the name.
- Click Save.
Tip: Use your full legal business name including entity type (e.g., "Pvt. Ltd.", "LLP", "Inc."). This ensures official documents like payslips carry the correct legal entity name.
Warning: Changing the organization name updates it everywhere in the system, including on previously generated reports that are viewed online. However, already-downloaded PDF payslips will retain the old name.
Industry
The industry field categorizes your organization's business sector.
Updating the Industry
- Navigate to Settings > Organization.
- Locate the Industry field.
- Select your industry from the dropdown list or type it in.
- Click Save.
Common Industry Options
| Industry |
|---|
| Information Technology |
| Manufacturing |
| Healthcare |
| Education |
| Financial Services |
| Retail |
| Construction |
| Hospitality |
| Consulting |
| Logistics |
Note: The industry setting is primarily informational and does not affect system behavior or calculations.
Company Logo
The company logo adds brand identity to the Udyamo HRMS interface and official documents.
Logo Requirements
| Requirement | Specification |
|---|---|
| File format | PNG, JPG, or JPEG |
| Recommended size | 200 x 200 pixels |
| Maximum file size | 2 MB |
| Background | Transparent PNG recommended for best appearance |
| Aspect ratio | Square (1:1) recommended |
Uploading a Logo
- Navigate to Settings > Organization.
- Locate the Logo section.
- Click the Upload button or drag and drop your logo file onto the upload area.
- Preview the logo to ensure it displays correctly.
- Click Save.

Replacing an Existing Logo
- Navigate to Settings > Organization.
- In the Logo section, click the Change or Remove button next to the current logo.
- Upload the new logo file.
- Click Save.
Tip: Test your logo at small sizes (e.g., 32x32 pixels) to ensure it remains recognizable. The logo appears as a small icon in some areas of the interface.
Warning: Very large image files may slow down page loading for all users. Optimize your logo file size before uploading (aim for under 500 KB).
Where the Logo Appears
| Location | Size |
|---|---|
| Navigation sidebar (top) | Small icon |
| Login page | Medium |
| Payslip header | Medium |
| Report headers | Medium |
| Email notifications | Small |
Sidebar Color Theme
The sidebar color customization lets you apply your organization's brand color to the navigation sidebar. This is especially useful for organizations managing multiple entities — each can have a distinct sidebar color for quick visual identification.
Changing the Sidebar Color
- Navigate to Settings > Organization.
- Locate the Sidebar Color setting.
- Choose a color using one of these methods:
- Click a color from the preset palette.
- Enter a hex color code (e.g.,
#1a73e8for a blue,#34a853for a green). - Use the color picker tool if available.
- Preview the sidebar color change.
- Click Save.
The sidebar color updates immediately for all users in the organization.

Recommended Sidebar Colors
| Color | Hex Code | Best For |
|---|---|---|
| Corporate Blue | #1a73e8 | Professional, technology companies |
| Forest Green | #2e7d32 | Healthcare, sustainability-focused orgs |
| Dark Gray | #424242 | Neutral, works with any brand |
| Deep Purple | #6a1b9a | Creative industries |
| Teal | #00796b | Finance, consulting |
| Maroon | #880e4f | Traditional businesses |
Tip: Choose a color with sufficient contrast against white text. Very light colors will make sidebar menu items difficult to read.
Tip: If you manage multiple organizations, assign a unique sidebar color to each one. This prevents accidental data entry in the wrong organization.
Multi-Organization Support
Udyamo HRMS supports multi-tenant architecture, meaning a single platform instance hosts multiple independent organizations. A user account can belong to more than one organization.
Common Multi-Organization Scenarios
| Scenario | Example |
|---|---|
| Multiple subsidiaries | A parent company with separate entities for different business lines |
| Franchise operations | A franchise network where each location is a separate organization |
| Consulting firms | A firm that manages HR for multiple client companies |
| Test and production | A test organization used for configuration validation alongside the live organization |
How Multi-Organization Works
- Each organization has its own isolated data — employees, payroll, leave policies, and settings are completely separate.
- A user's email address is the common identifier across organizations.
- Roles and permissions are assigned per organization — an Admin in one organization may be a regular Employee in another.
- Feature toggles are independent per organization.
Switching Between Organizations
The organization switcher is located in the top menu bar and uses the org_selects component.
- Click the current organization name displayed in the top menu bar.
- A dropdown appears listing all organizations associated with your account.
- Click the organization you want to switch to.
- The page reloads, and all data now reflects the selected organization.

Warning: Always verify the current organization name in the top menu bar before performing sensitive operations like running payroll or modifying salary structures. Working in the wrong organization is a common and costly mistake.
Adding a User to Multiple Organizations
To add an existing Udyamo HRMS user to a new organization:
- Log in to the target organization as an Administrator.
- Navigate to Employees > Add Employee.
- Enter the user's email address (the same email they use for their other organization).
- Complete the employee profile for this organization.
- Send an invitation. The user will receive an email linking them to this additional organization.
After accepting, the user will see the new organization in their organization switcher.
Organization Profile Field Reference
The following table summarizes all fields available on the Organization settings page. Some fields are covered in this chapter; others (work week, timezone, fiscal year) are covered in Chapter 8: Work Week, Timezone & Fiscal Year.
| Field | Description | Chapter |
|---|---|---|
| Organization Name | Company legal name | This chapter |
| Industry | Business sector category | This chapter |
| Logo | Company logo image | This chapter |
| Sidebar Color | Navigation sidebar theme color | This chapter |
| Work Week | Working days (Mon-Sun) | Chapter 8 |
| Timezone | Organization timezone | Chapter 8 |
| Date Format | Display format for dates | Chapter 8 |
| Pay Schedule (Pay Day) | Day of month for salary payment | Chapter 8 |
| Fiscal Start Month | First month of the financial year | Chapter 8 |
| Feature Toggles | Enabled/disabled modules | Chapter 4 |
Updating Organization Details
All organization profile changes follow the same workflow:
- Navigate to Settings > Organization.
- Modify the desired field(s).
- Click Save at the bottom of the form.
- A success notification confirms the changes.
Audit Considerations
Note: Changes to organization settings may be logged in the system audit trail (if available). This helps track who changed what and when, which is useful for compliance and troubleshooting.
Tips & Best Practices
Tip: Set up your organization profile completely before inviting employees. The logo and organization name create a professional first impression when employees receive their invitation emails and log in for the first time.
Tip: Export or screenshot your current organization settings before making significant changes. This gives you a reference point if you need to revert.
Warning: The organization name should match your legal entity name exactly. Mismatches between the HRMS organization name and official documents can cause confusion during audits.
Tip: When choosing a sidebar color, test it on both desktop and mobile browsers to ensure readability. Some colors that look good on a large screen may be harder to read on smaller devices.
Tip: If you operate in multiple states in India, consider using the organization profile to represent your primary registered office. Individual office locations with state-specific settings (like Professional Tax numbers) are managed separately in Chapter 7: Offices & Locations.
Quick Reference
| Action | Navigation Path | Permission |
|---|---|---|
| View organization profile | Settings > Organization | Admin |
| Update organization name | Settings > Organization > Organization Name | Admin |
| Change industry | Settings > Organization > Industry | Admin |
| Upload/change logo | Settings > Organization > Logo | Admin |
| Set sidebar color | Settings > Organization > Sidebar Color | Admin |
| Switch organization | Top menu bar > Organization name | Multi-org users |
| Add user to another org | Target org > Employees > Add Employee | Admin (target org) |
Departments & Designations
Departments and designations form the organizational structure within Udyamo HRMS. Every employee must be assigned to a department and a designation. These assignments drive reporting hierarchies, enable filtered views across the platform, and support targeted policy application. This chapter covers how to create, edit, and manage departments and designations.
What You Will Learn
- How to create, edit, and delete departments
- How to create, edit, and delete designations
- How to assign employees to departments and designations
- Best practices for naming conventions
- How departments and designations affect reporting and filtering
Prerequisites
Required: You must be logged in with an Administrator role to create or modify departments and designations.
Required: Complete Chapter 5: Organization Profile & Branding before proceeding. Your organization profile should be configured first.
Understanding Departments and Designations
Before creating them, it helps to understand how departments and designations differ and relate to each other.
| Concept | Definition | Example |
|---|---|---|
| Department | A functional division of the organization | Engineering, Finance, Human Resources, Marketing |
| Designation | A job title or position held by an employee | Software Engineer, Accountant, HR Manager, Sales Executive |
- A department groups people by function (what the team does).
- A designation describes the individual role (what the person does).
- Departments and designations are independent — any designation can exist in any department.
- One employee has exactly one department and one designation at any given time.

Managing Departments
Navigating to Departments
- Log in to Udyamo HRMS.
- Click Settings in the navigation sidebar.
- Click Departments.
The Departments page displays a list of all departments in your organization.

Creating a New Department
- Navigate to Settings > Departments.
- Click the Add Department button.
- Fill in the department form:
| Field | Description | Required |
|---|---|---|
| Department Name | The name of the department | Yes |
- Click Save or Create.
The new department appears in the department list and is immediately available for assignment to employees.
Tip: Keep department names concise and consistent. Use title case (e.g., "Human Resources" instead of "human resources" or "HUMAN RESOURCES").
Editing a Department
- Navigate to Settings > Departments.
- Find the department you want to edit in the list.
- Click the Edit button (pencil icon) next to the department name.
- Update the Department Name field.
- Click Save or Update.
Warning: Renaming a department updates the name everywhere in the system, including on existing employee records and historical reports. All employees currently assigned to this department will reflect the new name.
Deleting a Department
- Navigate to Settings > Departments.
- Find the department you want to delete.
- Click the Delete button (trash icon) next to the department.
- Confirm the deletion when prompted.
Warning: You cannot delete a department that has employees assigned to it. You must first reassign all employees to a different department, then delete the empty department.
Warning: Deleting a department is permanent and cannot be undone. If you are unsure, consider renaming the department instead.
Department List Columns
| Column | Description |
|---|---|
| Department Name | The name of the department |
| Employee Count | Number of employees currently assigned to this department |
| Actions | Edit and Delete buttons |
Managing Designations
Navigating to Designations
- Log in to Udyamo HRMS.
- Click Settings in the navigation sidebar.
- Click Designations.
The Designations page displays a list of all designations (job titles) in your organization.

Creating a New Designation
- Navigate to Settings > Designations.
- Click the Add Designation button.
- Fill in the designation form:
| Field | Description | Required |
|---|---|---|
| Designation Name | The job title or position name | Yes |
- Click Save or Create.
The new designation appears in the designation list and is immediately available for assignment to employees.
Editing a Designation
- Navigate to Settings > Designations.
- Find the designation you want to edit in the list.
- Click the Edit button (pencil icon) next to the designation name.
- Update the Designation Name field.
- Click Save or Update.
Warning: Renaming a designation updates the name on all employee records that reference it. Review the impact before renaming a designation used by many employees.
Deleting a Designation
- Navigate to Settings > Designations.
- Find the designation you want to delete.
- Click the Delete button (trash icon) next to the designation.
- Confirm the deletion when prompted.
Warning: You cannot delete a designation that has employees assigned to it. Reassign all employees to a different designation first.
Designation List Columns
| Column | Description |
|---|---|
| Designation Name | The job title or position name |
| Employee Count | Number of employees currently holding this designation |
| Actions | Edit and Delete buttons |
Assigning Employees to Departments and Designations
Departments and designations are assigned to employees during employee creation or by editing an existing employee profile.
During Employee Creation
- Navigate to Employees > Add Employee.
- In the employee form, locate the Department and Designation dropdown fields.
- Select the appropriate department from the Department dropdown.
- Select the appropriate designation from the Designation dropdown.
- Complete the rest of the employee form and click Save.
Updating an Existing Employee
- Navigate to Employees and find the employee.
- Click on the employee's name to open their profile.
- Click Edit on the employment details section.
- Change the Department and/or Designation dropdown selections.
- Click Save or Update.
Note: When you change an employee's department or designation, the change takes effect immediately. Historical records (such as past payslips) retain the department and designation that were active at the time they were generated.
Bulk Updates
If you need to move multiple employees to a new department or designation (e.g., during a reorganization), consider using the bulk import/update feature described in Chapter 12: Bulk Import.
Impact on Reporting and Filtering
Departments and designations are used extensively throughout Udyamo HRMS for filtering, grouping, and reporting.
Where Departments and Designations Are Used
| Feature | How They Are Used |
|---|---|
| Employee list | Filter employees by department or designation |
| Attendance reports | Group attendance data by department |
| Leave reports | View leave utilization per department |
| Payroll reports | Summarize payroll costs by department |
| Dashboard widgets | Department-wise employee counts and attendance |
| Salary structures | Target salary structures to specific departments or designations |
| Leave policies | Apply different leave policies per department |
| Approval workflows | Route approvals based on department hierarchy |
Department-Level Reports
When generating reports in Udyamo HRMS, you can typically filter by department. This allows you to produce reports such as:
- Total salary expenditure for the Engineering department
- Attendance percentage for the Sales team
- Leave balance summary for the Finance department
- Headcount trends by department over time
Tip: Consistent and well-structured department names make reports more readable and useful. If you later need to change department names, all historical report data will reflect the updated names when viewed online.
Planning Your Department Structure
Before creating departments, plan your structure based on your organization's actual operating model.
Example: Small Organization (10-50 employees)
| Department |
|---|
| Administration |
| Engineering |
| Sales & Marketing |
| Finance |
| Human Resources |
Example: Medium Organization (50-200 employees)
| Department |
|---|
| Software Engineering |
| Quality Assurance |
| Product Management |
| Sales |
| Marketing |
| Customer Success |
| Finance & Accounting |
| Human Resources |
| Operations |
| IT Infrastructure |
Example: Large Organization (200+ employees)
Consider a hierarchical approach with parent and sub-departments if your organization grows beyond the simple flat list. While Udyamo HRMS uses a flat department structure, you can simulate hierarchy through naming conventions:
| Department Name |
|---|
| Engineering - Backend |
| Engineering - Frontend |
| Engineering - Mobile |
| Engineering - QA |
| Sales - Enterprise |
| Sales - SMB |
| Sales - Channel Partners |
Planning Your Designation Structure
Designations should reflect your organization's actual job titles and career ladder.
Example Designation Hierarchy
| Level | Example Designations |
|---|---|
| Entry Level | Associate, Trainee, Junior Engineer, Intern |
| Mid Level | Software Engineer, Accountant, HR Executive, Sales Executive |
| Senior Level | Senior Engineer, Senior Accountant, Lead HR, Senior Sales Executive |
| Lead / Specialist | Tech Lead, Team Lead, Principal Engineer, Subject Matter Expert |
| Management | Engineering Manager, Finance Manager, HR Manager, Sales Manager |
| Director | Director of Engineering, Director of Sales, Head of HR |
| Executive | VP of Engineering, Chief Financial Officer, Chief Human Resources Officer |
Tip: Standardize designation names across departments. For example, use "Manager" consistently instead of mixing "Manager," "Head," and "Lead" for equivalent levels.
Naming Conventions
Consistent naming helps keep data clean and reports readable.
Recommended Practices
| Practice | Good Example | Avoid |
|---|---|---|
| Use title case | "Human Resources" | "human resources", "HUMAN RESOURCES" |
| Be specific | "Software Engineering" | "Tech" |
| Avoid abbreviations | "Information Technology" | "IT" (unless universally understood) |
| Use full words | "Quality Assurance" | "QA" |
| Be consistent | "Senior Software Engineer" | "Sr. Soft. Eng." |
Avoid These Common Mistakes
| Mistake | Problem | Solution |
|---|---|---|
| Duplicate departments with different spelling | "HR" and "Human Resources" both exist | Standardize to one name |
| Overly granular departments | Every team of 2-3 people is a department | Combine small teams into broader departments |
| Designations that are too specific | "React Frontend Developer for Mobile Banking" | Use "Frontend Developer" and note specialization elsewhere |
| Missing departments | Some employees have no department assigned | Ensure every employee has a department before running reports |
Tips & Best Practices
Tip: Create all departments and designations before adding employees. This ensures the dropdowns are populated when you fill in employee forms, saving time and reducing errors.
Tip: Periodically review your department and designation lists to remove unused entries and consolidate duplicates. This keeps your data clean and reports accurate.
Warning: If you rename a department or designation, communicate the change to your team. Employees may be confused if their department name changes without notice.
Tip: Use a spreadsheet to plan your department and designation structure before entering them into the system. This helps you spot gaps and inconsistencies before they become part of your HRMS data.
Tip: When your organization restructures, update departments and designations in Udyamo HRMS at the same time. Delaying the update causes reports to show outdated organizational structure.
Warning: Avoid creating temporary or "test" departments/designations in your production organization. Use a test organization instead if you need to experiment with configuration.
Quick Reference
| Action | Navigation Path | Permission |
|---|---|---|
| View departments | Settings > Departments | Admin |
| Add department | Settings > Departments > Add Department | Admin |
| Edit department | Settings > Departments > Edit (pencil icon) | Admin |
| Delete department | Settings > Departments > Delete (trash icon) | Admin |
| View designations | Settings > Designations | Admin |
| Add designation | Settings > Designations > Add Designation | Admin |
| Edit designation | Settings > Designations > Edit (pencil icon) | Admin |
| Delete designation | Settings > Designations > Delete (trash icon) | Admin |
| Assign to employee | Employees > [Employee] > Edit > Department / Designation | Admin, HR |
| Filter employees | Employees > Filter by Department / Designation | Admin, HR, Manager |
Offices & Locations
If your organization operates from one or more physical locations, each office needs to be registered in Udyamo HRMS. Office records determine which Professional Tax rules apply to employees, enable geo-fenced attendance tracking, and allow location-specific holiday calendars. This chapter covers how to create, configure, and manage offices in the system.
What You Will Learn
- How to create, edit, and delete offices
- What each office field means and how it affects other modules
- How to set up GPS coordinates for attendance geo-tracking
- How to assign employees to offices
- How multi-office support works with holidays and Professional Tax
Prerequisites
Required: You must be logged in with an Administrator role to create or modify offices.
Required: Complete Chapter 5: Organization Profile & Branding and Chapter 6: Departments & Designations before proceeding.
Why Offices Matter
Offices are not just an address book entry. They connect to several functional areas of Udyamo HRMS.
| Connected Feature | How the Office Is Used |
|---|---|
| Professional Tax | The office's state determines which PT slab applies to employees at that location |
| Attendance Geo-Tracking | GPS coordinates define the geo-fence boundary for mobile check-in |
| Holiday Calendars | Holidays can be assigned to specific offices (e.g., regional holidays) |
| Employee Records | Every employee is assigned to a primary office |
| Reports | Filter and group data by office location |
Tip: Even if your organization has only one office, create it in the system. Several features — especially Professional Tax and attendance geo-tracking — require an office record to function.
Navigating to Offices
- Log in to Udyamo HRMS.
- Click Settings in the navigation sidebar.
- Click Offices.
The Offices page displays a list of all registered offices with their key details.

Creating a New Office
Step-by-Step: Add an Office
- Navigate to Settings > Offices.
- Click the Add Office button.
- Fill in the office form (see field reference below).
- Click Save or Create.
Office Form Fields
| Field | Description | Required | Example |
|---|---|---|---|
| Office Name | A descriptive name for this office | Yes | "Mumbai Head Office" |
| City | The city where the office is located | Yes | "Mumbai" |
| Address | Full street address | Yes | "101, Business Tower, Andheri East" |
| State | State where the office is located | Yes | "Maharashtra" |
| Latitude | GPS latitude coordinate | No | 19.1136 |
| Longitude | GPS longitude coordinate | No | 72.8697 |
| PT Number | Professional Tax registration number for this state | No | "PTRC/MH/2023/000123" |

Field Details
Office Name
Choose a name that clearly identifies the location. If you have multiple offices in the same city, include distinguishing details.
| Naming Pattern | Example |
|---|---|
| City only (single office per city) | "Bangalore Office" |
| City + area (multiple offices in same city) | "Bangalore - Koramangala" |
| City + function | "Mumbai - Manufacturing Plant" |
| Headquarters | "Delhi - Head Office" |
City and Address
Enter the full address as it would appear in official correspondence. The city field is used for display and filtering purposes.
State
The state is critically important because Professional Tax rates vary by state in India. Selecting the correct state ensures that employees at this office have the right PT slab applied to their payroll.
| State | Professional Tax Applicability |
|---|---|
| Maharashtra | Yes — slab-based deduction |
| Karnataka | Yes — slab-based deduction |
| West Bengal | Yes — slab-based deduction |
| Tamil Nadu | No Professional Tax |
| Andhra Pradesh | Yes — slab-based deduction |
| Telangana | Yes — slab-based deduction |
| Gujarat | Yes — slab-based deduction |
| Madhya Pradesh | Yes — slab-based deduction |
Note: For the complete state-wise Professional Tax breakdown, see Chapter 33: Professional Tax.
Warning: Selecting the wrong state for an office can result in incorrect Professional Tax deductions for all employees at that location. Double-check this field before saving.
Latitude and Longitude (GPS Coordinates)
GPS coordinates are used for attendance geo-tracking. When these are set, employees using the mobile check-in feature must be within a configurable radius of the office coordinates to successfully mark their attendance.
How to Find GPS Coordinates
- Open Google Maps in your browser.
- Search for your office address.
- Right-click on the exact location of your office on the map.
- The latitude and longitude are displayed in the context menu. Click to copy them.
- Enter the Latitude and Longitude values in the office form.
| Coordinate | Format | Example (Mumbai) |
|---|---|---|
| Latitude | Decimal degrees | 19.1136 |
| Longitude | Decimal degrees | 72.8697 |
Tip: Place the pin on the exact building or entrance of your office, not just the general area. A more precise location means the geo-fence works more accurately.
Note: If you do not set GPS coordinates, the geo-fencing feature will not be active for this office. Employees will be able to check in from any location. You can always add coordinates later.
PT Number (Professional Tax Registration Number)
If your organization is registered for Professional Tax in the state where this office is located, enter the PT registration number.
- This number appears on PT-related compliance reports.
- Each office in a different state may have a different PT registration number.
- If your organization is not required to deduct PT (e.g., office in Tamil Nadu), leave this field blank.
Editing an Office
- Navigate to Settings > Offices.
- Find the office you want to edit in the list.
- Click the Edit button (pencil icon) next to the office.
- Update the desired fields.
- Click Save or Update.
Warning: If you change an office's state, review the Professional Tax implications. Employees at this office may now fall under a different PT slab. Verify payroll configurations after changing the state.
Deleting an Office
- Navigate to Settings > Offices.
- Find the office you want to delete.
- Click the Delete button (trash icon) next to the office.
- Confirm the deletion when prompted.
Warning: You cannot delete an office that has employees assigned to it. Reassign all employees to a different office first, then delete the empty office.
Warning: Deleting an office is permanent. If you are closing an office but want to retain its historical data, consider renaming it to indicate closure (e.g., "Mumbai Office [Closed]") rather than deleting it.
Assigning Employees to Offices
Each employee is assigned to one primary office.
During Employee Creation
- Navigate to Employees > Add Employee.
- In the employee form, locate the Office dropdown field.
- Select the appropriate office.
- Complete the rest of the form and click Save.
Updating an Existing Employee's Office
- Navigate to Employees and find the employee.
- Click on the employee's name to open their profile.
- Click Edit on the employment details section.
- Change the Office dropdown selection.
- Click Save or Update.
Note: When an employee transfers to a different office (especially in a different state), review and update their Professional Tax configuration. The new office's state may have different PT slabs.
Bulk Office Assignment
For bulk reassignment (e.g., when closing or opening an office), use the bulk import/update feature described in Chapter 12: Bulk Import.
Multi-Office Features
Office-Specific Holidays
Different offices may observe different regional holidays. Udyamo HRMS allows you to assign holidays to specific offices.
- Navigate to Settings > Holidays (or the holiday management section).
- When adding or editing a holiday, look for the Applicable Offices field.
- Select which offices observe this holiday.
- Click Save.
| Holiday | Applicable Offices |
|---|---|
| Republic Day (Jan 26) | All offices (national holiday) |
| Ganesh Chaturthi | Mumbai Office, Pune Office |
| Pongal | Chennai Office |
| Durga Puja | Kolkata Office |
Note: National holidays typically apply to all offices. Regional and state holidays should be assigned only to offices in the relevant region. See Chapter 23: Holidays for detailed holiday management.
Attendance Geo-Fencing by Office
When GPS coordinates are configured for an office, you can enable geo-fenced attendance.
How it works:
- An employee attempts to check in using the mobile browser or app.
- The system reads the employee's current GPS position.
- The system compares the employee's position with their assigned office's coordinates.
- If the employee is within the configured radius (e.g., 200 meters), check-in succeeds.
- If the employee is outside the radius, check-in is blocked or flagged.
| Geo-Fence Setting | Description |
|---|---|
| Office coordinates | Latitude and longitude of the office |
| Radius | Maximum allowed distance from office (configurable) |
| Enforcement | Strict (block) or Flexible (allow with flag) |
Tip: For offices in large campuses or multi-building complexes, set a wider geo-fence radius to accommodate the actual area employees may be working from.
See Chapter 19: Location Tracking for detailed configuration of geo-fenced attendance.
Professional Tax by Office State
Professional Tax deductions are determined by the state of the employee's assigned office.
| Employee's Office | State | PT Applicable | Monthly Max |
|---|---|---|---|
| Mumbai Head Office | Maharashtra | Yes | Rs. 2,500 |
| Bangalore Tech Hub | Karnataka | Yes | Rs. 2,400 |
| Chennai Support Center | Tamil Nadu | No | N/A |
| Kolkata Sales Office | West Bengal | Yes | Rs. 2,500 |
Note: PT rates and slabs change from time to time based on state government notifications. See Chapter 33: Professional Tax for current rates and configuration details.
Office List Reference
The Offices list page displays the following information for each office.
| Column | Description |
|---|---|
| Office Name | The name assigned to the office |
| City | City where the office is located |
| State | State where the office is located |
| Employee Count | Number of employees assigned to this office |
| PT Number | Professional Tax registration number (if applicable) |
| Actions | Edit and Delete buttons |
Example Office Setup
Here is an example multi-office setup for an organization with offices across India.
| Office Name | City | State | Latitude | Longitude | PT Number |
|---|---|---|---|---|---|
| Mumbai - Head Office | Mumbai | Maharashtra | 19.0760 | 72.8777 | PTRC/MH/2023/000123 |
| Bangalore - Tech Center | Bengaluru | Karnataka | 12.9716 | 77.5946 | PTEC/KA/2023/000456 |
| Delhi - Sales Office | New Delhi | Delhi | 28.6139 | 77.2090 | |
| Chennai - Support Hub | Chennai | Tamil Nadu | 13.0827 | 80.2707 | |
| Pune - Development Center | Pune | Maharashtra | 18.5204 | 73.8567 | PTRC/MH/2023/000789 |
Note: Delhi does not have Professional Tax. Tamil Nadu also does not levy Professional Tax. The PT Number field is left blank for these offices.
Tips & Best Practices
Tip: Create all office locations before adding employees. This ensures the Office dropdown is populated when you fill in employee forms.
Tip: Name offices clearly enough that employees can identify their location from the name alone. Include city and area or building name if you have multiple offices.
Warning: GPS coordinates must be accurate for geo-fencing to work correctly. An error of even a few hundred meters in latitude/longitude can place the geo-fence boundary in the wrong location. Always verify coordinates using a mapping service.
Tip: If your organization opens a new office, create the office record in Udyamo HRMS before employees begin working there. This ensures attendance and payroll records are correct from day one.
Warning: When closing an office, reassign all employees to their new office before deleting the old one. This ensures a smooth transition with no data gaps in payroll or attendance.
Tip: For organizations with remote or work-from-home employees who do not report to a physical office, consider creating a virtual office record (e.g., "Remote - Work From Home") so these employees still have an office assignment. Set the state to the employee's home state for Professional Tax purposes.
Quick Reference
| Action | Navigation Path | Permission |
|---|---|---|
| View offices | Settings > Offices | Admin |
| Add office | Settings > Offices > Add Office | Admin |
| Edit office | Settings > Offices > Edit (pencil icon) | Admin |
| Delete office | Settings > Offices > Delete (trash icon) | Admin |
| Assign office to employee | Employees > [Employee] > Edit > Office | Admin, HR |
| Assign holiday to office | Settings > Holidays > Edit > Applicable Offices | Admin |
| Configure geo-fence radius | Settings > Attendance (or Offices) | Admin |
Work Week, Timezone & Fiscal Year
These foundational settings determine how Udyamo HRMS calculates working days, interprets timestamps, processes payroll cycles, and organizes financial data. Getting them right at the outset prevents cascading errors in attendance records, leave calculations, and payroll processing. This chapter covers work week configuration, timezone selection, date format preferences, pay schedule settings, and the fiscal year start month.
What You Will Learn
- How to configure the work week (working days and weekly offs)
- How to set your organization's timezone
- How to choose a date display format
- How to configure the pay schedule (pay day)
- How to set the fiscal year start month
- How each setting impacts payroll, leave, and attendance
Prerequisites
Required: You must be logged in with an Administrator role.
Required: Complete Chapter 5: Organization Profile & Branding before proceeding. The Organization settings page is where most of these configurations live.
Accessing These Settings
All settings covered in this chapter are on the Organization settings page.
- Log in to Udyamo HRMS.
- Click Settings in the navigation sidebar.
- Click Organization.
- Scroll to the relevant section for each setting.

Work Week Configuration
The work week defines which days of the week are working days and which are weekly offs (non-working days). This is one of the most important settings in the system.
What the Work Week Affects
| Feature | Impact |
|---|---|
| Attendance | Only working days appear in attendance reports; weekly offs are excluded from absent counts |
| Leave calculations | Leave days are counted only against working days (weekly offs are skipped) |
| Payroll | Working days in a month determine per-day salary calculation for LOP deductions |
| Holiday calendar | Holidays falling on weekly offs may not generate an additional day off |
| Reports | Attendance percentage and working-day counts are based on the configured work week |
Configuring the Work Week
- Navigate to Settings > Organization.
- Find the Work Week section.
- You will see a row of seven days: Monday through Sunday.
- For each day, mark it as a Working Day or Weekly Off.
- Click Save.
Common Work Week Patterns in India
| Pattern | Working Days | Weekly Offs | Common In |
|---|---|---|---|
| 5-day week | Monday - Friday | Saturday, Sunday | IT companies, MNCs |
| 6-day week | Monday - Saturday | Sunday | Manufacturing, retail, traditional firms |
| 5.5-day week | Monday - Friday full, Saturday half-day | Sunday | Some professional services firms |
| Alternate Saturday | Monday - Friday + alternate Saturdays | Sunday + alternate Saturdays | Government offices, banks |
Note: For the 5.5-day or alternate Saturday patterns, mark Saturday as a working day in the work week configuration. Manage the half-day or alternate pattern through shift and attendance policies. See Chapter 14: Creating & Assigning Shifts for more details.
Example Configuration
5-day work week:
| Day | Status |
|---|---|
| Monday | Working Day |
| Tuesday | Working Day |
| Wednesday | Working Day |
| Thursday | Working Day |
| Friday | Working Day |
| Saturday | Weekly Off |
| Sunday | Weekly Off |
6-day work week:
| Day | Status |
|---|---|
| Monday | Working Day |
| Tuesday | Working Day |
| Wednesday | Working Day |
| Thursday | Working Day |
| Friday | Working Day |
| Saturday | Working Day |
| Sunday | Weekly Off |
Warning: Changing the work week after employees have started recording attendance or taking leave can cause inconsistencies. The change applies going forward, but historical records are not recalculated. Plan your work week carefully before going live.
Tip: If different departments or offices follow different work week patterns (e.g., the factory works 6 days but the head office works 5 days), you may need to manage this through shift configurations rather than the global work week setting.
Timezone
The timezone setting ensures that all timestamps in Udyamo HRMS — check-in/check-out times, leave application dates, payroll processing dates — are interpreted correctly.
Setting the Timezone
- Navigate to Settings > Organization.
- Find the Timezone field.
- Select your timezone from the dropdown list.
- Click Save.
Common Timezones for Indian Organizations
| Timezone | UTC Offset | When to Use |
|---|---|---|
Asia/Kolkata | UTC +5:30 | All organizations operating in India (IST) |
Asia/Dubai | UTC +4:00 | Organizations with primary operations in UAE |
America/New_York | UTC -5:00 | US East Coast operations |
America/Los_Angeles | UTC -8:00 | US West Coast operations |
Europe/London | UTC +0:00 | UK operations |
Warning: Almost all Indian organizations should select
Asia/Kolkata(Indian Standard Time). Selecting the wrong timezone causes every timestamp in the system to be offset, making attendance records, leave dates, and payroll calculations incorrect.
What the Timezone Affects
| Feature | Impact |
|---|---|
| Attendance timestamps | Check-in and check-out times are recorded in the configured timezone |
| Shift timing | Shift start/end times reference this timezone |
| Leave dates | Leave start and end dates are interpreted in this timezone |
| Payroll dates | Pay period start/end and pay day are in this timezone |
| Notifications | Email and in-app notification timestamps |
| Reports | All date/time fields in reports |
Warning: Set the timezone before any employee records attendance or applies for leave. Changing the timezone after data has been recorded does not retroactively adjust existing timestamps, which can cause confusion.
Date Format
The date format setting controls how dates are displayed across the entire Udyamo HRMS interface, including reports, payslips, and employee-facing screens.
Selecting the Date Format
- Navigate to Settings > Organization.
- Find the Date Format field.
- Select your preferred format from the dropdown.
- Click Save.
Available Date Formats
| Format | Example (January 15, 2026) | Common Usage |
|---|---|---|
DD/MM/YYYY | 15/01/2026 | Most common in India |
MM/DD/YYYY | 01/15/2026 | US-style |
YYYY-MM-DD | 2026-01-15 | ISO 8601 standard |
DD-MMM-YYYY | 15-Jan-2026 | Readable, unambiguous |
DD.MM.YYYY | 15.01.2026 | European-style |
Tip: For Indian organizations,
DD/MM/YYYYorDD-MMM-YYYYare the most natural choices. TheDD-MMM-YYYYformat is particularly useful because it eliminates the day/month ambiguity that occurs with purely numeric formats.
What the Date Format Affects
- All date fields displayed in the user interface
- Dates shown on payslips (PDF and on-screen)
- Report headers and date columns
- Leave application and approval dates
- Employee profile dates (date of birth, date of joining)
Note: The date format is a display setting only. It does not affect how dates are stored internally. You can change it at any time without affecting existing data.
Pay Schedule
The pay schedule determines the day of the month on which employees are paid. This setting is used by the payroll module to determine pay period boundaries and payment dates.
Configuring the Pay Schedule
- Navigate to Settings > Organization.
- Find the Pay Schedule or Pay Day field.
- Enter the day of the month (1-30) on which salaries are typically disbursed.
- Click Save.
Pay Day Options
| Pay Day | Description | Common Usage |
|---|---|---|
| 1 | Salary paid on the 1st of the following month | Common in many Indian firms |
| 7 | Salary paid by the 7th of the following month | Allows time for attendance processing |
| 15 | Mid-month payment | Rare; sometimes used for bi-monthly schedules |
| 25 | Salary paid before month-end | Early payment preference |
| 28 | End-of-month (approximate) | Government and public sector |
| 30 | Last business day | Some organizations |
How the Pay Schedule Affects Payroll
| Aspect | Impact |
|---|---|
| Payrun initiation | The system uses the pay schedule to suggest when to start the payrun |
| Pay period | Defines the calendar month for which salaries are calculated |
| Payslip dates | The payment date shown on payslips |
| Bank advice | The payment date used in bank advice files |
| Employee expectations | Employees expect to see their salary credited on this date |
Tip: Choose a pay day that gives your finance team enough time to process attendance, calculate deductions, and run the payroll after the month ends. A pay day of the 5th or 7th of the following month is a practical choice for most organizations.
Warning: If you change the pay day mid-cycle, communicate the change to all employees well in advance. Unexpected changes to salary payment dates can cause financial hardship for employees.
Fiscal Year Start Month
The fiscal year start month defines the beginning of your organization's financial year cycle. This is a critical setting that affects leave accruals, payroll summaries, tax calculations, and all financial reports.
Setting the Fiscal Year Start Month
- Navigate to Settings > Organization.
- Find the Fiscal Start Month field.
- Select the appropriate month from the dropdown.
- Click Save.
Common Fiscal Year Configurations
| Fiscal Start Month | Fiscal Year Period | Used By |
|---|---|---|
| April | April 1 - March 31 | India (standard financial year), most Indian companies |
| January | January 1 - December 31 | Calendar year; some MNCs operating in India |
| October | October 1 - September 30 | US federal government fiscal year; rare in India |
Warning: For Indian statutory compliance (income tax, EPF, ESIC), the fiscal year is April to March. Even if your internal reporting uses a different cycle, ensure that statutory reports align with the Indian financial year. Set the fiscal start month to April unless you have a specific reason not to.
What the Fiscal Year Affects
| Feature | Impact |
|---|---|
| Leave accruals | Annual leave balances reset at the start of the fiscal year |
| Leave carry-over | Carry-over limits are evaluated at fiscal year boundary |
| TDS calculations | Tax deducted at source is computed over the fiscal year |
| Payroll summaries | Annual payroll reports are grouped by fiscal year |
| Form 16 | Form 16 generation follows the fiscal year |
| EPF/ESIC reports | Annual compliance reports follow the fiscal year |
| Financial reports | All financial summaries use the fiscal year |
Warning: Changing the fiscal year start month after the system has been in use for a full year can cause significant complications with leave balances, tax calculations, and compliance reports. Set this correctly during initial setup and avoid changing it.
Fiscal Year and Leave Balance Example
If the fiscal year starts in April and an employee's annual Earned Leave entitlement is 18 days:
| Month | Accrual (1.5/month) | Cumulative Balance |
|---|---|---|
| April | 1.5 | 1.5 |
| May | 1.5 | 3.0 |
| June | 1.5 | 4.5 |
| July | 1.5 | 6.0 |
| August | 1.5 | 7.5 |
| September | 1.5 | 9.0 |
| October | 1.5 | 10.5 |
| November | 1.5 | 12.0 |
| December | 1.5 | 13.5 |
| January | 1.5 | 15.0 |
| February | 1.5 | 16.5 |
| March | 1.5 | 18.0 |
At the start of the next fiscal year (April), the leave balance is either carried over (up to the carry-over limit) or reset, depending on the leave policy configuration.
Settings Summary
All settings covered in this chapter are found on the same Organization settings page. Here is a consolidated view.
| Setting | Field Location | Default / Common Value | Impact Level |
|---|---|---|---|
| Work Week | Settings > Organization > Work Week | 5-day or 6-day week | High — affects attendance, leave, payroll |
| Timezone | Settings > Organization > Timezone | Asia/Kolkata | High — affects all timestamps |
| Date Format | Settings > Organization > Date Format | DD/MM/YYYY | Low — display only |
| Pay Day | Settings > Organization > Pay Schedule | 1-7 of next month | Medium — affects payroll timing |
| Fiscal Start Month | Settings > Organization > Fiscal Start Month | April | High — affects leave, tax, reports |

Tips & Best Practices
Tip: Configure all five settings in this chapter during your first session. They take only a few minutes to set and are foundational to everything else in the system.
Tip: If your organization follows Indian labor law and tax regulations, use these values: Work Week per your actual schedule, Timezone =
Asia/Kolkata, Date Format =DD/MM/YYYYorDD-MMM-YYYY, Fiscal Start Month = April.
Warning: Do not experiment with these settings in your production organization. If you need to test different configurations, create a separate test organization.
Tip: Document your chosen settings and the rationale behind them. When a new administrator takes over, they will need to understand why the system is configured the way it is.
Warning: The work week, timezone, and fiscal year settings are best configured once and left unchanged. If business requirements force a change, plan the transition carefully and communicate it to all stakeholders.
Tip: After saving these settings, verify them by checking a few areas of the system: open the attendance calendar to confirm working days are marked correctly, check that dates display in the expected format, and confirm the fiscal year period in any available report.
Quick Reference
| Action | Navigation Path | Permission |
|---|---|---|
| Set work week | Settings > Organization > Work Week | Admin |
| Set timezone | Settings > Organization > Timezone | Admin |
| Set date format | Settings > Organization > Date Format | Admin |
| Set pay day | Settings > Organization > Pay Schedule | Admin |
| Set fiscal start month | Settings > Organization > Fiscal Start Month | Admin |
| Verify settings | Attendance Calendar, Reports, Payslips | Any role (view) |
Roles & Permissions
Roles and permissions control who can see what and who can do what within Udyamo HRMS. A well-designed role structure protects sensitive data such as salary information, limits accidental changes, and ensures that approval workflows function correctly. This chapter covers default roles, custom role creation, permission categories, and best practices for access control.
What You Will Learn
- How the role and permission system works in Udyamo HRMS
- What default roles are available and what each can do
- How to create custom roles with specific permissions
- How to assign roles to employees
- How to design a permission matrix for your organization
- Best practices for role management and the principle of least privilege
Prerequisites
Required: You must be logged in with an Administrator role to create, edit, or assign roles.
Required: Complete Chapter 6: Departments & Designations and Chapter 7: Offices & Locations before configuring roles. Understanding your organizational structure helps you design appropriate access levels.
How Roles and Permissions Work
Udyamo HRMS uses a Role-Based Access Control (RBAC) model. Here is how the components relate:
| Component | Description |
|---|---|
| Permission | A specific action on a specific module (e.g., "View Employee", "Create Leave Request", "Approve Payrun") |
| Role | A named collection of permissions (e.g., "HR Manager" includes permissions to view employees, manage leave, run payroll) |
| Employee Role (Assignment) | The link between an employee and a role, granting that employee all permissions in the role |
An employee can be assigned one or more roles. The effective permissions are the union of all permissions from all assigned roles.

Navigating to Roles
- Log in to Udyamo HRMS.
- Click Settings in the navigation sidebar.
- Click Roles.
The Roles page displays a list of all roles in your organization, both default and custom.

Default Roles
Udyamo HRMS ships with four default roles that cover the most common organizational structures. These roles are pre-configured with sensible permissions.
Admin
The Admin role provides unrestricted access to all features and settings.
| Permission Area | Access Level |
|---|---|
| Organization Settings | Full (create, read, update, delete) |
| Employee Management | Full |
| Attendance | Full |
| Leave Management | Full |
| Payroll | Full |
| Loans / Advances / Reimbursements | Full |
| Reports | Full |
| Roles & Permissions | Full |
| Feature Toggles | Full |
Warning: The Admin role should be assigned sparingly. Only organization owners and senior IT/HR personnel should have Admin access. Every additional admin increases the risk of accidental misconfiguration.
HR
The HR role provides broad access to employee management and HR operations, but excludes system configuration that belongs to administrators.
| Permission Area | Access Level |
|---|---|
| Organization Settings | Read only |
| Employee Management | Full (create, read, update) |
| Attendance | Full (manage for all employees) |
| Leave Management | Full (manage for all employees) |
| Payroll | Full (process payroll, view payslips) |
| Loans / Advances / Reimbursements | Full (manage for all employees) |
| Reports | Full (generate and view all reports) |
| Roles & Permissions | Read only |
| Feature Toggles | No access |
Manager
The Manager role provides access to team-level data. Managers can view and approve requests from their direct reports but cannot access data from other teams.
| Permission Area | Access Level |
|---|---|
| Organization Settings | No access |
| Employee Management | Read (own team only) |
| Attendance | Read (own team); Approve attendance corrections |
| Leave Management | Read (own team); Approve/reject leave requests |
| Payroll | No access (or read own payslip only) |
| Loans / Advances / Reimbursements | Approve requests from team members |
| Reports | Team-level reports only |
| Roles & Permissions | No access |
Employee
The Employee role is the default self-service role with access only to the user's own data.
| Permission Area | Access Level |
|---|---|
| Own Profile | Read and update (limited fields) |
| Attendance | Check in/out, view own records |
| Leave | Apply for leave, view own balances |
| Payroll | View own payslips |
| Loans / Advances | Submit requests |
| Reimbursements | Submit claims, view own claims |
| Reports | No access |
| Settings | No access |
Permission Categories
Permissions in Udyamo HRMS are organized by module. Within each module, permissions are broken down by action type.
Module-Based Permission Categories
| Category | Description | Examples |
|---|---|---|
| Employees | Managing employee records | View employee, Create employee, Update employee, Delete employee |
| Attendance | Attendance tracking and management | View attendance, Mark attendance, Approve corrections, Export attendance |
| Leave | Leave request management | View leave, Apply for leave, Approve leave, Configure leave policies |
| Payroll | Salary and payrun management | View payslips, Run payroll, Approve payrun, Configure salary components |
| Loans | Loan management | View loans, Create loan, Approve loan, Process repayments |
| Advances | Salary advance management | View advances, Request advance, Approve advance |
| Reimbursements | Expense claim management | View claims, Submit claims, Approve claims |
| Reports | Report generation and viewing | View reports, Export reports |
| Settings | System configuration | View settings, Modify settings |
| Announcements | Company announcements | View announcements, Create announcements |
Action-Based Permissions
Within each module, the following action types are available:
| Action | Description | Typical Roles |
|---|---|---|
| View | Read access to data | All roles |
| Create | Ability to add new records | Admin, HR |
| Update | Ability to modify existing records | Admin, HR |
| Delete | Ability to remove records | Admin only (in most cases) |
| Approve | Ability to approve pending requests | Admin, HR, Manager |
| Export | Ability to download data as CSV/PDF | Admin, HR |
| Configure | Ability to change settings and policies | Admin |
Creating a Custom Role
When the default roles do not match your organization's needs, create custom roles.
Step-by-Step: Create a Custom Role
- Navigate to Settings > Roles.
- Click the Add Role button.
- Enter a Role Name (e.g., "Finance Manager", "Shift Supervisor", "Department Head").
- In the permissions section, you will see a matrix of modules and actions.
- Check or uncheck each permission as needed.
- Click Save or Create.

Role Name Guidelines
| Practice | Good Example | Avoid |
|---|---|---|
| Descriptive name | "Finance Manager" | "Role 1" |
| Reflects function | "Shift Supervisor" | "Level 3 User" |
| Concise | "Payroll Admin" | "Person Who Processes Payroll" |
Example Custom Roles
Here are common custom roles that organizations create.
Finance Manager
Access to payroll and financial reports, but not employee personal data.
| Module | Permissions |
|---|---|
| Employees | View (limited to name, department, salary details) |
| Payroll | View, Run payroll, Approve payrun, Export |
| Statutory Compliance | View, Configure |
| Reports | View financial reports, Export |
| Everything else | No access |
Shift Supervisor
Manages attendance for a team but has no access to leave, payroll, or employee management.
| Module | Permissions |
|---|---|
| Attendance | View (own team), Mark attendance, Approve corrections |
| Employees | View (own team, limited fields) |
| Everything else | No access |
Department Head
Extended manager permissions with access to department-level reports.
| Module | Permissions |
|---|---|
| Employees | View (own department) |
| Attendance | View (own department), Approve corrections |
| Leave | View (own department), Approve/reject |
| Reports | Department-level reports |
| Announcements | Create department announcements |
| Everything else | No access |
Recruiter
Access to add new employees and send invitations, but no access to payroll or attendance.
| Module | Permissions |
|---|---|
| Employees | View, Create |
| Everything else | No access |
Editing a Role
- Navigate to Settings > Roles.
- Find the role you want to edit in the list.
- Click the Edit button (pencil icon).
- Modify the role name or adjust permissions.
- Click Save or Update.
Warning: Editing a role's permissions affects all employees currently assigned to that role. The changes take effect immediately. Review the employee list for the role before making changes.
Note: Default roles (Admin, HR, Manager, Employee) may have restrictions on editing. Some core permissions on default roles cannot be removed to ensure system stability.
Deleting a Role
- Navigate to Settings > Roles.
- Find the role you want to delete.
- Click the Delete button (trash icon).
- Confirm the deletion.
Warning: You cannot delete a role that has employees assigned to it. Reassign those employees to a different role first.
Warning: Default roles cannot be deleted. Only custom roles can be removed.
Assigning Roles to Employees
Roles are assigned to employees through the employee profile. This creates an EmployeeRole record linking the employee to the role.
Assigning a Role During Employee Creation
- Navigate to Employees > Add Employee.
- In the employee form, locate the Role field.
- Select the appropriate role from the dropdown.
- Complete the rest of the form and click Save.
Changing an Employee's Role
- Navigate to Employees and find the employee.
- Click on the employee's name to open their profile.
- Click Edit on the role or access section.
- Change the Role dropdown selection.
- Click Save or Update.
Assigning Multiple Roles
An employee can hold multiple roles simultaneously. The effective permissions are the combination (union) of all assigned roles.
| Employee | Roles | Effective Access |
|---|---|---|
| Priya Sharma | HR + Payroll Admin | All HR permissions + all payroll permissions |
| Rahul Verma | Manager + Shift Supervisor | Team management + attendance management |
| Anita Desai | Employee | Self-service only |
Tip: Use multiple roles when an employee's responsibilities span two distinct areas. This is cleaner than creating a new combined role for every unique combination.
Warning: Be careful when assigning multiple roles. Permissions are additive — there is no way to explicitly deny a permission through a second role. If one role grants "View all employee salaries" and another grants limited access, the broader permission takes effect.
Permission Matrix
The following table shows a typical permission matrix for default roles. Use this as a starting point and adjust for your organization.
Employee Management Permissions
| Permission | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| View all employees | Yes | Yes | Team only | Own only |
| Create employee | Yes | Yes | No | No |
| Update employee | Yes | Yes | No | Own profile (limited) |
| Delete employee | Yes | No | No | No |
| Send invitation | Yes | Yes | No | No |
| View salary details | Yes | Yes | No | Own only |
Attendance Permissions
| Permission | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| View all attendance | Yes | Yes | Team only | Own only |
| Mark attendance (for others) | Yes | Yes | No | No |
| Mark own attendance | Yes | Yes | Yes | Yes |
| Approve corrections | Yes | Yes | Team only | No |
| Export attendance | Yes | Yes | No | No |
| Configure shifts | Yes | Yes | No | No |
Leave Permissions
| Permission | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| View all leave requests | Yes | Yes | Team only | Own only |
| Apply for leave | Yes | Yes | Yes | Yes |
| Approve/reject leave | Yes | Yes | Team only | No |
| Configure leave policies | Yes | No | No | No |
| View all leave balances | Yes | Yes | Team only | Own only |
Payroll Permissions
| Permission | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| View all payslips | Yes | Yes | No | Own only |
| Run payroll | Yes | Yes | No | No |
| Approve payrun | Yes | No | No | No |
| Configure salary components | Yes | No | No | No |
| Export payroll data | Yes | Yes | No | No |
Settings Permissions
| Permission | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| View settings | Yes | Yes (limited) | No | No |
| Modify settings | Yes | No | No | No |
| Manage roles | Yes | No | No | No |
| Manage feature toggles | Yes | No | No | No |

Designing Roles for Your Organization
The Principle of Least Privilege
Grant each role only the permissions it needs to perform its function. No more, no less.
| Principle | Explanation |
|---|---|
| Start minimal | Begin with the Employee role and add permissions as needed |
| Function-specific | Each role should map to a specific job function |
| Review regularly | Audit role assignments quarterly to remove unnecessary access |
| Separate duties | Ensure no single role can both create and approve sensitive transactions |
Separation of Duties Examples
| Sensitive Operation | Should Be Separated Between |
|---|---|
| Creating employees + Approving payroll | HR role (creates employees) + Admin/Finance (approves payroll) |
| Submitting reimbursement + Approving reimbursement | Employee (submits) + Manager (approves) |
| Running payroll + Disbursing funds | Payroll Admin (runs payroll) + Finance (processes bank transfer) |
Role Design Process
- List all job functions in your organization that interact with HRMS.
- Map each function to required permissions (what does this person need to see and do?).
- Check if a default role matches. If yes, use the default role.
- Create custom roles for functions that do not match any default role.
- Assign roles to employees based on their job function, not their seniority.
- Test each role by logging in as an employee with that role and verifying access.
Auditing Role Assignments
Periodically review who has which roles to ensure the access structure remains correct.
When to Audit
| Trigger | Action |
|---|---|
| Employee promotion or transfer | Review and update their role |
| Employee departure | Remove all roles (done automatically if the employee is offboarded) |
| New module enabled | Review which roles need access to the new module |
| Organizational restructuring | Review all role assignments against new structure |
| Quarterly schedule | Routine audit of all admin and HR role holders |
Audit Checklist
| Check | Action If Issue Found |
|---|---|
| Number of Admin users | Reduce to minimum necessary |
| Inactive users with active roles | Deactivate or remove roles |
| Roles with unused permissions | Tighten permissions |
| Employees with multiple roles | Verify each role is still needed |
| Custom roles not assigned to anyone | Consider deleting unused roles |
Troubleshooting Permission Issues
| Problem | Possible Cause | Solution |
|---|---|---|
| Employee cannot see a module | Module feature toggle is off, or role lacks permission | Check feature toggle in Settings > Organization; check role permissions |
| Employee cannot approve leave | Role does not include "Approve leave" permission | Edit the role and add the approval permission |
| Manager sees all employees, not just their team | Role grants organization-wide view instead of team view | Check the role's scope settings; use the Manager default role which limits to team |
| HR cannot run payroll | HR role may not include payroll permissions by default | Edit the HR role to add payroll permissions, or create a combined HR+Payroll role |
| New employee has no access | Role not assigned during employee creation | Edit the employee profile and assign the appropriate role |
Tips & Best Practices
Tip: Start with the default roles and customize only when necessary. The four default roles cover the needs of most small and medium organizations.
Tip: Name custom roles after job functions, not people. "Payroll Manager" is better than "Priya's Role" because the role persists even if the person changes.
Warning: Avoid creating an excessive number of custom roles. Each additional role increases administrative complexity. If you find yourself creating more than 8-10 roles, consider whether some can be consolidated.
Tip: Test custom roles before assigning them to employees in production. Log in as a user with the new role (or use a test account) and verify that the permissions work as expected.
Warning: Never grant Admin access as a quick fix for a permission issue. Instead, identify the specific permission the user needs and add it to their role.
Tip: Document your role structure — which roles exist, what each is for, and who holds each role. Store this documentation outside of Udyamo HRMS (e.g., in a shared internal document) so it is accessible even if HRMS access is disrupted.
Tip: When an employee changes departments or positions, review their role assignment. A developer promoted to engineering manager may need the Manager role in addition to (or instead of) the Employee role.
Quick Reference
| Action | Navigation Path | Permission |
|---|---|---|
| View all roles | Settings > Roles | Admin |
| Create custom role | Settings > Roles > Add Role | Admin |
| Edit role permissions | Settings > Roles > Edit (pencil icon) | Admin |
| Delete custom role | Settings > Roles > Delete (trash icon) | Admin |
| Assign role to employee | Employees > [Employee] > Edit > Role | Admin |
| View own role/permissions | Profile > My Profile | All users |
| Audit role assignments | Settings > Roles > View employees per role | Admin |
Adding Your First Employee
Once your organization structure is in place — departments, designations, offices, and roles — you are ready to add employees to Udyamo HRMS. This chapter walks through creating an employee record, understanding each required field, and what happens after you save.
Prerequisites
Required: Before adding employees, complete the following setup steps:
- At least one department exists (see Departments & Designations)
- At least one designation exists within that department
- At least one office exists (see Offices & Locations)
- Your work week and timezone are configured (see Work Week, Timezone & Fiscal Year)
Navigating to the Add Employee Form
- From the sidebar, click Employees.
- On the Employees list page, click the Add New button in the top-right corner.
- The Add Employee form opens.

Required Fields
The Add Employee form contains several sections. The table below lists every required field and what to enter.
| Field | Description | Example |
|---|---|---|
| First Name | Employee's legal first name | Priya |
| Last Name | Employee's legal last name | Sharma |
| Work email address. Must be unique across the organization. Used for login and invitation. | [email protected] | |
| Employee ID | A unique identifier you assign. Can follow any convention (numeric, alphanumeric). | EMP-001 |
| Department | Select from your configured departments. | Engineering |
| Designation | Select from designations available under the chosen department. | Software Engineer |
| Office | The primary office where this employee is based. | Mumbai HQ |
| Date of Joining | The date the employee officially starts. Affects leave accruals, payroll proration, and attendance tracking. | 2025-04-01 |
| Worker Type | Choose Employee (regular, on payroll) or Contractor (external, may not be on payroll). | Employee |
| Annual CTC | The employee's annual cost-to-company in INR. Used for salary structure calculations. | 600000 |
| Status | The current employment status. | Active |
Tip: The Employee ID field does not auto-generate. Establish a consistent naming convention (for example,
EMP-001,ENG-042, or2025-0001) before you start adding employees in bulk.
Understanding Worker Type
Udyamo HRMS supports two worker types through the worker_type field on the OrganizationEmployee model:
| Worker Type | Description | Payroll | Statutory Compliance |
|---|---|---|---|
| Employee | A regular, full-time or part-time employee on the organization's payroll. | Included in payrun | EPF, ESIC, PT, TDS apply |
| Contractor | An external worker, consultant, or freelancer. May receive payments outside the standard payrun. | Excluded by default | TDS may apply; EPF/ESIC typically do not |
Warning: Changing worker type after payroll has been processed for an employee may cause discrepancies. Set the correct type at the time of creation.
Understanding Employee Status
The Status field controls whether an employee appears in active lists, payroll runs, and attendance tracking.
| Status | Meaning |
|---|---|
| Active | Currently employed. Included in payroll, attendance, and leave calculations. |
| Inactive | Temporarily disabled. Employee cannot log in. Excluded from payroll runs. |
| Terminated | Employment has ended. Record is retained for historical reporting but excluded from all active processes. |
| On Notice | Employee has resigned and is serving the notice period. Still included in payroll and attendance. |
Tip: New employees should always be added with the Active status. Other statuses are typically set during the employee lifecycle (resignation, termination, etc.).
Filling Out the Form — Step by Step
Step 1: Enter Basic Information
- Type the employee's First Name and Last Name.
- Enter their Email address. This must be a valid, unique email.
- Enter the Employee ID following your organization's convention.

Step 2: Assign Department and Designation
- From the Department dropdown, select the appropriate department.
- The Designation dropdown will filter to show only designations under that department. Select one.
Tip: If the department or designation you need does not exist, open Settings > Organization > Departments in a new tab to create it, then return to this form and refresh the dropdown.
Step 3: Assign Office
- From the Office dropdown, select the employee's primary office location.
- If the employee works across multiple offices, you can assign additional offices later through the employee profile (using the OfficeEmployee association).
Step 4: Set Employment Details
- Select the Date of Joining using the date picker.
- Choose the Worker Type — Employee or Contractor.
- Enter the Annual CTC in INR (whole numbers, no decimals needed).
- Confirm the Status is set to Active.

Step 5: Save the Record
- Review all fields for accuracy.
- Click the Save button.
- A success message confirms the employee has been created.
What Happens After You Save
When you save a new employee record, Udyamo HRMS performs several actions:
- Employee Record Created — The employee appears in the Employees list with the status you selected.
- OrganizationEmployee Association — The system creates the link between the employee and your organization, storing the employee ID, date of joining, CTC, worker type, and status.
- OfficeEmployee Assignment — The employee is assigned to the selected office.
- Invitation Email Queued — If the employee has a valid email, an invitation is automatically queued. The employee will receive an email with a secure, token-based link to set up their password and access the self-service portal.
Tip: The invitation uses the Devise Invitable gem. The invitation token has an expiration period. If the employee does not accept in time, you can resend the invitation from their profile. See Inviting Employees & Self-Service for details.
Admin-Created vs. Self-Registered Employees
| Aspect | Admin-Created | Self-Registered |
|---|---|---|
| Who initiates | HR administrator adds the employee through the Add Employee form | Employee signs up using a registration link (if enabled) |
| Employee ID | Assigned by admin at creation time | May be assigned later by admin |
| Department & Designation | Set by admin | May need to be assigned later by admin |
| CTC & Salary | Set by admin | Must be set by admin after registration |
| Invitation | Sent automatically upon creation | Not applicable — employee already has credentials |
| Profile completeness | All required fields filled at creation | May have incomplete profile requiring admin follow-up |
Warning: Self-registration, if enabled, requires careful follow-up to ensure all employment details (department, designation, CTC, statutory numbers) are completed by an administrator.
Verifying the New Employee
After saving, verify the employee record:
- Navigate to Employees from the sidebar.
- Locate the new employee in the list. Use the search bar or filter by department.
- Click the employee's name to open their profile.
- Confirm all details are correct: name, email, employee ID, department, designation, office, date of joining, worker type, CTC, and status.

Adding Statutory Details
After creating the employee, you should add their statutory identifiers. Navigate to the employee's profile and enter:
| Field | Description | Format |
|---|---|---|
| EPF Number | Employees' Provident Fund member ID | State/Office/Establishment/Extension/Account (e.g., MH/BOM/12345/000/0001234) |
| ESIC Number | Employees' State Insurance Corporation number | 17-digit numeric |
| UAN Number | Universal Account Number for EPF | 12-digit numeric |
These fields are stored on the OrganizationEmployee model and are required for statutory compliance and payroll processing. See Employee Profiles for full details.
Common Errors and Solutions
| Error Message | Cause | Solution |
|---|---|---|
| "Email has already been taken" | Another employee in the organization has the same email | Use a unique email address for each employee |
| "Employee ID has already been taken" | The employee ID is not unique within the organization | Choose a different employee ID |
| "Department is required" | No department was selected | Select a department from the dropdown |
| "Date of Joining cannot be blank" | The date of joining field was left empty | Select a valid date |
| "Annual CTC must be greater than 0" | CTC was left blank or set to zero | Enter a positive value for the annual CTC |
Next Steps
After adding your first employee:
- Complete their profile with personal details, bank information, and documents — see Employee Profiles
- Add more employees individually or use Bulk Import for large teams
- Send invitations so employees can access the self-service portal — see Inviting Employees & Self-Service
Employee Profiles — Personal & Bank Details
Every employee in Udyamo HRMS has a comprehensive profile that consolidates personal information, bank details, statutory identifiers, and uploaded documents. This chapter covers viewing, editing, and managing employee profiles from both the administrator and employee perspectives.
Prerequisites
Required: The employee record must already exist in the system. See Adding Your First Employee if you have not yet created an employee.
Navigating to an Employee Profile
- From the sidebar, click Employees.
- On the Employees list page, locate the employee using the search bar or department filter.
- Click the employee's name to open their profile.
The profile page is organized into multiple sections, each accessible via tabs or scrollable sections on the page.

Profile Sections Overview
| Section | Data Stored | Model |
|---|---|---|
| Basic Information | Name, email, employee ID, department, designation, office, date of joining, worker type, CTC, status | Employee, OrganizationEmployee |
| Personal Details | Date of birth, gender, marital status, Aadhar number, PAN, blood group, address, emergency contact | PersonalDetail |
| Bank Details | Bank name, branch, account number, IFSC code, PAN number | BankDetail |
| Statutory Details | EPF number, ESIC number, UAN number | OrganizationEmployee |
| Profile Photo | Employee photograph | Profile |
| Documents | Uploaded identity proofs, offer letters, and other HR documents | Profile attachments |
Personal Details
The PersonalDetail model stores all personal and demographic information for an employee.
Viewing Personal Details
- Open the employee's profile.
- Navigate to the Personal Details tab or section.
- All filled fields are displayed in a read-only format.
Editing Personal Details
- On the Personal Details section, click the Edit button.
- Update the relevant fields.
- Click Save.
Personal Details Fields
| Field | Description | Required | Format |
|---|---|---|---|
| Date of Birth | Employee's date of birth | Yes | YYYY-MM-DD |
| Gender | Male, Female, or Other | Yes | Dropdown |
| Marital Status | Single, Married, Divorced, Widowed | No | Dropdown |
| Aadhar Number | 12-digit Aadhaar unique identity number | Yes (for statutory) | 1234 5678 9012 |
| PAN | Permanent Account Number for income tax | Yes (for payroll) | ABCDE1234F |
| Blood Group | Employee's blood group | No | A+, B-, O+, etc. |
| Father's Name | Father's full name (required for some statutory forms) | No | Text |
| Nationality | Country of citizenship | No | Dropdown |
Warning: The Aadhar Number is stored as an encrypted field on the Employee model for security. Ensure you enter the correct 12-digit number, as it is used for statutory filings.

Address Information
Current Address
| Field | Description |
|---|---|
| Address Line 1 | Street address, house/flat number |
| Address Line 2 | Locality, landmark |
| City | City or town |
| State | State or union territory |
| PIN Code | 6-digit postal code |
| Country | Country (defaults to India) |
Permanent Address
The same set of fields is available for the permanent address. A checkbox option "Same as current address" copies the current address fields to the permanent address fields.
Tip: Accurate address information is required for statutory documents like Form 16 and EPF nomination forms. Ensure employees verify their addresses.
Emergency Contact
| Field | Description |
|---|---|
| Contact Name | Name of the emergency contact person |
| Relationship | Relationship to the employee (Spouse, Parent, Sibling, etc.) |
| Phone Number | Contact phone number |
| Contact email address (optional) |
Tip: Encourage all employees to fill in emergency contact details during onboarding. This information is critical for workplace safety compliance.
Bank Details
Bank details are stored in the BankDetail model and are essential for salary disbursement.
Viewing Bank Details
- Open the employee's profile.
- Navigate to the Bank Details tab or section.
Editing Bank Details
- Click the Edit button on the Bank Details section.
- Fill in or update the fields.
- Click Save.
Bank Details Fields
| Field | Description | Required | Format |
|---|---|---|---|
| Bank Name | Name of the bank | Yes | Text (e.g., State Bank of India) |
| Branch Name | Branch where the account is held | Yes | Text (e.g., Andheri West) |
| Account Number | Bank account number | Yes | Numeric (9-18 digits) |
| Confirm Account Number | Re-enter account number for verification | Yes | Must match Account Number |
| IFSC Code | Indian Financial System Code for the branch | Yes | 11 characters (e.g., SBIN0001234) |
| PAN Number | PAN linked to the bank account | Yes | ABCDE1234F |
| Account Type | Savings or Current | No | Dropdown |
Warning: Incorrect bank details will cause salary transfer failures. Always verify the IFSC Code and Account Number before running payroll. The IFSC code can be validated at https://ifsc.bankifsccode.com.

Statutory Details
Statutory identifiers are stored on the OrganizationEmployee model and are required for Indian statutory compliance.
Statutory Fields
| Field | Description | Used For | Format |
|---|---|---|---|
| EPF Number | Employee's Provident Fund member ID | Monthly EPF contributions, EPF returns | State/Office/Estab/Ext/Account |
| ESIC Number | Employee State Insurance number | ESIC contributions and claims | 17-digit numeric |
| UAN Number | Universal Account Number | Links EPF accounts across employers | 12-digit numeric |
When to Enter Statutory Details
- New employees with existing UAN — Enter the UAN immediately so EPF contributions are linked to their existing account.
- New employees without UAN — Leave blank initially. After registering the employee with EPFO, enter the allotted UAN.
- ESIC — Required only if the employee's gross salary is at or below the ESIC wage ceiling (currently INR 21,000/month).
Tip: EPF and ESIC numbers are critical for payroll processing. Incomplete statutory details will generate warnings during the payrun. See EPF and ESIC for detailed compliance setup.
Profile Photo
Uploading a Profile Photo
- Open the employee's profile.
- Click the photo placeholder or the Upload Photo button near the employee's name.
- Select an image file (JPG, PNG). Recommended size: 400x400 pixels, maximum 2 MB.
- The photo uploads and displays immediately.
Tip: Profile photos are also used in the attendance calendar view and organizational charts, making it easier for managers to identify team members.
Document Uploads
Udyamo HRMS allows attaching documents to an employee's profile for record-keeping.
Supported Document Types
| Document | Purpose |
|---|---|
| Aadhar Card | Identity verification |
| PAN Card | Tax identification |
| Passport | Identity and travel document |
| Offer Letter | Employment offer record |
| Appointment Letter | Formal appointment document |
| Educational Certificates | Qualification verification |
| Previous Employment Letters | Experience verification |
| Bank Passbook / Cancelled Cheque | Bank account verification |
Uploading a Document
- Open the employee's profile.
- Navigate to the Documents section.
- Click Upload Document.
- Select the Document Type from the dropdown.
- Choose the file from your computer. Supported formats: PDF, JPG, PNG. Maximum size: 5 MB per file.
- Click Upload.

Warning: Documents may contain sensitive personal information. Access to employee documents is restricted based on the role and permissions configured in Roles & Permissions. Only administrators and the employee themselves can view uploaded documents by default.
Self-Service: Employees Updating Their Own Details
Employees who have accepted their invitation and logged in to the self-service portal can update certain profile fields themselves.
What Employees Can Edit
| Section | Employee Can Edit | Requires Admin Approval |
|---|---|---|
| Personal details (address, emergency contact, blood group) | Yes | No |
| Bank details | Yes | Yes (admin reviews before payroll uses new details) |
| Profile photo | Yes | No |
| Documents | Yes (upload) | No |
| Department, designation | No | N/A — admin only |
| CTC, salary structure | No | N/A — admin only |
| Statutory numbers (EPF, ESIC, UAN) | No | N/A — admin only |
How Self-Service Editing Works
- The employee logs in to Udyamo HRMS.
- Clicks their profile icon or navigates to My Profile.
- Edits the allowed fields.
- Clicks Save.
- For bank detail changes, the update is flagged for admin review before it takes effect in payroll.
Tip: Encouraging employees to maintain their own profiles reduces the administrative burden on HR teams and ensures data accuracy.
Multi-Office Assignment
An employee can be assigned to multiple offices through the OfficeEmployee association.
Assigning Additional Offices
- Open the employee's profile.
- Navigate to the Office Assignment section.
- Click Add Office.
- Select the additional office from the dropdown.
- Click Save.
The employee's primary office remains the one set during creation. Additional offices allow the employee to check in from those locations when location tracking is enabled.
Viewing Profile Change History
Udyamo HRMS logs changes to critical employee fields for audit purposes.
- Open the employee's profile.
- Navigate to the Activity Log or Change History section.
- View a chronological list of changes with timestamps, the field changed, old value, new value, and who made the change.
This is particularly useful for tracking salary revisions, status changes, and bank detail updates.
Common Errors and Solutions
| Error | Cause | Solution |
|---|---|---|
| "Aadhar number is invalid" | The Aadhar number is not exactly 12 digits | Enter a valid 12-digit Aadhar number without spaces |
| "PAN format is invalid" | PAN does not match the 10-character format | Enter PAN in the format ABCDE1234F |
| "IFSC code is invalid" | IFSC does not match the 11-character format | Verify the IFSC code with the bank or an online IFSC lookup |
| "Account number is required" | Bank account number was left blank | Enter the full bank account number |
| "File too large" | Uploaded document exceeds the 5 MB limit | Compress the file or use a lower-resolution scan |
Next Steps
- Add employees in bulk if you have many employees to onboard — see Bulk Import
- Send invitations so employees can access self-service — see Inviting Employees & Self-Service
- Configure salary structures using the CTC entered here — see Salary Structures
Bulk Import
Adding employees one at a time is practical for small teams, but organizations onboarding dozens or hundreds of employees need a faster method. Udyamo HRMS provides a bulk import feature through the ImportsController that supports CSV and Excel file uploads with preview, validation, and error handling. This chapter covers importing employees, attendance records, and leave data.
Prerequisites
Required: Before importing employees in bulk, ensure the following are configured:
- Departments and Designations exist and match the values you will use in the import file
- Offices are set up with correct names
- Your import file uses the exact department, designation, and office names as configured in the system
Navigating to the Import Screen
- From the sidebar, click Employees.
- Click the Import button in the top-right area of the Employees list page.
- The Import page opens, displaying options for downloading templates and uploading files.

Import Types
Udyamo HRMS supports importing several types of data:
| Import Type | Description | Template Available |
|---|---|---|
| Employee Import | Bulk-create employee records with personal details, department, designation, office, CTC, and more | Yes |
| Attendance Import | Upload historical or corrected attendance records (date, check-in, check-out) | Yes |
| Leave Import | Import leave balances or historical leave records | Yes |
Employee Import — Step by Step
Step 1: Download the Import Template
- On the Import page, select Employee Import as the import type.
- Click Download Template.
- A CSV or Excel file downloads to your computer with pre-defined column headers.
Tip: Always use the downloaded template rather than creating your own file. The template contains the exact column headers the system expects, and using different headers will cause the import to fail.
Step 2: Understanding the Template Columns
The employee import template contains the following columns:
| Column | Required | Description | Example |
|---|---|---|---|
| first_name | Yes | Employee's first name | Priya |
| last_name | Yes | Employee's last name | Sharma |
| Yes | Unique work email | [email protected] | |
| emp_id | Yes | Unique employee ID | EMP-001 |
| department | Yes | Must match an existing department name exactly | Engineering |
| designation | Yes | Must match an existing designation name under the department | Software Engineer |
| office | Yes | Must match an existing office name exactly | Mumbai HQ |
| date_of_joining | Yes | Format: YYYY-MM-DD | 2025-04-01 |
| worker_type | Yes | employee or contractor | employee |
| annual_ctc | Yes | Annual CTC in INR (numeric, no commas) | 600000 |
| status | No | active, inactive, or terminated. Defaults to active | active |
| date_of_birth | No | Format: YYYY-MM-DD | 1990-05-15 |
| gender | No | male, female, or other | female |
| aadhar_number | No | 12-digit Aadhar number | 123456789012 |
| pan | No | 10-character PAN | ABCDE1234F |
| phone | No | Phone number with country code | +919876543210 |
| bank_name | No | Name of the bank | State Bank of India |
| account_number | No | Bank account number | 12345678901234 |
| ifsc_code | No | 11-character IFSC code | SBIN0001234 |
| epf_number | No | EPF member ID | MH/BOM/12345/000/0001234 |
| esic_number | No | 17-digit ESIC number | 12345678901234567 |
| uan_number | No | 12-digit UAN | 123456789012 |
Step 3: Fill In Employee Data
- Open the downloaded template in a spreadsheet application (Excel, Google Sheets, LibreOffice Calc).
- Enter one employee per row.
- Ensure all required fields are filled.
- Save the file in CSV (.csv) or Excel (.xlsx) format.
Warning: Do not modify, rename, or delete the header row. The system uses the exact column headers to map data to fields.

Step 4: Upload the File
- On the Import page, click Choose File or drag and drop the file into the upload area.
- Select your prepared CSV or Excel file.
- Click Upload.
Step 5: Preview Before Import
After uploading, the ImportsController parses the file and presents a preview screen. This is a critical step that shows you exactly what will be imported.
The preview displays:
| Element | Description |
|---|---|
| Total rows | Number of employee records found in the file |
| Valid rows | Rows that passed all validation checks and are ready to import |
| Rows with errors | Rows that have validation issues and will be skipped unless corrected |
| Data table | A scrollable table showing each row with its parsed values |
| Error indicators | Red highlighting or error icons on rows/cells with issues |

Tip: Review the preview carefully. Pay special attention to rows highlighted with errors. This is your last chance to catch issues before records are created.
Step 6: Review and Resolve Errors
If any rows have errors, the preview screen displays the specific error for each problematic row.
Common validation errors:
| Error | Cause | Fix |
|---|---|---|
| "Email already exists" | An employee with this email is already in the system | Remove the duplicate row or use a different email |
| "Employee ID already exists" | The emp_id is already assigned to another employee | Assign a unique employee ID |
| "Department not found" | The department name does not match any existing department | Check the spelling and capitalization; create the department if needed |
| "Designation not found" | The designation does not exist under the specified department | Verify the designation exists under the correct department |
| "Office not found" | The office name does not match any existing office | Check the spelling; create the office if needed |
| "Invalid date format" | The date is not in YYYY-MM-DD format | Correct the date format |
| "Annual CTC is not a number" | The CTC field contains non-numeric characters (commas, currency symbols) | Remove commas and symbols; enter only digits |
| "Invalid worker type" | The worker_type value is not employee or contractor | Use one of the two accepted values |
You have two options:
- Proceed with valid rows only — Click Import to import all valid rows and skip error rows.
- Fix and re-upload — Download the error report, correct the issues in your file, and upload again.
Step 7: Confirm and Execute Import
- After reviewing the preview, click the Import or Confirm Import button.
- The system processes the import in a batch.
- A progress indicator shows the import status.
- Upon completion, a summary displays:
- Number of employees successfully created
- Number of rows skipped due to errors
- Link to download the error report (if any errors occurred)
Warning: The import process creates employee records and queues invitation emails for each new employee. Ensure you are ready for employees to receive invitations before importing.
Attendance Import
When to Use Attendance Import
- Migrating historical attendance data from a previous system
- Correcting attendance records in bulk
- Uploading attendance from an external time-tracking device that does not integrate directly
Attendance Import Template Columns
| Column | Required | Description | Format |
|---|---|---|---|
| emp_id | Yes | Employee ID (must match an existing employee) | EMP-001 |
| date | Yes | Attendance date | YYYY-MM-DD |
| check_in_time | Yes | Check-in time | HH:MM (24-hour) |
| check_out_time | No | Check-out time | HH:MM (24-hour) |
| working_hour | No | Total working hours (auto-calculated if check-out is provided) | Decimal (e.g., 8.5) |
Steps
- On the Import page, select Attendance Import.
- Click Download Template to get the attendance import template.
- Fill in attendance records — one row per employee per date.
- Upload the file.
- Review the preview. The system validates that each emp_id exists and dates are valid.
- Confirm the import.
Warning: Importing attendance for a date that already has a record for the same employee will either update the existing record or create a duplicate, depending on your system settings. Verify the behavior before importing to avoid duplicates.
Leave Import
When to Use Leave Import
- Migrating leave balances from a previous system at the start of a fiscal year
- Importing historical leave records for reporting continuity
Leave Import Template Columns
| Column | Required | Description | Format |
|---|---|---|---|
| emp_id | Yes | Employee ID | EMP-001 |
| leave_category | Yes | Must match an existing leave category name | Earned Leave |
| from_date | Yes | Leave start date | YYYY-MM-DD |
| to_date | Yes | Leave end date | YYYY-MM-DD |
| leave_type | No | full_day or half_day | full_day |
| reason | No | Reason for leave | Personal |
Steps
- On the Import page, select Leave Import.
- Download the template.
- Fill in leave records.
- Upload and preview.
- Resolve any errors (e.g., leave category name mismatches, invalid employee IDs).
- Confirm the import.
Tips for Clean Data
Following these practices minimizes errors during import:
- Use exact names — Department, designation, office, and leave category names must match the system configuration exactly, including capitalization and spacing.
- Consistent date format — Always use YYYY-MM-DD. Avoid regional date formats like DD/MM/YYYY or MM/DD/YYYY.
- No commas in numbers — Enter
600000, not6,00,000or600,000. - Trim whitespace — Remove leading and trailing spaces from all cells.
- Validate emails — Ensure all email addresses are properly formatted and unique.
- Check for duplicates — Remove duplicate rows before uploading. The system will flag duplicates, but it is faster to clean them beforehand.
- Test with a small batch first — Before importing hundreds of records, test with 5-10 records to ensure your template is correctly formatted.
- Save as CSV UTF-8 — If your data contains non-English characters (Hindi names, for example), save the file as CSV with UTF-8 encoding.
Tip: Keep a backup of your import file and the error report. If you need to re-import or investigate discrepancies later, these files serve as your audit trail.
Batch Processing and Performance
For large imports (500+ records), the system processes records in batches to maintain performance.
| Batch Size | Estimated Time | Notes |
|---|---|---|
| 1-50 records | Under 30 seconds | Processed immediately |
| 50-200 records | 1-2 minutes | Processed in background |
| 200-500 records | 2-5 minutes | Processed in background with progress indicator |
| 500+ records | 5-15 minutes | Processed in background; you will receive a notification upon completion |
Tip: You can navigate away from the import page while a large batch is processing. The import continues in the background, and you will see a notification when it completes.
Downloading Error Reports
If your import had errors:
- After the import completes, click Download Error Report.
- The report is a CSV file listing only the rows that failed, with an additional column showing the error message for each row.
- Correct the errors in the report file.
- Re-upload only the corrected rows.
Next Steps
- Send invitations to the newly imported employees — see Inviting Employees & Self-Service
- Complete employee profiles with additional details — see Employee Profiles
- Set up attendance tracking for imported employees — see Creating & Assigning Shifts
Inviting Employees & Self-Service
Udyamo HRMS uses a token-based invitation system (powered by the Devise Invitable gem) to onboard employees into the platform. When an administrator creates an employee record, the employee receives an invitation email with a secure link to set up their account. This chapter covers the invitation workflow, employee acceptance, self-service features, and troubleshooting.
Prerequisites
Required: The employee record must exist in the system with a valid email address. See Adding Your First Employee.
How Invitations Work
The invitation system follows this sequence:
- Admin creates employee — When an employee record is saved, Udyamo HRMS generates a unique, time-limited invitation token.
- Invitation email sent — The system sends an email to the employee's registered email address containing a secure link with the token.
- Employee clicks the link — The link opens a page where the employee sets their password.
- Account activated — Once the employee sets their password, their account is active and they can log in to the self-service portal.
Tip: The invitation token is cryptographically secure and unique to each employee. It cannot be guessed or reused.
Sending an Invitation
Automatic Invitation on Employee Creation
When you save a new employee record through Employees > Add New, an invitation email is automatically sent to the employee's email address. No additional action is required.
Manual Invitation from Employee Profile
If the automatic invitation was not sent (for example, the email address was added after initial creation), or if you need to resend:
- Navigate to Employees from the sidebar.
- Click the employee's name to open their profile.
- Locate the Invitation Status section or the Actions menu.
- Click Send Invitation or Resend Invitation.
- A confirmation message appears, and the invitation email is sent.

Invitation Status
Each employee's invitation has one of the following statuses:
| Status | Meaning |
|---|---|
| Invitation Sent | The invitation email has been sent but the employee has not yet accepted |
| Invitation Accepted | The employee has clicked the link and set their password |
| Invitation Expired | The invitation token has expired without being accepted |
| Not Invited | No invitation has been sent (employee was created without a valid email or invitations were disabled) |
You can view invitation status in the Employees list. Filter by Invitation Status to find employees who have not yet accepted.
What Employees See
The Invitation Email
The employee receives an email with:
- A welcome message from the organization
- The organization name
- A Set Up Your Account button or link
- Instructions to click the link within the validity period
The Acceptance Page
When the employee clicks the invitation link:
- Their browser opens the Udyamo HRMS acceptance page.
- The page displays the organization name and the employee's email (pre-filled).
- The employee enters a new password and confirms the password.
- Clicks Accept Invitation or Set Password.
- The system validates the token, sets the password (stored as
encrypted_passwordon the Employee model), and activates the account. - The employee is redirected to the dashboard.

Warning: If the employee sees a "Token is invalid or expired" message, the invitation has expired and needs to be resent by an administrator.
Resending Invitations
Invitations may need to be resent in several situations:
| Scenario | Action |
|---|---|
| Employee did not receive the email (spam filter, wrong email) | Verify the email address is correct, then resend |
| Invitation expired before employee accepted | Resend to generate a new token |
| Employee accidentally deleted the email | Resend the invitation |
| Email address was changed after initial invitation | Update the email on the profile, then send a new invitation |
Steps to Resend
- Open the employee's profile.
- Click Resend Invitation from the Actions menu or Invitation Status section.
- A new token is generated and a fresh email is sent.
- The previous token is invalidated.
Tip: If multiple employees have not accepted their invitations, you can select them from the Employees list and use the Bulk Resend Invitations action (if available) to resend all at once.
Invitation Token Expiry
The invitation token has a configurable expiry period. By default, tokens are valid for a set number of days after they are generated.
| Setting | Default | Where to Configure |
|---|---|---|
| Invitation token validity | Configured in the application (typically 7-30 days) | Application settings (Devise configuration) |
After expiry:
- The employee can no longer use the old link.
- An administrator must resend the invitation to generate a new, valid token.
- The previous token is permanently invalidated.
Self-Service Portal Features
Once an employee accepts the invitation and logs in, they have access to the self-service portal. This portal allows employees to perform common HR tasks without involving the HR team.
Self-Service Dashboard
After logging in, the employee sees a personalized dashboard showing:
- Today's attendance status (checked in, checked out, not yet checked in)
- Leave balance summary (available days for each leave category)
- Pending requests (leave applications, reimbursement claims awaiting approval)
- Recent payslips (quick link to the latest payslip)
- Announcements from the organization

Available Self-Service Features
| Feature | Description | Navigation |
|---|---|---|
| View Payslips | Download monthly payslips in PDF format | My Payslips or Payroll > Payslips |
| Apply for Leave | Submit leave applications with date range, leave category, and reason | Leave > Apply |
| Check Leave Balance | View available, used, and total leave days for each category | Leave > Balance |
| View Attendance | See daily attendance records, check-in/check-out times, and working hours | Attendance > My Attendance |
| Check In / Check Out | Perform daily check-in and check-out from the portal or mobile | Dashboard or Attendance > Check In |
| Update Personal Details | Edit address, emergency contact, blood group, and other personal fields | My Profile > Personal Details |
| Update Bank Details | Submit bank account changes (requires admin approval before payroll use) | My Profile > Bank Details |
| Upload Documents | Upload identity documents, certificates, and other files | My Profile > Documents |
| Upload Profile Photo | Set or change profile photograph | My Profile |
| Submit Reimbursements | Create expense reimbursement claims with receipts | Reimbursements > New Claim |
| Submit Overtime Requests | Request overtime approval for extra hours worked | Attendance > Overtime > New Request |
| View Announcements | Read company-wide announcements and notifications | Dashboard or Announcements |
| View Holidays | See the holiday calendar for the current year | Leave > Holidays |
Employee vs. Administrator Capabilities
The table below summarizes what employees can and cannot do compared to administrators.
| Action | Employee | Administrator |
|---|---|---|
| View own profile | Yes | Yes (all employees) |
| Edit personal details (address, emergency contact) | Yes | Yes |
| Edit bank details | Yes (pending approval) | Yes (immediate) |
| View own payslips | Yes | Yes (all employees) |
| Apply for leave | Yes | Yes (on behalf of any employee) |
| Approve/reject leave | No (unless manager role) | Yes |
| Check in / check out | Yes | Yes (manual entry for any employee) |
| View own attendance | Yes | Yes (all employees) |
| Edit attendance records | No | Yes |
| Submit reimbursements | Yes | Yes |
| Approve reimbursements | No (unless manager role) | Yes |
| Submit overtime requests | Yes | Yes |
| Approve overtime requests | No (unless manager role) | Yes |
| Add/edit employees | No | Yes |
| Configure departments, offices | No | Yes |
| Run payroll | No | Yes |
| Change CTC/salary structure | No | Yes |
| Configure policies (attendance, leave) | No | Yes |
Tip: Managers occupy a middle ground — they can approve leave, overtime, and reimbursement requests for their direct reports. Manager capabilities are controlled through Roles & Permissions.
Two-Factor Authentication for Employees
Employees can enable two-factor authentication (2FA) for additional security. Udyamo HRMS supports OTP-based 2FA using the otp_secret_key field on the Employee model.
- After accepting the invitation and logging in, the employee navigates to My Profile > Security.
- Clicks Enable Two-Factor Authentication.
- Scans the QR code with an authenticator app (Google Authenticator, Authy, etc.).
- Enters the OTP to confirm setup.
- From the next login onwards, the employee must enter the OTP after their password.
See Two-Factor Authentication & OTP for detailed setup instructions.
Troubleshooting Invitations
| Problem | Possible Cause | Solution |
|---|---|---|
| Employee did not receive the invitation email | Email went to spam/junk folder | Ask the employee to check spam; whitelist the sending domain |
| Employee did not receive the invitation email | Incorrect email address on the employee record | Correct the email and resend the invitation |
| "Token is invalid or expired" when clicking the link | Token has expired | Resend the invitation from the admin panel |
| "Token is invalid or expired" when clicking the link | Employee clicked an older invitation link after a resend | Ask the employee to use the most recent email |
| Employee cannot log in after accepting | Password not meeting complexity requirements | Ask the employee to reset their password; verify password policy |
| Employee sees a blank page after clicking the link | Browser compatibility issue | Try a different browser (Chrome, Firefox, Edge) |
| Invitation status shows "Sent" but employee claims they accepted | The employee may have set the password but not completed the process | Check if the employee can log in; if not, resend the invitation |
Warning: Each time you resend an invitation, the previous token is invalidated. If an employee has multiple invitation emails, only the most recent link will work.
Best Practices for Employee Onboarding
- Batch your invitations — If importing employees in bulk, schedule the import during business hours so employees receive invitations when they are likely to act on them.
- Communicate beforehand — Send a separate announcement (email, Slack, or in person) informing employees that they will receive an invitation from Udyamo HRMS and should look for it.
- Set a deadline — Ask employees to accept invitations within a specific number of days. Follow up with employees who have not accepted.
- Prepare a quick-start guide — Provide employees with a brief overview of what they can do in the self-service portal (check attendance, apply for leave, view payslips).
- Monitor invitation status — Regularly check the Employees list filtered by invitation status to identify employees who have not accepted.
Next Steps
- Set up shifts for your employees to begin attendance tracking — see Creating & Assigning Shifts
- Configure leave categories for leave applications — see Setting Up Leave Categories
- Complete employee profiles — see Employee Profiles
Creating & Assigning Shifts
Shifts define the expected working hours for employees. Udyamo HRMS uses the Shift model to configure one or more shift patterns, assign them to employees, and use them as the basis for attendance calculations, late-marking, and payroll. This chapter covers creating shifts, setting a default shift, assigning shifts to employees, and managing rotating shift patterns.
Prerequisites
Required: Before configuring shifts, ensure:
- At least one office exists (see Offices & Locations)
- Your work week is configured with the correct working days (see Work Week, Timezone & Fiscal Year)
- Employees have been added to the system (see Adding Your First Employee)
Navigating to Shift Management
- From the sidebar, click Attendance.
- Click Shifts from the submenu.
- The Shifts list page displays all configured shifts.

Understanding the Shift Model
Each shift in Udyamo HRMS has the following attributes:
| Field | Description | Example |
|---|---|---|
| Name | A descriptive name for the shift | General Shift |
| Start Time | The time the shift begins | 09:00 |
| End Time | The time the shift ends | 18:00 |
| Grace Period (minutes) | Allowed buffer time after start before marking late | 15 |
| Break Duration (minutes) | Total break time within the shift (deducted from working hours) | 60 |
| Is Default | Whether this is the default shift assigned to new employees | Yes/No |
| Applicable Days | Which days of the week this shift applies to | Mon-Fri |
Creating a New Shift
Step 1: Open the Create Form
- On the Shifts list page, click Add Shift or Create New Shift.
- The shift creation form opens.
Step 2: Enter Shift Details
- Name — Enter a descriptive name. Use names that clearly indicate the shift pattern (e.g., "Morning Shift", "Evening Shift", "Night Shift", "General 9-6").
- Start Time — Select the shift start time using the time picker. Use 24-hour format.
- End Time — Select the shift end time. For overnight shifts, the end time will be earlier than the start time (e.g., start 22:00, end 06:00).
- Grace Period — Enter the number of minutes after the start time that an employee can check in without being marked late. For example, a 15-minute grace period on a 09:00 shift means check-ins up to 09:15 are considered on time.
- Break Duration — Enter the total break time in minutes. This is deducted from the gross working hours to calculate net working hours.

Step 3: Configure Applicable Days
- Select the days of the week this shift applies to.
- Typically, this matches your work week configuration (e.g., Monday to Friday or Monday to Saturday).
- Deselect any days that should not use this shift.
Step 4: Save the Shift
- Review all fields.
- Click Save.
- The shift appears in the Shifts list.
Setting a Default Shift
The default shift is automatically assigned to newly added employees who do not have a specific shift assignment. Only one shift can be the default at a time.
To Set a Default Shift
- Navigate to Attendance > Shifts.
- Locate the shift you want to make the default.
- Click the Actions menu (three dots or gear icon) for that shift.
- Select Set as Default.
- The shift is now marked with a "Default" badge.
Alternatively, when creating or editing a shift:
- Check the Is Default checkbox.
- Save the shift.
Tip: Set your most common shift as the default. For most Indian organizations, a 9:00 AM to 6:00 PM shift with a 60-minute lunch break is standard. Setting this as default saves time when adding new employees.
Warning: If you change the default shift, existing employee assignments are not affected. Only newly created employees (who are not explicitly assigned a shift) will receive the new default.
Common Shift Configurations
Here are typical shift configurations for Indian organizations:
| Shift Name | Start Time | End Time | Grace Period | Break Duration | Use Case |
|---|---|---|---|---|---|
| General Shift | 09:00 | 18:00 | 15 min | 60 min | Standard office hours |
| Morning Shift | 06:00 | 14:00 | 10 min | 30 min | Manufacturing, BPO (first shift) |
| Afternoon Shift | 14:00 | 22:00 | 10 min | 30 min | Manufacturing, BPO (second shift) |
| Night Shift | 22:00 | 06:00 | 10 min | 30 min | Manufacturing, BPO (third shift) |
| Flexible Shift | 08:00 | 20:00 | 120 min | 60 min | IT companies with flexible hours |
| Half-Day Shift | 09:00 | 13:00 | 15 min | 0 min | Saturday half-day |
Tip: For organizations with flexible timings, set a wide start-to-end window and a large grace period. The system calculates actual working hours from check-in and check-out times regardless of the shift window.
Assigning Shifts to Employees
Individual Assignment
- Navigate to Employees and open the employee's profile.
- Go to the Attendance or Shift section of the profile.
- Click Assign Shift or Edit Shift.
- Select the desired shift from the dropdown.
- Optionally, set an Effective Date from which this shift assignment begins.
- Click Save.

Bulk Assignment
To assign a shift to multiple employees at once:
- Navigate to Attendance > Shifts.
- Click the shift you want to assign.
- On the shift detail page, click Assign Employees or Manage Assignments.
- A list of all employees appears. Use checkboxes to select employees.
- Use filters (department, office, designation) to narrow the list.
- Click Assign to apply the shift to all selected employees.
Tip: When onboarding a new department, use bulk assignment to assign the correct shift to all department members at once.
Multiple Shifts
Organizations that operate across multiple time zones or run 24-hour operations often need multiple shifts.
Managing Multiple Shifts
- Create each shift with a distinct name and time range.
- Assign different shifts to different employee groups based on their role, department, or office.
- Each employee can have only one active shift at a time.
Shift Change Process
When an employee's shift changes (e.g., rotation from morning to evening):
- Open the employee's profile.
- Navigate to the Shift section.
- Change the shift assignment to the new shift.
- Set the Effective Date to the date the new shift starts.
- Save.
The system retains historical shift data, so attendance calculations for past dates use the shift that was active at that time.
Rotating Shift Patterns
Some organizations rotate employees through different shifts on a weekly or bi-weekly basis.
Setting Up Rotation
- Create all the shifts that are part of the rotation (e.g., Morning Shift, Afternoon Shift, Night Shift).
- Assign the initial shift to each employee.
- At the rotation interval, update the shift assignment for each employee to the next shift in the rotation.
Tip: For frequent rotations, maintain a shift rotation calendar (outside Udyamo HRMS or as a reference) and update assignments at the beginning of each rotation period. The bulk assignment feature can speed up this process.
Rotation Example
| Week | Group A | Group B | Group C |
|---|---|---|---|
| Week 1 | Morning (06:00-14:00) | Afternoon (14:00-22:00) | Night (22:00-06:00) |
| Week 2 | Night (22:00-06:00) | Morning (06:00-14:00) | Afternoon (14:00-22:00) |
| Week 3 | Afternoon (14:00-22:00) | Night (22:00-06:00) | Morning (06:00-14:00) |
Impact on Attendance Calculations
The shift configuration directly affects how attendance is evaluated:
| Attendance Aspect | How Shift Affects It |
|---|---|
| On-time check-in | Check-in at or before (start time + grace period) is considered on time |
| Late check-in | Check-in after (start time + grace period) is marked late |
| Early check-out | Check-out before end time is flagged as early departure |
| Working hours | Calculated as (check-out - check-in - break duration) |
| Half-day | If working hours fall below the minimum threshold, may be marked as half-day per attendance policy |
| Absent | If no check-in is recorded for a working day, the employee is marked absent |
| Overtime | Hours worked beyond the shift end time may qualify as overtime (if overtime policies are configured) |
Warning: Changes to a shift's start time, end time, or break duration affect all future attendance calculations for employees on that shift. Review the impact before modifying an existing shift that has active assignments.
Editing an Existing Shift
- Navigate to Attendance > Shifts.
- Click the shift name to open its details.
- Click Edit.
- Modify the desired fields.
- Click Save.
Warning: Editing a shift does not retroactively change past attendance records. Changes apply to attendance records from the current date forward.
Deleting a Shift
- Navigate to Attendance > Shifts.
- Click the Actions menu for the shift.
- Select Delete.
- Confirm the deletion.
Warning: You cannot delete a shift that is currently assigned to employees or is set as the default. Reassign all employees to a different shift and remove the default status before deleting.
Common Errors and Solutions
| Error | Cause | Solution |
|---|---|---|
| "End time must be different from start time" | Start and end times are the same | Set a different end time |
| "Shift name already exists" | A shift with this name already exists | Use a unique name |
| "Cannot delete shift with active assignments" | Employees are still assigned to this shift | Reassign employees to another shift first |
| "Grace period cannot exceed shift duration" | Grace period is longer than the total shift length | Reduce the grace period |
Next Steps
- Configure daily check-in and check-out for employees — see Daily Check-In & Check-Out
- Set up attendance policies for late-marking and absence rules — see Attendance Policies & Rules
- Connect attendance devices for biometric check-in — see Attendance Devices & Face Recognition
Daily Check-In & Check-Out
Attendance tracking in Udyamo HRMS is built on the Attendance model, which records each employee's daily check-in time, check-out time, and calculated working hours. This chapter covers every aspect of the daily attendance workflow — from employee check-in to administrator corrections.
Prerequisites
Required: Before employees can check in:
- At least one shift must be created and assigned to employees (see Creating & Assigning Shifts)
- Employees must have active status
- For web-based check-in, employees must have accepted their invitation and have login credentials
Attendance Model Overview
Each attendance record in Udyamo HRMS stores the following data:
| Field | Description | Example |
|---|---|---|
| date | The calendar date of the attendance record | 2025-06-15 |
| check_in_time | The timestamp when the employee checked in | 09:03 |
| check_out_time | The timestamp when the employee checked out | 18:15 |
| working_hour | Calculated total working hours (after deducting breaks) | 8.20 |
Additional data is captured through related models: shift, attendance events, break logs, and location coordinates.
Employee Check-In Process
Check-In via Web Portal
- The employee logs in to Udyamo HRMS.
- On the Dashboard, a prominent Check In button is displayed (if the employee has not yet checked in for the day).
- The employee clicks Check In.
- The system records:
- The current timestamp as
check_in_time - The current date as the
date - The employee's location (if location tracking is enabled)
- The current timestamp as
- The button changes to Check Out (or the status updates to "Checked In").
- A confirmation message displays the check-in time.

Check-In via Mobile
- Open Udyamo HRMS on the mobile browser or app.
- Tap the Check In button on the dashboard.
- If location tracking is enabled, the app requests location permission. Grant it.
- The check-in is recorded with the location.
Check-In via Attendance Device
Biometric devices and face recognition terminals can also record check-ins. The device communicates with Udyamo HRMS via the AttendanceDevice API using token-based authentication. See Attendance Devices & Face Recognition for setup.
Employee Check-Out Process
- At the end of the work day, the employee navigates to the Dashboard or Attendance section.
- Clicks the Check Out button.
- The system records the current timestamp as
check_out_time. - Working hours are automatically calculated:
check_out_time - check_in_time - break_duration. - The attendance status updates to "Completed" for the day.

Warning: If an employee forgets to check out, the attendance record for that day will show a check-in but no check-out, resulting in incomplete working hours. Administrators can correct this manually (see below) or configure auto-checkout policies.
Multiple Check-In Support
Udyamo HRMS supports multiple check-ins within a single day. This is useful for employees who leave and return during the day (e.g., client meetings, errands).
How It Works
- After checking out mid-day, the employee can click Check In again.
- The system creates a new check-in entry for the same date.
- Working hours are calculated as the sum of all check-in/check-out intervals.
Configurable Maximum Limit
Administrators can configure the maximum number of check-ins allowed per day.
- Navigate to Attendance > Settings.
- Locate the Multiple Check-In section.
- Set the Maximum Check-Ins Per Day value (e.g., 4).
- Save.
| Setting | Description | Default |
|---|---|---|
| Maximum Check-Ins Per Day | The maximum number of times an employee can check in on a single day | Configurable (typically 2-4) |
Tip: If your organization does not need multiple check-ins, set the maximum to 1. This prevents accidental duplicate check-ins.
Working Hours with Multiple Check-Ins
When an employee has multiple check-in/check-out pairs in a day, the total working hours are calculated as the sum:
| Check-In | Check-Out | Hours |
|---|---|---|
| 09:00 | 12:30 | 3.50 |
| 13:30 | 18:00 | 4.50 |
| Total | 8.00 |
Break duration is deducted from the total as configured in the shift settings.
Break Tracking
Udyamo HRMS supports explicit break tracking in addition to the shift-level break duration.
Logging a Break
- While checked in, the employee clicks Start Break on the dashboard.
- The break start time is recorded.
- When the break ends, the employee clicks End Break.
- The break end time is recorded.
Impact on Working Hours
- If break tracking is enabled, actual break time is deducted from working hours.
- If break tracking is not used, the shift's configured break duration is deducted.
| Mode | Working Hours Calculation |
|---|---|
| Break tracking enabled | (Total check-out - check-in time) - (actual break minutes) |
| Break tracking disabled | (Total check-out - check-in time) - (shift break duration) |
Tip: Break tracking provides more accurate working hour calculations, especially for employees with variable break lengths.
Late Check-In Handling
When an employee checks in after the shift start time plus the grace period, the check-in is flagged as late.
How Late Check-In Is Determined
- The system compares the
check_in_timeagainst the employee's assigned shift start time plus the configured grace period. - If
check_in_time > (shift_start + grace_period), the check-in is marked late.
Example:
- Shift start: 09:00
- Grace period: 15 minutes
- Employee checks in at 09:20
- Result: Late by 5 minutes
Late Check-In Visibility
| Who | Where to See Late Check-Ins |
|---|---|
| Employee | Dashboard attendance widget shows a "Late" indicator |
| Manager | Team attendance view highlights late entries |
| Admin | Attendance reports with late flag filter |
Late Check-In Impact
The impact of late check-ins depends on the configured attendance policy (see Attendance Policies & Rules):
- No impact — Late check-ins are logged but have no payroll effect
- Half-day deduction — After a threshold number of late arrivals per month, a half-day is deducted
- LOP (Loss of Pay) — Excessive late arrivals result in salary deductions
Early Check-Out Handling
When an employee checks out before the shift end time, the check-out is flagged as early departure.
How Early Check-Out Is Determined
- The system compares
check_out_timeagainst the shift end time. - If
check_out_time < shift_end_time, the departure is marked early.
Early Check-Out Impact
Similar to late check-ins, the impact depends on the attendance policy:
- Minimum working hours may not be met
- May trigger half-day or absent marking based on policy rules
Check-In from Different Devices
Employees can check in from various devices:
| Device | Method | Location Tracked |
|---|---|---|
| Desktop browser | Click "Check In" on the web portal | Based on IP (approximate) |
| Mobile browser | Click "Check In" on the mobile web | GPS location (if permitted) |
| Biometric device | Fingerprint or card swipe | Device location (fixed) |
| Face recognition terminal | Facial scan | Device location (fixed) |
| Mobile app | Tap "Check In" in the app | GPS location |
Tip: For organizations requiring strict location verification, enable geo-fencing in the office settings. Check-ins will only be accepted if the employee is within the configured radius. See Location Tracking.
Viewing Today's Attendance Status
Employee View
- Log in to Udyamo HRMS.
- The Dashboard displays:
- Current status: Not Checked In / Checked In / Checked Out
- Check-in time (if checked in)
- Working hours so far (if checked in)
- Check-out time (if completed)
Manager View
- Navigate to Attendance > Team Attendance or Dashboard > Team Overview.
- View a list of team members with their current attendance status.
- Filter by status: Present, Absent, Late, On Leave.
Administrator View
- Navigate to Attendance > Daily Attendance.
- View all employees' attendance for the current date.
- Use filters: department, office, status, shift.

Editing Attendance Records (Administrator)
Administrators can correct attendance records when employees forget to check in, check out, or when manual adjustments are needed.
Manual Edit
- Navigate to Attendance > Daily Attendance or open the employee's attendance record.
- Locate the date that needs correction.
- Click Edit on the attendance entry.
- Modify the Check-In Time, Check-Out Time, or both.
- Optionally add a Reason for the correction (for audit trail).
- Click Save.
- The working hours are automatically recalculated.

Warning: Attendance edits are logged in the system's audit trail. All changes show the original value, new value, who made the change, and when.
Manual Attendance Entry
For cases where no attendance record exists for a day (e.g., the employee worked but the system was down):
- Navigate to Attendance > Daily Attendance.
- Click Add Attendance or Manual Entry.
- Select the Employee from the dropdown.
- Select the Date.
- Enter the Check-In Time and Check-Out Time.
- Click Save.
Attendance Events
Every check-in, check-out, break, and modification is logged as an AttendanceEvent. This provides a detailed timeline for each day.
| Event Type | Description |
|---|---|
| check_in | Employee checked in |
| check_out | Employee checked out |
| break_start | Employee started a break |
| break_end | Employee ended a break |
| manual_edit | Administrator modified the record |
| auto_checkout | System auto-checked out the employee based on policy |
| device_check_in | Check-in recorded by an attendance device |
Administrators can view the full event log for any attendance record by clicking on the attendance entry and expanding the Event Log section.
Auto-Checkout
If configured in the attendance policy, the system can automatically check out employees who forget to check out.
| Setting | Description |
|---|---|
| Auto-Checkout Enabled | When enabled, the system automatically records a check-out for employees at a specified time |
| Auto-Checkout Time | The time at which the system performs auto-checkout (e.g., 23:59 or shift end time) |
Tip: Auto-checkout prevents incomplete attendance records but may result in inflated working hours. Combine with attendance policy rules that flag auto-checkout records for review.
Common Issues and Solutions
| Issue | Cause | Solution |
|---|---|---|
| "Already checked in" error | Employee tries to check in when already checked in | Check out first, then check in again (if multiple check-ins are enabled) |
| "Maximum check-ins reached" | Employee has reached the configured daily limit | Administrator can increase the limit or add a manual entry |
| Check-in time is wrong | Employee's device clock is incorrect | Check-in time is recorded server-side; if still wrong, admin can edit |
| No check-out recorded | Employee forgot to check out | Admin can add the check-out time manually |
| Working hours show 0 despite check-in and check-out | Break duration exceeds working time | Verify the shift break duration configuration |
| Check-in rejected (location) | Employee is outside the geo-fence radius | Employee must be within the configured radius, or admin can add a manual entry |
Next Steps
- View attendance in calendar format — see Attendance Calendar & Reports
- Configure rules for late marking and absences — see Attendance Policies & Rules
- Set up biometric devices for automated check-in — see Attendance Devices & Face Recognition
Attendance Calendar & Reports
Udyamo HRMS provides a visual calendar view and detailed reporting tools for attendance data. The Calendar controller renders a monthly calendar that color-codes each day based on the employee's attendance status. This chapter covers the calendar view, attendance reports, exporting data, and the differences between manager and employee views.
Prerequisites
Required: Attendance tracking must be active for your organization:
- At least one shift is configured (see Creating & Assigning Shifts)
- Employees have been checking in and out (see Daily Check-In & Check-Out)
- The work week is configured so weekends are correctly identified (see Work Week, Timezone & Fiscal Year)
Navigating to the Attendance Calendar
- From the sidebar, click Attendance.
- Click Calendar from the submenu.
- The calendar view opens, displaying the current month.

Calendar View — Layout and Navigation
Monthly Calendar Grid
The calendar displays a grid with:
- Columns representing days of the week (Monday through Sunday or Sunday through Saturday, based on locale)
- Rows representing weeks of the month
- Each cell represents one day and shows the attendance status for the selected employee or the logged-in employee
Navigating Between Months
- Click the left arrow to go to the previous month.
- Click the right arrow to go to the next month.
- Click the month/year header to select a specific month and year from a dropdown.
Selecting an Employee (Admin/Manager View)
- At the top of the calendar, use the Employee dropdown to select a specific employee.
- The calendar updates to show that employee's attendance.
- Use the Department and Office filters to narrow the employee list.
Color Coding
Each day on the calendar is color-coded to indicate the attendance status at a glance.
| Color | Status | Description |
|---|---|---|
| Green | Present | Employee checked in and met the minimum working hours |
| Red | Absent | No check-in recorded on a working day |
| Yellow/Orange | Half Day | Employee was present but working hours fell below the full-day threshold |
| Blue | On Leave | Employee was on approved leave |
| Grey | Weekend | Non-working day as defined in the work week configuration |
| Purple | Holiday | A public or organization-specific holiday |
| Light Green | Late Arrival | Employee checked in but was late (after grace period) |
| White/No Color | Future Date | Date has not yet occurred |
Tip: Hover over any day on the calendar to see a tooltip with details — check-in time, check-out time, working hours, and any flags (late, early departure, half-day).

Calendar Day Details
Clicking on a specific day opens a detail panel or popup showing:
| Field | Description |
|---|---|
| Date | The selected date |
| Status | Present, Absent, Half Day, Leave, Holiday, Weekend |
| Shift | The shift assigned to the employee on that date |
| Check-In Time | Time of first check-in |
| Check-Out Time | Time of last check-out |
| Working Hours | Total calculated working hours |
| Break Duration | Break time recorded or deducted |
| Late By | Minutes late (if applicable) |
| Early Departure By | Minutes left early (if applicable) |
| Overtime | Extra hours beyond shift end (if applicable) |
| Location | Check-in location (if location tracking is enabled) |
Monthly Summary
Below or alongside the calendar grid, a Monthly Summary section aggregates the employee's attendance for the displayed month.
| Metric | Description |
|---|---|
| Total Working Days | Number of working days in the month (excluding weekends and holidays) |
| Days Present | Number of days the employee was present |
| Days Absent | Number of working days with no attendance |
| Half Days | Number of days marked as half-day |
| Leaves Taken | Number of leave days in the month |
| Holidays | Number of holidays in the month |
| Late Arrivals | Count of days with late check-in |
| Early Departures | Count of days with early check-out |
| Total Working Hours | Sum of working hours for the month |
| Average Working Hours | Average daily working hours |
| Overtime Hours | Total overtime hours (if tracked) |

Attendance Reports
Udyamo HRMS provides two primary attendance report types: Daily Summary and Date Range Reports.
Daily Summary Report
The daily summary report shows attendance for all employees on a specific date.
Generating a Daily Summary
- Navigate to Attendance > Reports.
- Select Daily Summary as the report type.
- Choose the Date using the date picker.
- Optionally filter by Department, Office, or Shift.
- Click Generate Report.
Daily Summary Report Columns
| Column | Description |
|---|---|
| Employee Name | Full name |
| Employee ID | Organization employee ID |
| Department | Employee's department |
| Shift | Assigned shift for the day |
| Check-In | Check-in time |
| Check-Out | Check-out time |
| Working Hours | Calculated working hours |
| Status | Present, Absent, Half Day, Leave, Holiday |
| Late | Late flag with minutes |
| Early Departure | Early departure flag with minutes |

Date Range Report
The date range report provides attendance data across a period, useful for monthly reviews, payroll preparation, and compliance audits.
Generating a Date Range Report
- Navigate to Attendance > Reports.
- Select Date Range Report as the report type.
- Choose the From Date and To Date.
- Optionally filter by Department, Office, Employee, or Shift.
- Click Generate Report.
Date Range Report Columns
| Column | Description |
|---|---|
| Employee Name | Full name |
| Employee ID | Organization employee ID |
| Department | Department name |
| Total Working Days | Working days in the range |
| Days Present | Days with recorded attendance |
| Days Absent | Days without attendance (excluding leaves and holidays) |
| Half Days | Days marked as half-day |
| Leaves | Approved leave days in the range |
| Late Arrivals | Count of late check-ins |
| Early Departures | Count of early departures |
| Total Working Hours | Sum of working hours |
| Average Working Hours | Average daily working hours |
| Overtime Hours | Overtime hours in the range |
Exporting Attendance Data
All attendance reports can be exported for external analysis or record-keeping.
Export Formats
| Format | Use Case |
|---|---|
| CSV | Import into Excel, Google Sheets, or other spreadsheet tools |
| Excel (.xlsx) | Direct use in Microsoft Excel with formatting preserved |
| Printable format for documentation and compliance records |
How to Export
- Generate the desired report (daily summary or date range).
- Click the Export button above the report table.
- Select the format: CSV, Excel, or PDF.
- The file downloads to your computer.
Tip: Export monthly attendance data before running payroll. This serves as a verification step — cross-check attendance days with payroll working days to ensure accuracy.
Filtering Attendance Data
Both the calendar view and reports support filtering to narrow results.
Available Filters
| Filter | Description |
|---|---|
| Department | Show only employees from a specific department |
| Office | Show only employees assigned to a specific office |
| Employee | Show data for a single employee |
| Shift | Show only employees on a specific shift |
| Status | Filter by attendance status (Present, Absent, Late, On Leave) |
| Date Range | Specify the date range for reports |
Using Filters
- On the report or calendar page, locate the filter panel (typically at the top).
- Select the desired filter values from the dropdowns.
- Click Apply or the report auto-refreshes.
- To clear filters, click Reset or Clear Filters.
Attendance Analytics
The analytics section provides visual summaries of attendance patterns.
Key Analytics
| Metric | Visualization | Description |
|---|---|---|
| Attendance Rate | Percentage gauge | Percentage of working days with attendance across the organization |
| Punctuality Rate | Percentage gauge | Percentage of check-ins that were on time (not late) |
| Department-wise Attendance | Bar chart | Average attendance rate by department |
| Late Arrival Trend | Line chart | Count of late arrivals over time (daily/weekly/monthly) |
| Absenteeism Trend | Line chart | Count of absent days over time |
| Working Hours Distribution | Histogram | Distribution of daily working hours across employees |

Tip: Use the attendance analytics to identify patterns. For example, if a particular department has consistently high late arrivals, it may indicate a shift timing mismatch or commute issues.
Manager View vs. Employee View
Employee View
When an employee logs in and views attendance:
- They see only their own attendance calendar
- They see only their own monthly summary
- They can view past months but cannot edit any records
- They see their own attendance status on the dashboard
Manager View
Managers with team attendance permissions see:
- Their direct reports' attendance calendars
- Team-level summary (present, absent, on leave counts for the team)
- Ability to filter by team member
- Alerts for late arrivals and absent team members
- Cannot edit attendance records (unless granted admin permissions)
Administrator View
Administrators see:
- All employees' attendance calendars and reports
- Organization-wide analytics
- Full filtering capabilities (department, office, shift, status)
- Ability to edit attendance records and add manual entries
- Access to export all data
Calendar and Holidays
The calendar view automatically reflects holidays configured in the system. See Holidays for setup.
| Holiday Type | Calendar Display |
|---|---|
| National Holiday | Marked in purple, applies to all employees |
| State Holiday | Marked in purple, applies to employees in offices within that state |
| Optional Holiday | Marked differently (e.g., lighter purple); employees may choose to take it |
| Organization Holiday | Custom holidays defined by the organization |
Common Issues and Solutions
| Issue | Cause | Solution |
|---|---|---|
| Calendar shows all days as absent | No attendance data exists for the month | Verify employees are checking in; check shift assignments |
| Working hours show as 0 | Check-out not recorded | Add check-out time manually (admin) |
| Holidays not appearing on calendar | Holidays not configured for the current year | Add holidays in Settings > Leave & Attendance > Holidays |
| Report shows incorrect totals | Date range does not match the intended period | Verify the from and to dates in the filter |
| Export file is empty | No data matches the current filters | Clear or adjust filters and regenerate the report |
| Weekends are marked as absent | Work week configuration is incorrect | Verify the work week settings in Settings > Organization |
Next Steps
- Configure attendance policies to define late-marking and absence rules — see Attendance Policies & Rules
- Set up overtime tracking for employees working beyond shift hours — see Overtime Requests
- Prepare for payroll using attendance reports — see Running Payroll
Attendance Policies & Rules
Attendance policies define the rules that govern how check-ins, late arrivals, early departures, absences, and working hours are evaluated. The AttendancePolicy model in Udyamo HRMS allows administrators to configure granular time rules that determine payroll impact, half-day deductions, and loss-of-pay calculations. This chapter covers creating and configuring attendance policies, assigning them, and understanding their impact.
Prerequisites
Required: Before configuring attendance policies:
- Shifts must be created (see Creating & Assigning Shifts)
- The work week must be configured (see Work Week, Timezone & Fiscal Year)
- You should understand your organization's attendance expectations and disciplinary rules
Navigating to Attendance Settings
- From the sidebar, click Attendance.
- Click Settings or Policies from the submenu.
- The Attendance Policy configuration page opens.
Alternatively:
- Navigate to Settings > Leaves & Attendance.
- Select the Attendance Policies tab.

What Is an Attendance Policy?
An attendance policy is a set of configurable rules that define:
- How many minutes of late arrival are tolerated before consequences
- How many late arrivals per month trigger a deduction
- What constitutes a half-day versus a full absence
- Minimum working hours required for a full day
- Rules for early coming and late going
- Auto-checkout behavior
- Holiday and weekend attendance validation
Creating an Attendance Policy
Step 1: Open the Policy Form
- On the Attendance Policies page, click Add Policy or Create New Policy.
- The policy creation form opens.
Step 2: Enter Policy Details
| Field | Description | Example |
|---|---|---|
| Policy Name | A descriptive name for the policy | Standard Office Policy |
| Description | Optional description of the policy's purpose | Default policy for all office employees with 9-6 shift |
Step 3: Configure Time Rules
Late Coming Rules
These rules define how late arrivals are handled.
| Setting | Description | Example |
|---|---|---|
| Late Mark After (minutes) | Minutes after shift start + grace period before marking as late | 0 (immediately after grace period) |
| Maximum Late Arrivals Per Month | Number of late arrivals allowed per month before deductions | 3 |
| Deduction After Exceeding Late Limit | What happens when the late limit is exceeded | Half-day deduction |
| Late Arrival Penalty Type | How each excess late arrival is penalized | Per occurrence or cumulative |
Example Configuration:
- Grace period (on shift): 15 minutes
- Late Mark After: 0 minutes (i.e., late after 15-minute grace)
- Maximum Late Arrivals Per Month: 3
- Deduction: After 3 late arrivals, every subsequent late arrival counts as a half-day deduction
Early Coming Policy
The early coming policy controls how the system handles employees who check in before their shift starts.
| Setting | Description | Example |
|---|---|---|
| Allow Early Check-In | Whether employees can check in before the shift start time | Yes |
| Early Check-In Limit (minutes) | Maximum minutes before shift start that check-in is allowed | 60 |
| Count Early Hours as Working | Whether time before shift start counts toward working hours | No |
| Count Early Hours as Overtime | Whether early hours count toward overtime | No |
Tip: For most organizations, allow early check-in but do not count it as overtime. This provides flexibility for employees who arrive early without inflating payroll costs.
Late Going Policy
The late going policy controls how the system handles employees who check out after their shift ends.
| Setting | Description | Example |
|---|---|---|
| Allow Late Check-Out | Whether employees can check out after the shift end time | Yes |
| Late Check-Out Limit (minutes) | Maximum minutes after shift end before auto-checkout | 240 |
| Count Late Hours as Working | Whether time after shift end counts toward working hours | Yes |
| Count Late Hours as Overtime | Whether late hours count toward overtime (requires overtime setting) | Yes |
Warning: If Count Late Hours as Overtime is enabled, ensure overtime policies and approval workflows are also configured to prevent unauthorized overtime claims. See Overtime Requests.
Step 4: Configure Working Hour Rules
| Setting | Description | Example |
|---|---|---|
| Minimum Working Hours (Full Day) | Minimum hours required for a full day of attendance | 8.0 |
| Minimum Working Hours (Half Day) | Minimum hours required for a half-day | 4.0 |
| Absent Below (hours) | Working hours below this threshold result in absent marking | 2.0 |
Working Hour Thresholds Explained:
| Working Hours | Status |
|---|---|
| 8.0 or more | Full Day (Present) |
| 4.0 to 7.99 | Half Day |
| 2.0 to 3.99 | Quarter Day or Absent (depends on configuration) |
| Below 2.0 | Absent |
Tip: Set the half-day threshold to exactly half of the full-day requirement. This creates a clear and predictable rule. For example: full day = 8 hours, half day = 4 hours.
Step 5: Configure Absent Marking Rules
| Setting | Description | Example |
|---|---|---|
| Mark Absent if No Check-In | Automatically mark employees as absent on working days with no check-in | Yes |
| Mark Absent After (time) | Time after which the system marks an employee absent if no check-in exists | End of shift |
| Absent Working Days Only | Only mark absent on configured working days (not weekends or holidays) | Yes |
Step 6: Configure Auto-Checkout
| Setting | Description | Example |
|---|---|---|
| Auto-Checkout Enabled | Automatically check out employees who forget to check out | Yes |
| Auto-Checkout Time | The time at which auto-checkout occurs | 23:59 |
| Auto-Checkout Based on Shift | Use the shift end time instead of a fixed time for auto-checkout | Yes |
| Auto-Checkout Working Hours | Working hours to record for auto-checkout (e.g., use shift hours or actual hours) | Use shift duration |
Warning: Auto-checkout at the end of shift is recommended over midnight auto-checkout. Midnight auto-checkout may record inflated working hours for employees who forgot to check out.
Step 7: Save the Policy
- Review all configured rules.
- Click Save.
- The policy appears in the Attendance Policies list.
Holiday and Weekend Validation
These rules control attendance behavior on non-working days.
| Setting | Description | Example |
|---|---|---|
| Allow Check-In on Holidays | Whether employees can check in on declared holidays | Yes |
| Allow Check-In on Weekends | Whether employees can check in on weekends | Yes |
| Count Holiday Attendance | Whether attendance on holidays counts for any purpose (overtime, comp-off) | Yes — as overtime |
| Count Weekend Attendance | Whether attendance on weekends counts for any purpose | Yes — as overtime |
Tip: Organizations that require weekend or holiday work should enable check-in on these days and configure the hours as overtime or compensatory off (comp-off).
Policy Assignment
After creating a policy, assign it to employees.
Assignment Levels
| Level | Description |
|---|---|
| Organization Default | Applies to all employees unless overridden at a lower level |
| Department Level | Applies to all employees in a specific department |
| Office Level | Applies to all employees in a specific office |
| Individual Employee | Applies to a specific employee, overriding department and office policies |
Assigning a Policy
As Organization Default
- On the Attendance Policies page, locate the policy.
- Click the Actions menu.
- Select Set as Default.
- The policy applies to all employees who do not have a department, office, or individual assignment.
To a Department
- Navigate to Settings > Organization > Departments.
- Edit the department.
- In the Attendance Policy field, select the desired policy.
- Save.
To an Individual Employee
- Open the employee's profile.
- Navigate to the Attendance section.
- In the Attendance Policy field, select the desired policy.
- Save.
Tip: Use the hierarchy wisely. Set a permissive default policy at the organization level, then apply stricter policies to departments or roles that require them (e.g., customer-facing teams, manufacturing units).
Policy Priority (Override Order)
When multiple policies could apply to an employee, the system follows this priority order (highest to lowest):
| Priority | Level |
|---|---|
| 1 (Highest) | Individual Employee assignment |
| 2 | Department assignment |
| 3 | Office assignment |
| 4 (Lowest) | Organization Default |
If an employee has an individual policy assigned, that policy applies regardless of department or office settings.
Impact on Payroll — LOP Calculation
Attendance policies directly affect payroll through Loss of Pay (LOP) calculations.
How LOP Is Calculated
| Scenario | LOP Days |
|---|---|
| Employee absent for a full working day (no leave approved) | 1 LOP day |
| Employee marked as half-day (working hours below full-day threshold) | 0.5 LOP day |
| Late arrival deduction (after exceeding monthly limit) | 0.5 LOP day per excess late |
| Unauthorized early departure resulting in insufficient hours | 0.5 or 1 LOP day (based on actual hours) |
LOP in Payroll
During payroll processing:
- The system counts the number of LOP days for each employee based on attendance records and the applied policy.
- The per-day salary is calculated as:
monthly_salary / total_working_days_in_month. - LOP deduction =
per_day_salary * LOP_days. - The deduction appears in the payslip under the "Loss of Pay" component.
Warning: Review LOP calculations before finalizing payroll each month. Incorrect attendance policy settings can lead to unintended salary deductions. See Running Payroll for the payroll review process.
Example Policy Configurations
Standard Office Policy
| Setting | Value |
|---|---|
| Grace Period (on shift) | 15 minutes |
| Max Late Arrivals/Month | 3 |
| Late Deduction | Half-day after 3rd late |
| Min Working Hours (Full Day) | 8 hours |
| Min Working Hours (Half Day) | 4 hours |
| Auto-Checkout | At shift end + 30 minutes |
| Weekend Check-In | Not allowed |
| Holiday Check-In | Not allowed |
Manufacturing / Shift-Based Policy
| Setting | Value |
|---|---|
| Grace Period (on shift) | 5 minutes |
| Max Late Arrivals/Month | 2 |
| Late Deduction | LOP after 2nd late |
| Min Working Hours (Full Day) | 8 hours |
| Min Working Hours (Half Day) | 4 hours |
| Auto-Checkout | At shift end |
| Weekend Check-In | Allowed (as overtime) |
| Holiday Check-In | Allowed (as overtime) |
Flexible Hours Policy (IT/Services)
| Setting | Value |
|---|---|
| Grace Period (on shift) | 120 minutes |
| Max Late Arrivals/Month | Unlimited |
| Late Deduction | None |
| Min Working Hours (Full Day) | 8 hours |
| Min Working Hours (Half Day) | 4 hours |
| Auto-Checkout | At midnight |
| Weekend Check-In | Allowed |
| Holiday Check-In | Allowed |
Editing and Deleting Policies
Editing
- Navigate to the Attendance Policies page.
- Click the policy name.
- Click Edit.
- Modify settings and save.
Warning: Changes to a policy affect all employees currently assigned to it. Changes apply from the current date forward and do not alter past attendance records.
Deleting
- Click the Actions menu for the policy.
- Select Delete.
- Confirm.
Warning: You cannot delete a policy that is currently assigned to employees or set as the organization default. Reassign all employees and remove the default designation before deleting.
Common Issues and Solutions
| Issue | Cause | Solution |
|---|---|---|
| Employees not being marked late | Grace period is too generous | Reduce the grace period on the shift or the late-mark-after value on the policy |
| All employees showing as half-day | Minimum working hours threshold is too high | Adjust the full-day minimum working hours to match actual expectations |
| LOP deductions are unexpected | Policy rules are too strict | Review the policy; increase the late arrival limit or adjust thresholds |
| Weekend attendance not counting | Weekend check-in is disabled in the policy | Enable weekend check-in and configure it to count as overtime |
| Auto-checkout not working | Auto-checkout is disabled in the policy | Enable auto-checkout and set the trigger time |
Next Steps
- Set up attendance devices for automated check-in — see Attendance Devices & Face Recognition
- Configure overtime tracking — see Overtime Requests
- Review attendance reports — see Attendance Calendar & Reports
Attendance Devices & Face Recognition
Udyamo HRMS integrates with physical attendance devices (biometric terminals, face recognition cameras) to automate check-in and check-out. The AttendanceDevice model handles device registration and token-based authentication, while the EmployeeFace model stores facial embeddings for face recognition. This chapter covers setting up devices, registering employee faces, and managing the integration.
Prerequisites
Required: Before setting up attendance devices:
- Shifts must be configured and assigned to employees (see Creating & Assigning Shifts)
- Attendance policies should be in place (see Attendance Policies & Rules)
- The physical device must be installed, powered on, and connected to the network
- You need administrator access to Udyamo HRMS
Navigating to Device Management
- From the sidebar, click Attendance.
- Click Devices from the submenu.
- The Devices page displays a list of all registered attendance devices.

Understanding the AttendanceDevice Model
Each registered device has the following attributes:
| Field | Description | Example |
|---|---|---|
| Name | A descriptive name for the device | Main Entrance Biometric |
| Token | A unique authentication token used by the device to communicate with the Udyamo HRMS API | d3f1a2b4-e5c6-7890-abcd-ef1234567890 |
| Device Type | The type of device (biometric, face recognition, card reader) | Face Recognition |
| Location/Office | The office or location where the device is installed | Mumbai HQ — Lobby |
| Status | Active or Inactive | Active |
| Last Sync | Timestamp of the last successful communication with the server | 2025-06-15 18:30:00 |
Adding an Attendance Device
Step 1: Open the Add Device Form
- On the Devices page, click Add Device or Register New Device.
- The device registration form opens.
Step 2: Enter Device Details
- Name — Enter a descriptive name that identifies the device and its location (e.g., "Ground Floor Biometric", "Cafeteria Face Scanner").
- Device Type — Select the type:
- Biometric (Fingerprint) — Fingerprint scanner
- Face Recognition — Camera-based facial recognition
- Card Reader — RFID or proximity card reader
- Multi-Modal — Device supporting multiple methods
- Office — Select the office where the device is installed.
- Description — Optional notes about the device (model number, serial number, placement details).
Step 3: Generate the Authentication Token
- Click Generate Token or the token is auto-generated upon saving.
- The system creates a unique, cryptographically secure token.
- This token will be configured on the physical device to authenticate API requests.
Warning: The token is displayed only once when generated. Copy it immediately and store it securely. If you lose the token, you will need to regenerate it, which invalidates the previous token.
Step 4: Save the Device
- Click Save.
- The device appears in the Devices list with an Active status.
- Copy the generated token for device configuration.

Configuring the Physical Device
After registering the device in Udyamo HRMS, configure the physical device to communicate with the API.
Device Configuration Requirements
| Setting | Value |
|---|---|
| API Endpoint | Your Udyamo HRMS attendance API URL (e.g., https://yourcompany.udyamo.com/api/attendance) |
| Authentication Token | The token generated in the previous step |
| Authentication Method | Token-based (Bearer token in HTTP header) |
| Data Format | JSON |
| Sync Interval | How often the device pushes data to the server (typically real-time or every 1-5 minutes) |
How Token-Based Authentication Works
- The physical device sends an HTTP request to the Udyamo HRMS API.
- The request includes the token in the
Authorizationheader:Bearer <token>. - The server validates the token against the registered AttendanceDevice records.
- If valid, the attendance data (employee identifier, timestamp, event type) is accepted and processed.
- If invalid, the request is rejected with a 401 Unauthorized response.
Tip: Work with your device vendor to configure the API endpoint and token. Most modern biometric and face recognition devices support REST API integration with custom headers.
API Request Format
The device sends attendance events in the following format:
| Field | Description | Example |
|---|---|---|
| employee_identifier | The employee ID or face recognition match ID | EMP-001 |
| timestamp | The date and time of the event (ISO 8601) | 2025-06-15T09:03:00+05:30 |
| event_type | The type of event | check_in or check_out |
| device_id | The device's registered name or ID | main-entrance |
Face Recognition Setup
Face recognition uses the EmployeeFace model to store facial embeddings (mathematical representations of facial features) for each employee. When a face recognition device scans an employee, it generates embeddings and matches them against stored data.
How Facial Recognition Works
- Enrollment — The employee's face is scanned and converted into a numerical embedding (a vector of numbers representing facial features).
- Storage — The embedding is stored in the EmployeeFace model associated with the employee record.
- Recognition — When the device scans a face, it generates a real-time embedding and compares it against all stored embeddings.
- Match — If the similarity score exceeds the configured threshold, the employee is identified and the attendance event is recorded.
- Logging — An AttendanceEvent of type
device_check_inis created with the employee, timestamp, and device information.
Registering Employee Faces
Step 1: Navigate to Face Registration
- Open the employee's profile.
- Navigate to the Attendance or Face Recognition section.
- Click Register Face.
Alternatively:
- Navigate to Attendance > Devices > Face Registration.
- Select the employee from the dropdown.
Step 2: Capture Face Images
- The system prompts the employee to face the camera (web camera or connected device camera).
- Capture multiple images (typically 3-5) from slightly different angles for better accuracy:
- Front facing
- Slight left turn
- Slight right turn
- Slight upward tilt
- Slight downward tilt
- Each image is processed to extract facial embeddings.

Step 3: Review and Save
- The system displays the captured images with quality indicators (good, poor, retake needed).
- Review the captures. Retake any images marked as poor quality.
- Click Save to store the facial embeddings.
- The EmployeeFace record is created for the employee.
Tip: For best recognition accuracy:
- Ensure good, even lighting during enrollment
- Remove hats, scarves, or other face-covering accessories
- Ask the employee to maintain a neutral expression
- Capture in the same lighting conditions as the device location if possible
Face Registration Best Practices
| Practice | Reason |
|---|---|
| Register faces in the actual device environment | Matching lighting conditions improves accuracy |
| Update face data annually | Appearance changes over time can degrade matching accuracy |
| Register faces for all shifts | Different lighting conditions in day vs. night shifts |
| Test after registration | Have the employee attempt a check-in to verify recognition works |
Managing Employee Face Data
Viewing Registered Faces
- Open the employee's profile.
- Navigate to the Face Recognition section.
- View the registration status: Registered or Not Registered.
- If registered, the date of registration and number of stored embeddings are displayed.
Updating Face Data
If an employee's appearance has changed significantly (new glasses, major hairstyle change, weight change):
- Open the employee's profile.
- Navigate to Face Recognition.
- Click Update Face Data or Re-Register.
- Capture new images following the same process as initial registration.
- The new embeddings replace the old ones.
Deleting Face Data
- Open the employee's profile.
- Navigate to Face Recognition.
- Click Delete Face Data.
- Confirm the deletion.
- The employee will no longer be recognized by face recognition devices and must use an alternative check-in method.
Warning: Deleting face data is irreversible. The employee will need to go through the full registration process again.
Device Management
Viewing Device Status
The Devices list page shows:
| Column | Description |
|---|---|
| Device Name | The registered name |
| Type | Biometric, Face Recognition, Card Reader |
| Office | Assigned office location |
| Status | Active or Inactive |
| Last Sync | When the device last communicated with the server |
| Attendance Count (Today) | Number of attendance events recorded today |
Monitoring Device Health
Regularly check the Last Sync timestamp for each device. If a device has not synced recently, it may indicate:
- Network connectivity issues
- Device hardware failure
- API configuration problems
- Token expiry or invalidation
Tip: Set up monitoring alerts if a device has not synced within a configurable period (e.g., 1 hour during business hours). This allows proactive troubleshooting before attendance gaps accumulate.
Deactivating a Device
- On the Devices list, click the Actions menu for the device.
- Select Deactivate.
- The device status changes to Inactive.
- The device's token is still valid but the server rejects attendance data from inactive devices.
Reactivating a Device
- Click the Actions menu for the inactive device.
- Select Activate.
- The device status changes to Active and it can resume sending attendance data.
Regenerating a Token
If a device's token is compromised or lost:
- Click the device name to open its details.
- Click Regenerate Token.
- Confirm the action. The previous token is immediately invalidated.
- Copy the new token and reconfigure the physical device.
Warning: Regenerating a token immediately invalidates the previous token. The physical device will stop working until it is reconfigured with the new token.
Troubleshooting
| Problem | Possible Cause | Solution |
|---|---|---|
| Device not syncing | Network connectivity issue | Check the device's network connection; verify it can reach the API endpoint |
| "401 Unauthorized" errors in device logs | Invalid or expired token | Regenerate the token in Udyamo HRMS and reconfigure the device |
| Face recognition not matching employees | Poor lighting during enrollment | Re-register faces in conditions matching the device's environment |
| Face recognition not matching employees | Outdated face data | Update face registration for affected employees |
| High false-rejection rate | Recognition threshold set too high | Contact your device vendor to adjust the matching sensitivity |
| High false-acceptance rate | Recognition threshold set too low | Contact your device vendor to increase the matching sensitivity |
| Duplicate attendance entries | Device sending duplicate events | Check device sync interval; implement deduplication on the API side |
| Device registered but no data coming through | API endpoint misconfigured on the device | Verify the URL, token, and data format on the device |
| Attendance recorded but employee not matched | Employee identifier mismatch between device and HRMS | Ensure the employee ID on the device matches the Employee ID in Udyamo HRMS |
Security Considerations
| Consideration | Recommendation |
|---|---|
| Token storage | Store device tokens securely. Do not share via email or messaging. |
| Face data privacy | Facial embeddings are mathematical representations, not actual photographs. Communicate this to employees for privacy concerns. |
| Data in transit | Ensure the API endpoint uses HTTPS to encrypt data between the device and server. |
| Physical device security | Install devices in tamper-resistant enclosures. Restrict physical access to device configuration menus. |
| Employee consent | Obtain written consent from employees before collecting biometric or facial data, as required by applicable privacy laws. |
Warning: Indian data protection regulations may require explicit employee consent for collecting biometric data (fingerprints, facial data). Consult your legal team before enabling biometric or face recognition attendance.
Next Steps
- Enable location tracking for mobile check-ins — see Location Tracking
- Configure overtime policies for hours beyond shift — see Overtime Requests
- Review attendance reports to verify device data — see Attendance Calendar & Reports
Location Tracking
Udyamo HRMS captures employee location at the time of check-in to verify that employees are at their designated workplace. Using GPS coordinates and geo-fencing, the system can validate check-ins against office locations and provide visibility into where remote or field employees are working. This chapter covers configuring location tracking, geo-fencing, viewing check-in locations, and privacy considerations.
Prerequisites
Required: Before enabling location tracking:
- Offices must be configured with latitude and longitude coordinates (see Offices & Locations)
- Employees must use a device with GPS capability (smartphone, tablet) for location data to be captured
- Attendance tracking must be active (see Daily Check-In & Check-Out)
How Location Tracking Works
When an employee checks in through the web portal or mobile app, the system can capture their geographic coordinates (latitude and longitude). This location data is stored alongside the attendance record.
Location Capture Flow
- Employee initiates check-in on their device.
- The browser or app requests location permission from the device.
- The device provides GPS coordinates (latitude, longitude, accuracy).
- Udyamo HRMS records the coordinates with the attendance entry.
- If geo-fencing is enabled, the system compares the coordinates against the assigned office location.
- If the employee is within the geo-fence radius, the check-in is accepted.
- If the employee is outside the geo-fence, the check-in is either rejected or flagged (based on configuration).
Configuring Office Coordinates
Each office in Udyamo HRMS can have geographic coordinates configured for location-based attendance validation.
Setting Up Office Coordinates
- Navigate to Settings > Organization > Offices.
- Click the office name to edit it.
- Locate the Location section of the office form.
- Enter the following fields:
| Field | Description | Example |
|---|---|---|
| Latitude | The latitude coordinate of the office | 19.0760 |
| Longitude | The longitude coordinate of the office | 72.8777 |
| Geo-Fence Radius (meters) | The radius around the office within which check-ins are valid | 200 |
- Click Save.

Finding Your Office Coordinates
To find the latitude and longitude for your office:
- Open Google Maps in a browser.
- Navigate to your office location.
- Right-click on the exact location.
- The coordinates appear in the context menu (e.g., 19.0760, 72.8777).
- Copy the values and enter them into the office configuration.
Tip: Use the most precise location possible. If your office is in a multi-building campus, pin the coordinates to your specific building entrance or lobby.
Geo-Fencing for Check-In Validation
Geo-fencing creates a virtual boundary around the office location. Only check-ins from within this boundary are accepted.
How Geo-Fencing Works
- The system calculates the distance between the employee's check-in location and the assigned office coordinates.
- If the distance is less than or equal to the configured Geo-Fence Radius, the check-in is accepted.
- If the distance exceeds the radius, the system takes the configured action.
Geo-Fence Validation Actions
| Action | Description |
|---|---|
| Accept and Flag | The check-in is recorded but flagged as "outside geo-fence" for admin review |
| Reject | The check-in is rejected, and the employee sees an error message |
| Accept Without Flag | The check-in is recorded normally (geo-fencing effectively disabled) |
Configuring Geo-Fence Behavior
- Navigate to Attendance > Settings.
- Locate the Location Tracking section.
- Configure the following settings:
| Setting | Description | Example |
|---|---|---|
| Enable Location Tracking | Master toggle for location capture during check-in | Yes |
| Require Location for Check-In | Whether check-in is blocked if location is unavailable | No |
| Enable Geo-Fencing | Whether to validate check-in location against office coordinates | Yes |
| Geo-Fence Action | What to do when check-in is outside the geo-fence | Accept and Flag |
| Default Geo-Fence Radius | Default radius in meters (can be overridden per office) | 200 |
- Click Save.
Tip: Start with a generous geo-fence radius (300-500 meters) and the "Accept and Flag" action. This allows you to collect data on check-in locations without disrupting employees. Once you understand the patterns, tighten the radius if needed.
Setting the Geo-Fence Radius
The appropriate geo-fence radius depends on your workplace layout:
| Scenario | Recommended Radius |
|---|---|
| Small office building | 100-200 meters |
| Large campus or tech park | 300-500 meters |
| Industrial zone / factory | 500-1000 meters |
| City block with multiple offices | 200-400 meters |
| Remote/field work | Geo-fencing may not apply; use location logging instead |
Warning: Setting the radius too small (under 50 meters) can cause check-in failures due to GPS accuracy limitations. GPS on mobile devices typically has an accuracy of 5-20 meters in open areas but can be 50-100 meters in dense urban areas or indoors.
Location Captured During Check-In
When an employee checks in with location tracking enabled, the following data is stored:
| Data Point | Description |
|---|---|
| Latitude | GPS latitude of the check-in location |
| Longitude | GPS longitude of the check-in location |
| Accuracy (meters) | GPS accuracy reported by the device |
| Timestamp | The exact time of the check-in |
| Within Geo-Fence | Boolean indicating whether the check-in was within the configured radius |
| Distance from Office | Calculated distance in meters from the assigned office coordinates |
Viewing Employee Check-In Locations
On the Attendance Record
- Navigate to Attendance > Daily Attendance or the employee's attendance profile.
- Click on a specific date's attendance record.
- The detail view shows:
- Check-in time
- Check-in location (latitude, longitude)
- Distance from office
- Geo-fence status (within / outside)
On a Map
If map integration is enabled:
- Navigate to Attendance > Location Map or Attendance > Daily Attendance.
- Select the date.
- A map view displays pins for each employee's check-in location.
- Click on a pin to see the employee name, check-in time, and distance from office.
- The office location is shown as a separate marker with the geo-fence radius drawn as a circle.

Filtering the Map
| Filter | Description |
|---|---|
| Date | View check-in locations for a specific date |
| Department | Show only employees from a specific department |
| Office | Show check-ins relative to a specific office |
| Status | Filter by within geo-fence / outside geo-fence |
Location Tracking for Field Employees
For employees who work outside the office (sales representatives, delivery personnel, service technicians):
Handling Field Employees
| Approach | Description |
|---|---|
| Exempt from geo-fencing | Disable geo-fence validation for field employees; capture location for logging only |
| Multiple office assignments | Assign field employees to multiple offices (client sites) so they can check in from any assigned location |
| No geo-fence, location required | Require location capture but do not validate against any office; location is logged for reporting |
Configuring Field Employee Settings
- Open the field employee's profile.
- Navigate to the Attendance section.
- Set Geo-Fence Validation to Disabled or Log Only.
- Save.
Tip: For field teams, the location log serves as a record of where the employee was working rather than a compliance check. Use it for travel claims, customer visit verification, and route analysis.
Enabling and Disabling Location Tracking
Organization-Wide Toggle
- Navigate to Attendance > Settings > Location Tracking.
- Toggle Enable Location Tracking to Yes or No.
- Save.
When disabled:
- No location data is captured during check-in
- Geo-fencing is automatically disabled
- Existing location data in attendance records is retained
Per-Employee Override
Individual employees can be exempted from location tracking:
- Open the employee's profile.
- Navigate to the Attendance section.
- Set Location Tracking to Disabled.
- Save.
Privacy Considerations
Location tracking involves collecting personal geolocation data. Organizations must handle this responsibly.
Legal and Compliance Considerations
| Consideration | Recommendation |
|---|---|
| Employee consent | Obtain explicit, written consent from employees before enabling location tracking. Indian IT Act and data protection regulations may require this. |
| Data minimization | Capture location only during check-in and check-out, not continuously. Udyamo HRMS captures a single point-in-time location, not real-time tracking. |
| Data retention | Define how long location data is retained. Purge old data per your organization's retention policy. |
| Access control | Restrict who can view employee location data. Only administrators and direct managers should have access. |
| Transparency | Clearly communicate to employees what location data is collected, why it is collected, how it is used, and who can access it. |
| Opt-out process | Provide a mechanism for employees to raise concerns about location tracking through HR. |
What Udyamo HRMS Does NOT Do
| Activity | Status |
|---|---|
| Continuous GPS tracking | Not supported. Location is captured only at the moment of check-in and check-out. |
| Background location tracking | Not supported. The app does not track location when not in use. |
| Location sharing with third parties | Not done. Location data stays within the Udyamo HRMS platform. |
| Camera or microphone access | Not required for location tracking (only GPS). Face recognition is a separate, opt-in feature. |
Warning: If an employee denies location permission on their device, the check-in can still proceed if Require Location for Check-In is set to No. However, no location data will be captured for that check-in.
Employee Communication Template
When rolling out location tracking, consider sharing information like the following with your team:
What is changing: Check-ins will now capture your location to verify you are at your designated workplace.
What is captured: A single GPS coordinate at the moment you check in and check out. No continuous tracking.
Why: To ensure accurate attendance records and compliance with company attendance policies.
Your control: You will be asked to grant location permission on your device. Location is only accessed during check-in.
Privacy: Only HR administrators and your direct manager can view your check-in locations.
Troubleshooting
| Problem | Possible Cause | Solution |
|---|---|---|
| "Location permission denied" | Employee did not grant GPS permission | Ask the employee to enable location permission in their browser or device settings |
| Check-in rejected — outside geo-fence | Employee is not within the configured radius | Verify office coordinates are correct; increase the geo-fence radius if needed |
| Inaccurate location data | GPS accuracy is low (indoor, dense area) | The system logs accuracy; accept check-ins with low accuracy via the "Accept and Flag" policy |
| No location captured despite tracking enabled | Device does not have GPS capability | Location tracking requires a GPS-enabled device; desktop browsers may provide approximate IP-based location |
| Map not showing check-in pins | Map integration not configured or no data for the selected date | Verify the map feature is enabled; select a date with attendance data |
| "Location required" error on desktop | Location is required but desktop browser cannot provide precise GPS | Disable the "Require Location for Check-In" setting for desktop users or set it to optional |
Next Steps
- Configure overtime tracking for employees working extra hours — see Overtime Requests
- Set up attendance devices for biometric check-in — see Attendance Devices & Face Recognition
- Review attendance policies — see Attendance Policies & Rules
Overtime Requests
Udyamo HRMS provides a structured overtime management system built on the OvertimeRequest and OvertimeSetting models. Employees can submit overtime requests that go through an approval workflow, and approved overtime integrates with payroll for compensation. This chapter covers configuring overtime settings, submitting and approving requests, reporting, and payroll impact.
Prerequisites
Required: Before using overtime management:
- Shifts must be configured (see Creating & Assigning Shifts)
- Attendance policies should be in place, particularly the late-going policy (see Attendance Policies & Rules)
- Approval hierarchy must be configured so overtime requests are routed to the correct manager or administrator (see Roles & Permissions)
Navigating to Overtime Management
- From the sidebar, click Attendance.
- Click Overtime from the submenu.
- The Overtime page displays pending requests, approved requests, and a link to overtime settings.

Understanding Overtime in Udyamo HRMS
Overtime refers to hours worked beyond the employee's assigned shift end time. The system tracks overtime through two mechanisms:
- Automatic detection — When an employee checks out after the shift end time, the extra hours are logged in the attendance record.
- Overtime requests — Employees submit formal requests for overtime approval, specifying the date, hours, and reason.
The OvertimeSetting model controls whether automatic overtime is enabled, how it is calculated, and what limits apply. The OvertimeRequest model tracks individual requests through the approval workflow.
Configuring Overtime Settings
Navigating to Overtime Settings
- From the Overtime page, click Settings or Overtime Settings.
- Alternatively, navigate to Attendance > Settings and locate the Overtime section.
Overtime Settings Fields
| Setting | Description | Example |
|---|---|---|
| Enable Overtime | Master toggle to enable or disable overtime tracking | Yes |
| Overtime Calculation Method | How overtime hours are calculated | Actual hours beyond shift end |
| Minimum Overtime Threshold (minutes) | Minimum extra minutes after shift end before overtime is counted | 30 |
| Maximum Overtime Per Day (hours) | Cap on overtime hours that can be claimed per day | 4 |
| Maximum Overtime Per Month (hours) | Cap on total overtime hours per employee per month | 50 |
| Overtime Rate Multiplier | Multiplier for overtime pay calculation | 1.5x (time and a half) |
| Holiday Overtime Rate | Different multiplier for overtime on holidays | 2.0x (double time) |
| Require Pre-Approval | Whether employees must submit overtime requests before working overtime | Yes |
| Auto-Approve If Attendance Exists | Automatically approve overtime if attendance records show extra hours | No |
Configuring Settings — Step by Step
- Open Overtime Settings.
- Set Enable Overtime to Yes.
- Configure the Minimum Overtime Threshold. For example, set to 30 minutes to ignore minor check-out delays:
- If an employee works 15 minutes past shift end, no overtime is recorded.
- If they work 45 minutes past shift end, 45 minutes of overtime is recorded.
- Set the Maximum Overtime Per Day to prevent excessive claims.
- Set the Maximum Overtime Per Month for budgeting and compliance.
- Configure the Overtime Rate Multiplier based on your compensation policy.
- If your organization requires advance approval, set Require Pre-Approval to Yes.
- Click Save.

Warning: Indian labor law (Factories Act, 1948) stipulates that overtime wages must be paid at twice the ordinary rate of wages. Ensure your overtime rate complier meets the applicable legal requirements. Consult your legal team for the correct multiplier.
Overtime Rate Calculation
The overtime rate is calculated based on the employee's basic or gross pay and the configured multiplier.
Calculation Formula
Overtime Pay = (Monthly Basic Pay / Total Working Hours in Month) x Overtime Hours x Rate Multiplier
Example
| Parameter | Value |
|---|---|
| Monthly Basic Pay | INR 25,000 |
| Total Working Hours in Month | 176 hours (22 days x 8 hours) |
| Overtime Hours Worked | 10 hours |
| Rate Multiplier | 2.0x |
Per Hour Rate = 25,000 / 176 = INR 142.05
Overtime Pay = 142.05 x 10 x 2.0 = INR 2,840.91
Tip: The overtime rate base (basic pay vs. gross pay) can vary based on your organization's policy and applicable labor law. Verify the correct base with your payroll team.
Employees Submitting Overtime Requests
When to Submit
- Pre-approval required: Before working overtime (the request serves as authorization)
- Post-work submission: After working overtime, within a configurable submission window (e.g., within 3 days)
Step-by-Step: Submitting an Overtime Request
- Log in to Udyamo HRMS.
- Navigate to Attendance > Overtime or My Overtime from the self-service menu.
- Click New Overtime Request or Submit Request.
- Fill in the required fields:
| Field | Description | Required |
|---|---|---|
| Date | The date of the overtime work | Yes |
| Hours | Number of overtime hours (decimal supported, e.g., 2.5) | Yes |
| Reason | Justification for the overtime work | Yes |
| Project/Task | The project or task associated with the overtime (if applicable) | No |
- Click Submit.
- The request is sent to the approver (direct manager or configured authority).

Tip: Encourage employees to provide specific, detailed reasons for overtime. "Project deadline" is less useful than "Completing API integration for Project X, due April 1." Detailed reasons help managers make informed approval decisions.
Request Validation
The system validates the request against configured limits:
| Validation | Check |
|---|---|
| Date must be a past or current date | Prevents requests for future dates (unless pre-approval is enabled) |
| Hours must not exceed daily maximum | Compared against Maximum Overtime Per Day setting |
| Monthly total must not exceed maximum | Current month's approved overtime + new request must not exceed Maximum Overtime Per Month |
| Attendance record must exist (optional) | If configured, the employee must have an attendance record for the date showing actual overtime |
| No duplicate request | Only one overtime request per employee per date |
If validation fails, the employee sees an error message explaining why the request was rejected.
Approval Workflow
Approval Flow
- Employee submits the overtime request.
- The request appears in the approver's Pending Approvals queue.
- The approver reviews:
- The date and hours requested
- The reason provided
- The employee's attendance record for that date (actual check-in/check-out times)
- The employee's total approved overtime for the month
- The approver takes one of the following actions:
| Action | Description |
|---|---|
| Approve | The overtime is approved and will be included in the next payroll |
| Reject | The overtime is rejected with an optional comment explaining the reason |
| Request Revision | The approver asks the employee to modify the request (e.g., adjust hours) |
Approving an Overtime Request
- The manager/admin navigates to Attendance > Overtime > Pending Approvals.
- Clicks on a request to view details.
- Reviews the request alongside the attendance data for the date.
- Clicks Approve or Reject.
- If rejecting, enters a reason for the rejection.
- The employee is notified of the decision.

Bulk Approval
For managers with many pending overtime requests:
- Navigate to Attendance > Overtime > Pending Approvals.
- Use checkboxes to select multiple requests.
- Click Approve Selected or Reject Selected.
- For bulk rejection, enter a common reason.
Tip: Review overtime requests weekly to prevent a backlog. Unresolved requests delay payroll processing.
Overtime Request Statuses
| Status | Meaning |
|---|---|
| Pending | Submitted by the employee, awaiting manager/admin action |
| Approved | Manager/admin approved the request; overtime will be included in payroll |
| Rejected | Manager/admin rejected the request; no payroll impact |
| Cancelled | Employee cancelled the request before it was acted upon |
| Revision Requested | Approver asked the employee to modify and resubmit |
Approved Overtime Impact on Payroll
When overtime is approved, it integrates with the payroll module.
How Overtime Appears in Payroll
- During payrun processing (see Running Payroll), the system totals each employee's approved overtime hours for the pay period.
- The overtime pay is calculated using the configured rate multiplier.
- The overtime amount appears as a separate earning component in the payslip:
| Payslip Line | Calculation |
|---|---|
| Overtime Earnings | Sum of (approved hours x hourly rate x multiplier) for all approved requests in the period |
- Overtime earnings are added to the gross pay.
- Statutory deductions (EPF, ESIC, TDS) are calculated on the total gross pay including overtime.
Warning: Overtime earnings increase the gross pay, which may affect EPF and ESIC contributions. Ensure your payroll configuration handles this correctly. See Salary Components.
Overtime Reports
Accessing Overtime Reports
- Navigate to Attendance > Overtime > Reports.
- Select the report type and date range.
Available Reports
| Report | Description |
|---|---|
| Overtime Summary | Total overtime hours and cost per employee for a date range |
| Department-wise Overtime | Overtime hours aggregated by department |
| Monthly Overtime Trend | Month-over-month overtime hours and cost |
| Pending Requests Report | All pending overtime requests that have not been actioned |
| Approval History | Log of all approval and rejection actions with timestamps |
Overtime Summary Report Columns
| Column | Description |
|---|---|
| Employee Name | Full name |
| Employee ID | Organization employee ID |
| Department | Department name |
| Total Overtime Hours | Sum of approved overtime hours in the period |
| Overtime Rate | Applicable rate multiplier |
| Overtime Pay | Calculated overtime compensation |
| Requests (Approved / Total) | Number of approved requests out of total submitted |
Exporting Overtime Reports
- Generate the desired report.
- Click Export and choose CSV, Excel, or PDF.
- The report downloads for external analysis or record-keeping.

Viewing Overtime History
Employee View
- The employee navigates to Attendance > Overtime or My Overtime.
- A list of all submitted requests is displayed with:
- Date
- Hours
- Status (Pending, Approved, Rejected)
- Approver's comments (if any)
- The employee can filter by status and date range.
Manager View
- The manager navigates to Attendance > Overtime.
- Views overtime requests for their direct reports.
- Can filter by employee, status, and date range.
- Sees a summary of the team's total overtime for the current month.
Administrator View
- Administrators see all overtime requests across the organization.
- Full filtering capabilities: department, office, employee, status, date range.
- Access to all overtime reports.
Overtime Policies and Best Practices
Defining an Overtime Policy
Establish clear rules for when overtime is permitted:
| Policy Element | Example |
|---|---|
| Eligibility | Only non-managerial employees are eligible for overtime pay |
| Authorization | All overtime must be pre-approved by the department manager |
| Limits | Maximum 4 hours per day, 50 hours per month |
| Compensation | Overtime paid at 2x the basic hourly rate, as per the Factories Act |
| Submission deadline | Overtime requests must be submitted within 3 working days of the overtime date |
| Holiday overtime | Holiday overtime compensated at 2x rate or as compensatory leave (comp-off) |
Best Practices
- Pre-approval workflow — Enable pre-approval to control overtime costs. Unapproved overtime does not get compensated.
- Monthly caps — Set monthly overtime limits to prevent burnout and control costs.
- Regular review — Review overtime reports monthly. Consistently high overtime in a department may indicate understaffing.
- Comp-off alternative — For exempt employees, offer compensatory time off instead of monetary compensation.
- Audit trail — All overtime submissions, approvals, and rejections are logged. Use this for compliance audits and dispute resolution.
Tip: Communicate your overtime policy clearly to all employees. Include it in the employee handbook and reference it in the Udyamo HRMS self-service portal.
Compensatory Off (Comp-Off)
Some organizations offer compensatory leave instead of or in addition to overtime pay for work on holidays and weekends.
How Comp-Off Works with Overtime
- Employee works on a holiday or weekend.
- Instead of (or in addition to) an overtime payment, the employee earns a comp-off day.
- The comp-off is credited to the employee's leave balance under a "Compensatory Off" leave category.
- The employee can use the comp-off as a regular leave day.
Configuration
Comp-off integration with leave management is configured under Settings > Leaves & Attendance > Categories. See Setting Up Leave Categories for details.
Common Issues and Solutions
| Issue | Cause | Solution |
|---|---|---|
| "Maximum daily overtime exceeded" | Employee requested more hours than the daily cap | Adjust the request hours or increase the daily limit in settings |
| "Monthly overtime limit reached" | Employee's total approved overtime for the month exceeds the cap | Reject the request or increase the monthly limit |
| "No attendance record for this date" | System requires attendance proof but no check-in was recorded | Add a manual attendance entry for the date (admin), then resubmit the overtime request |
| "Duplicate request for this date" | An overtime request already exists for the same employee and date | Edit or cancel the existing request before submitting a new one |
| Overtime not appearing in payslip | Request is still pending approval | Approve the request before running payroll |
| Overtime not appearing in payslip | Payroll was already processed for the period | Process an off-cycle payroll or include the overtime in the next period |
| Incorrect overtime amount | Wrong rate multiplier or base salary used | Verify overtime settings and the employee's salary structure |
| Manager not receiving overtime requests | Approval workflow not configured for the manager | Check the reporting hierarchy and role permissions |
Integration with Attendance Data
Overtime requests can be cross-verified against actual attendance records:
| Attendance Field | Overtime Relevance |
|---|---|
| Check-Out Time | Verifies the employee actually worked beyond the shift end |
| Working Hours | Confirms total hours worked exceed the shift duration |
| Attendance Events | Provides a timeline of check-in, check-out, and breaks |
| Location Data | Confirms the employee was at the workplace during the claimed overtime period |
Managers should review the attendance record alongside the overtime request before approving. The approval screen displays the attendance data for quick reference.
Next Steps
- Configure leave management for compensatory leave — see Setting Up Leave Categories
- Run payroll including overtime earnings — see Running Payroll
- Review attendance reports — see Attendance Calendar & Reports
Setting Up Leave Categories
Leave categories define the types of time off available to employees in your organization. Before you can create leave policies or process leave requests, you must configure the leave categories that apply to your workforce — such as Casual Leave, Sick Leave, Privilege Leave, and others.
This chapter walks through the process of creating, editing, and managing leave categories in Udyamo HRMS.
What You Will Learn
- What leave categories are and how they relate to leave policies
- How to navigate to the leave category settings
- How to create a new leave category
- The difference between paid and unpaid leave types
- Common leave categories used by Indian organizations
- How to edit and delete existing categories
- How leave type classification affects payroll (Loss of Pay)
Prerequisites
Required: You must have an Administrator or HR Manager role to configure leave categories. The Leave feature toggle must be enabled under Settings > Features.
Understanding Leave Categories
A leave category is a classification of time off. Each category has a name, a type (paid or unpaid), and optional attributes like color coding and description. Leave categories serve as the foundation for the entire leave management system:
- Leave categories define what kinds of leave exist (e.g., Sick Leave, Casual Leave).
- Leave policies define how many days of each category employees earn and how balances accumulate.
- Leave requests are filed by employees against a specific category.
Every leave request in Udyamo HRMS must be associated with exactly one leave category.

Navigating to Leave Categories
To access leave category configuration:
- Click Settings in the left sidebar.
- Select Leaves & Attendance from the settings menu.
- Click Categories.
The Categories page displays all existing leave categories in a list, showing each category's name, type, color, and current status.

Creating a New Leave Category
To create a leave category:
- Navigate to Settings > Leaves & Attendance > Categories.
- Click the Add Category button.
- Fill in the category details in the form that appears.
- Click Save to create the category.
Category Fields
| Field | Description | Required |
|---|---|---|
| Name | The display name of the leave category (e.g., "Casual Leave"). | Yes |
| Short Code | An abbreviated code used in reports and leave balances (e.g., "CL"). | Yes |
| Type | Whether the leave is Paid or Unpaid. | Yes |
| Description | An optional explanation of the category, visible to employees when applying for leave. | No |
| Color | A color used to visually distinguish this category in calendars and reports. | No |
Paid vs. Unpaid Leave
The Type field determines how the leave category interacts with payroll:
- Paid leave — The employee receives their normal salary for days taken under this category. No payroll deduction occurs.
- Unpaid leave — Days taken under this category result in a Loss of Pay (LOP) deduction during payroll processing. The payroll system calculates LOP days based on unpaid leave consumption and reduces the employee's gross pay proportionally.
Tip: If you need a leave type that does not deduct salary but also does not draw from an earned balance (such as a company-granted special day off), create it as a paid leave category with a separate policy that grants exactly the required number of days.
Step-by-Step Example: Creating Casual Leave
- Navigate to Settings > Leaves & Attendance > Categories.
- Click Add Category.
- Enter the following details:
- Name: Casual Leave
- Short Code: CL
- Type: Paid
- Description: Short-term leave for personal matters, appointments, or emergencies.
- Color: Select a blue shade.
- Click Save.
The new Casual Leave category now appears in the category list and is available for use in leave policies.

Common Indian Leave Categories
Indian labor laws and standard HR practices call for several common leave types. The table below lists the categories most organizations configure:
| Category | Short Code | Type | Typical Entitlement | Notes |
|---|---|---|---|---|
| Casual Leave | CL | Paid | 7 -- 12 days/year | For short personal needs; usually cannot be carried forward |
| Sick Leave | SL | Paid | 7 -- 12 days/year | For illness or medical appointments; may require a medical certificate for extended absences |
| Privilege Leave / Earned Leave | PL / EL | Paid | 15 -- 30 days/year | Accrues over time; typically can be carried forward; used for planned vacations |
| Maternity Leave | ML | Paid | 26 weeks | As per the Maternity Benefit Act, 2017; applicable to women employees |
| Paternity Leave | PTL | Paid | 5 -- 15 days | Not mandated by central law but commonly offered |
| Compensatory Off | CO | Paid | As earned | Granted when an employee works on a holiday or rest day |
| Leave Without Pay | LWP | Unpaid | No limit | Used when all paid leave balances are exhausted |
| Bereavement Leave | BL | Paid | 3 -- 5 days | For the death of an immediate family member |
| Marriage Leave | MRL | Paid | 3 -- 5 days | Offered by some organizations for an employee's own marriage |
| Restricted Holiday | RH | Paid | 2 -- 3 days/year | Employee can choose from a list of optional holidays |
Tip: You do not need to create all these categories at once. Start with the mandatory ones for your state and industry (CL, SL, PL/EL), then add others as your policy evolves.
Editing a Leave Category
To modify an existing leave category:
- Navigate to Settings > Leaves & Attendance > Categories.
- Locate the category you want to edit in the list.
- Click on the category name or the Edit icon.
- Update the desired fields (name, short code, type, description, or color).
- Click Save to apply the changes.
What Changes Are Safe to Make
| Change | Impact |
|---|---|
| Renaming the category | Updates the display name everywhere; existing leave records are preserved. |
| Changing the color | Visual change only; no impact on data. |
| Updating the description | Informational change; no impact on existing records. |
| Changing type (Paid to Unpaid) | Affects future payroll calculations. Existing processed payroll records are not retroactively changed. |
Warning: Changing a category from Paid to Unpaid (or vice versa) affects how future leave under that category is treated in payroll. Review all associated leave policies and pending leave requests before making this change.
Deleting a Leave Category
To delete a leave category:
- Navigate to Settings > Leaves & Attendance > Categories.
- Locate the category you want to remove.
- Click the Delete icon next to the category.
- Confirm the deletion when prompted.
Deletion Restrictions
A leave category cannot be deleted if:
- There are existing leave requests (in any status) associated with it.
- There are active leave policies referencing the category.
- There are leave balance records tied to the category.
If you need to retire a category that has historical data, the recommended approach is to:
- Remove the category from all active leave policies so that no new accruals occur.
- Allow existing balances to lapse at year-end.
- Leave the category in place for historical reporting purposes.
Tip: Rather than deleting a category with historical data, consider renaming it to include "(Discontinued)" so that HR staff know it is no longer in active use.
Leave Category Impact on Payroll
The relationship between leave categories and payroll is critical to understand:
Paid Leave Categories
When an employee takes leave under a paid category and has sufficient balance, no payroll deduction occurs. The leave days are treated as regular working days for salary calculation purposes.
Unpaid Leave Categories (LOP)
When an employee takes leave under an unpaid category, those days are recorded as Loss of Pay (LOP) days in the payroll system. During payrun processing:
-
The system counts the total LOP days for the payroll period.
-
LOP days reduce the paid_days count in the PayrollRecord.
-
The employee's gross pay is calculated on a pro-rata basis:
Pro-rata salary = (Monthly salary / Total working days) x Paid days
-
The LOP deduction appears as a separate line item on the payslip.
Paid Leave With Insufficient Balance
If an employee applies for a paid leave category but has insufficient balance, the behavior depends on your organization's policy:
- The leave request may be rejected by the approver.
- If approved despite insufficient balance, the excess days may be treated as LOP during payroll processing.
Warning: Ensure your leave policies and approval workflows align so that employees are not inadvertently marked for LOP deductions. Train managers to check leave balances before approving requests.
Best Practices
- Use descriptive names and short codes. "Casual Leave (CL)" is clearer than "Type A Leave."
- Assign distinct colors. Color coding helps employees and managers quickly identify leave types on calendars and reports.
- Document your descriptions. Include eligibility criteria, documentation requirements, and any restrictions in the description field so employees can self-serve.
- Keep the number of categories manageable. Most organizations need 5 to 8 active categories. Too many categories lead to confusion.
- Align with your state's labor laws. Leave entitlements vary by state in India. Ensure your categories cover all legally mandated leave types for the states where you operate.
What Comes Next
With leave categories defined, the next step is to create leave policies that specify accrual rules, limits, and carry-over behavior for each category. Proceed to Chapter 22: Leave Policies — Accrual, Carry-Over & Limits.
Leave Policies — Accrual, Carry-Over & Limits
A leave policy defines how employees earn leave, how much they can accumulate, and what happens to unused leave at the end of the year. While leave categories define the types of leave, leave policies define the rules that govern each type.
This chapter covers creating leave policies, configuring accrual methods, setting carry-over rules, assigning policies to employees, and managing custom time-off settings.
What You Will Learn
- How leave policies relate to leave categories
- How to create a new leave policy
- The three accrual types: monthly credit, annual credit, and manual
- How to set maximum accumulation limits
- How carry-over and lapse rules work
- How to assign policies to individual employees or groups
- Custom time-off configuration (partial-day leave)
- Past leave restriction settings
- How to edit and manage existing policies
Prerequisites
Required: Leave categories must be configured before you can create leave policies. See Chapter 21: Setting Up Leave Categories. You must have an Administrator or HR Manager role.
Understanding the Leave Policy Model
A leave policy in Udyamo HRMS connects a leave category to a set of rules:
| Concept | Description |
|---|---|
| Leave Category | The type of leave (e.g., Casual Leave, Sick Leave). |
| Leave Policy | The rules for that category — how days are earned, limits, and carry-over. |
| LeavePolicyEmployee | The assignment record that links an employee to a specific policy. |
One leave category can have multiple policies. For example, you might have two Casual Leave policies — one for probationary employees (6 days/year) and another for confirmed employees (12 days/year).

Creating a New Leave Policy
To create a leave policy:
- Navigate to Settings > Leaves & Attendance > Leave Policies.
- Click Add Leave Policy.
- Fill in the policy details as described below.
- Click Save.
Policy Configuration Fields
| Field | Description | Required |
|---|---|---|
| Policy Name | A descriptive name (e.g., "CL Policy — Confirmed Staff"). | Yes |
| Leave Category | The leave category this policy applies to. | Yes |
| Accrual Type | How leave is credited: Monthly, Annual, or Manual. | Yes |
| Accrual Amount | The number of days credited per accrual period. | Yes |
| Maximum Accumulation | The maximum number of days an employee can accumulate. | No |
| Carry-Over Amount | The maximum number of unused days that can be carried to the next year. | No |
| Effective From | The date from which this policy takes effect. | Yes |
| Effective To | The date until which this policy is active (leave blank for indefinite). | No |

Accrual Types
The accrual type determines when and how leave days are credited to employee balances. Udyamo HRMS supports three accrual methods.
Monthly Credit
Leave days are credited to the employee's balance at the beginning (or end) of each calendar month.
Example: If the accrual amount is set to 1.5 days/month for Privilege Leave, an employee accumulates 1.5 days each month, totaling 18 days over a full year.
| Month | Monthly Credit | Cumulative Balance |
|---|---|---|
| April | 1.5 | 1.5 |
| May | 1.5 | 3.0 |
| June | 1.5 | 4.5 |
| ... | ... | ... |
| March | 1.5 | 18.0 |
When to use: Monthly accrual is ideal for Privilege Leave / Earned Leave, where the employee "earns" leave progressively. This is also the most common method for organizations that want to prevent employees from using their full annual entitlement in the first month.
Annual Credit
The full entitlement for the year is credited at the beginning of the fiscal year in a single lump sum.
Example: If the accrual amount is 12 days/year for Casual Leave, all 12 days are available from Day 1 of the fiscal year.
When to use: Annual credit is suitable for Casual Leave and Sick Leave, where the full balance is typically available immediately. This is the simpler method and works well for organizations with straightforward leave policies.
Manual Credit
Leave is not automatically accrued. An administrator must manually credit days to employee balances.
When to use: Manual credit is appropriate for:
- Compensatory Off (CO) — credited when an employee works on a holiday.
- Special leave grants — one-time credits for extraordinary circumstances.
- Organizations with complex or irregular accrual rules not covered by the standard monthly/annual methods.
Tip: For most organizations, use Annual Credit for Casual Leave and Sick Leave, and Monthly Credit for Privilege/Earned Leave. Reserve Manual Credit for Compensatory Off and ad-hoc grants.
Pro-Rata Accrual for Mid-Year Joiners
When an employee joins mid-year, the accrual is automatically calculated on a pro-rata basis:
Pro-rata annual entitlement = (Annual accrual amount / 12) x Remaining months in the fiscal year
For monthly accrual, the system simply starts crediting from the month in which the employee joins.
Example (Annual Credit): An employee joins on August 15. The Casual Leave policy has an annual credit of 12 days. The fiscal year starts in April.
- Remaining months: August through March = 8 months
- Pro-rata entitlement: (12 / 12) x 8 = 8 days
Maximum Accumulation Limits
The Maximum Accumulation field caps the total number of leave days an employee can hold at any time for a given category. Once the cap is reached, further accruals stop until the employee consumes some leave.
Example: If Privilege Leave accrues at 1.5 days/month with a maximum accumulation of 30 days, an employee who has not taken any PL will stop accumulating after 20 months (30 days reached). They will resume accumulating only after they consume some leave and their balance drops below 30.
| Scenario | Monthly Credit | Existing Balance | New Balance | Note |
|---|---|---|---|---|
| Normal accrual | 1.5 | 20.0 | 21.5 | Below cap |
| At cap | 1.5 | 30.0 | 30.0 | Accrual blocked |
| After consumption | 1.5 | 28.0 | 29.5 | Accrual resumes |
Warning: If you set a maximum accumulation limit, clearly communicate this to employees. Unused leave that exceeds the cap is effectively lost. Encourage employees to use their leave regularly.
Carry-Over Rules
Carry-over settings determine what happens to unused leave at the end of the fiscal year.
Carry-Over Amount
The Carry-Over Amount specifies the maximum number of unused days that transfer to the next fiscal year. Any unused days beyond this limit lapse and are forfeited.
Carry-Over Scenarios
| Current Balance | Carry-Over Limit | Carried Forward | Lapsed |
|---|---|---|---|
| 10 days | 5 days | 5 days | 5 days |
| 3 days | 5 days | 3 days | 0 days |
| 15 days | 10 days | 10 days | 5 days |
| 8 days | Unlimited | 8 days | 0 days |
No Carry-Over (Lapse All)
If the carry-over amount is set to 0, all unused leave for that category lapses at the end of the fiscal year. The balance resets to zero, and new accruals begin for the next year.
Typical use: Casual Leave and Sick Leave often have a zero carry-over policy.
Unlimited Carry-Over
If the carry-over amount is left blank or set to a very high number, all unused leave is carried forward without any lapse.
Typical use: Privilege Leave / Earned Leave is sometimes allowed to carry forward fully, subject to a maximum accumulation cap.
Tip: The combination of carry-over limits and maximum accumulation limits together controls long-term leave balance growth. Use carry-over to manage year-end behavior and maximum accumulation to set an overall ceiling.
Assigning Policies to Employees
A leave policy does not take effect until it is assigned to employees. Udyamo HRMS uses the LeavePolicyEmployee model to track these assignments.
Assigning During Policy Creation
- After saving the leave policy, the system may prompt you to assign it to employees.
- Select the employees or employee groups (by department, designation, or office) who should receive this policy.
- Click Assign.
Assigning from the Employee Profile
- Navigate to the employee's profile.
- Go to the Leave tab.
- Click Assign Leave Policy.
- Select the policy from the dropdown for each leave category.
- Click Save.
Bulk Assignment
- Navigate to Settings > Leaves & Attendance > Leave Policies.
- Select the policy you want to assign.
- Click Assign to Employees.
- Use the filters (department, designation, office) to select a group of employees.
- Review the selection and click Assign.

Warning: An employee can have only one active policy per leave category at a time. If you assign a new policy for a category that already has an active assignment, the new policy replaces the previous one from its effective date.
Custom Time-Off Configuration
Udyamo HRMS supports partial-day leave, allowing employees to take leave for a specific number of hours rather than a full or half day. This feature is controlled by the min_custom_time_off_minutes setting.
Configuring Custom Time-Off
- Navigate to Settings > Leaves & Attendance.
- Locate the Minimum Custom Time-Off setting.
- Set the value in minutes (e.g., 60 for a 1-hour minimum, 120 for a 2-hour minimum).
- Click Save.
How Custom Time-Off Works
| Setting | Employee Can Apply For |
|---|---|
| Not configured | Full day or half day only |
| 60 minutes | Any duration of 1 hour or more |
| 120 minutes | Any duration of 2 hours or more |
| 30 minutes | Any duration of 30 minutes or more |
When an employee applies for custom time-off, they specify the number of hours. The system converts these hours to a fraction of a day based on the employee's shift duration and deducts accordingly from the leave balance.
Example: An employee on an 8-hour shift takes 4 hours of custom time-off for Casual Leave. The system deducts 0.5 days from their CL balance.
Tip: Custom time-off is useful for organizations with flexible schedules or those that allow employees to attend short appointments without taking a full half-day off.
Past Leave Restrictions
The past_leave_enabled setting controls whether employees can apply for leave on dates that have already passed.
Configuration
- Navigate to Settings > Leaves & Attendance.
- Locate the Allow Past Leaves setting.
- Toggle the setting on or off.
- Click Save.
Behavior
| Setting | Employee Behavior |
|---|---|
| Enabled | Employees can apply for leave on past dates. Useful for retroactive adjustments. |
| Disabled | Employees can only apply for leave on today's date or future dates. Past dates are blocked. |
Warning: Disabling past leaves prevents employees from regularizing unplanned absences after the fact. If you disable this setting, ensure your managers have a process to handle retroactive leave requests on behalf of employees.
Policy Effective Dates
Each leave policy has an Effective From date and an optional Effective To date.
- Effective From: The date from which the policy begins crediting leave and governing balances. Leave requests before this date are not affected by this policy.
- Effective To: The date on which the policy stops being active. Leave blank for an open-ended policy.
Transitioning Between Policies
When you need to change leave entitlements (e.g., increasing CL from 10 to 12 days for the next fiscal year):
- Set the Effective To date on the current policy to the last day of the current fiscal year.
- Create a new policy with the updated entitlements and set its Effective From date to the first day of the next fiscal year.
- Assign the new policy to the relevant employees.
This ensures a clean transition with full audit history.
Editing Existing Policies
To modify a leave policy:
- Navigate to Settings > Leaves & Attendance > Leave Policies.
- Click on the policy name to open it.
- Update the desired fields.
- Click Save.
Safe vs. Impactful Changes
| Change | Impact |
|---|---|
| Rename the policy | No impact on balances or accruals. |
| Change accrual amount | Affects future accruals only. Past credits are not recalculated. |
| Change carry-over limit | Applies at the next year-end processing. |
| Change maximum accumulation | May cause accruals to stop immediately if current balances exceed the new cap. |
| Change accrual type | Significant change. Review all affected employee balances after saving. |
Warning: Modifying an active policy affects all employees currently assigned to it. If you need different rules for a subset of employees, create a new policy rather than modifying the existing one.
Sample Policy Configurations
The following table provides typical configurations for common leave categories in Indian organizations:
| Category | Accrual Type | Accrual Amount | Max Accumulation | Carry-Over | Notes |
|---|---|---|---|---|---|
| Casual Leave | Annual | 12 days | 12 days | 0 (lapse all) | Full credit at start of year; no carry-over |
| Sick Leave | Annual | 7 days | 7 days | 0 (lapse all) | Full credit at start of year; no carry-over |
| Privilege Leave | Monthly | 1.25 days | 45 days | 15 days | Earned progressively; carry-over capped at 15 |
| Maternity Leave | Manual | 182 days | 182 days | 0 | Credited manually when employee qualifies |
| Compensatory Off | Manual | As earned | 5 days | 0 | Credited by admin when employee works on holiday |
| Leave Without Pay | Manual | Unlimited | No cap | 0 | Unpaid leave; no accrual needed |
Best Practices
- Name policies clearly. Include the category name and the target employee group in the policy name (e.g., "CL Policy — Probation" vs. "CL Policy — Confirmed").
- Document your accrual rules. Maintain an internal reference document that maps each category to its policy rules, so HR staff can answer employee queries consistently.
- Review policies annually. At the start of each fiscal year, review and update policies to reflect any changes in company guidelines or labor law amendments.
- Test with a small group first. When creating a new policy, assign it to a few test employees and verify that accruals, balances, and carry-over behave as expected before rolling it out organization-wide.
- Communicate changes to employees. Whenever you change leave entitlements, send an announcement (see Chapter 42: Announcements & Notifications) so employees are aware.
What Comes Next
With leave categories and policies configured, the next step is to set up your organization's holiday calendar. Proceed to Chapter 23: Holidays.
Holidays
Holidays are organization-defined non-working days on which employees are not expected to attend work. Configuring your holiday calendar correctly is essential because holidays affect attendance tracking, leave calculations, and payroll processing.
This chapter covers adding holidays to Udyamo HRMS, managing organization-wide and office-specific holidays, and understanding how holidays interact with other modules.
What You Will Learn
- How to navigate to the Holidays section
- How to add individual holidays
- The difference between organization-wide and office-specific holidays
- How to manage national holidays vs. optional/restricted holidays
- How to set up recurring annual holidays
- How to bulk upload holidays
- How holidays affect attendance, leave, and payroll
- How to edit and delete holidays
Prerequisites
Required: You must have an Administrator or HR Manager role. At least one office must be configured if you plan to use office-specific holidays. See Chapter 7: Offices & Locations.
Navigating to Holidays
To access the holiday calendar:
- Click Holidays in the left sidebar navigation.
The Holidays page displays a calendar view (month-by-month) showing all configured holidays, along with a list view that shows holiday details in a table format.

Adding a Holiday
To add a new holiday:
- Navigate to Holidays.
- Click Add Holiday.
- Fill in the holiday details.
- Click Save.
Holiday Fields
| Field | Description | Required |
|---|---|---|
| Holiday Name | The name of the holiday (e.g., "Republic Day", "Diwali"). | Yes |
| Start Date | The first day of the holiday. | Yes |
| End Date | The last day of the holiday. For single-day holidays, this is the same as the start date. | Yes |
| Office | The office(s) to which this holiday applies. Select "All Offices" for organization-wide holidays, or choose specific offices. | Yes |
| Type | Whether the holiday is a National Holiday (mandatory for all) or an Optional/Restricted Holiday (employees can choose). | No |
Step-by-Step Example: Adding Republic Day
- Navigate to Holidays.
- Click Add Holiday.
- Enter the following details:
- Holiday Name: Republic Day
- Start Date: January 26
- End Date: January 26
- Office: All Offices
- Type: National Holiday
- Click Save.
Republic Day now appears on the holiday calendar for all offices.

Organization-Wide vs. Office-Specific Holidays
Udyamo HRMS supports two scopes for holidays:
Organization-Wide Holidays
These apply to all offices across the organization. National holidays and company-wide occasions (such as the company's foundation day) are typically organization-wide.
Configuration: Select All Offices in the Office field when creating the holiday.
Office-Specific Holidays
These apply only to employees at selected offices. Regional holidays (state-specific festivals, local observances) are typically office-specific.
Configuration: Select one or more specific offices in the Office field when creating the holiday.
Example: Onam is a major festival in Kerala but not a holiday in Maharashtra. You would create an "Onam" holiday and assign it only to your Kerala office.
| Holiday | Scope | Offices |
|---|---|---|
| Republic Day | Organization-wide | All Offices |
| Independence Day | Organization-wide | All Offices |
| Diwali | Organization-wide | All Offices |
| Onam | Office-specific | Kochi Office |
| Pongal | Office-specific | Chennai Office |
| Bihu | Office-specific | Guwahati Office |
| Ganesh Chaturthi | Office-specific | Mumbai Office, Pune Office |
Tip: Start by adding the standard national holidays that apply to all offices, then add regional holidays for each office separately. This prevents employees in one state from seeing holidays that do not apply to them.
National Holidays vs. Optional Holidays
National Holidays
National holidays are mandatory non-working days. All employees at the assigned offices are off on these days. No check-in is expected, and no leave is deducted.
Common national holidays for India:
| Holiday | Date |
|---|---|
| Republic Day | January 26 |
| Independence Day | August 15 |
| Gandhi Jayanti | October 2 |
Optional / Restricted Holidays
Optional holidays provide employees with a choice. The organization publishes a list of optional holidays, and employees can select a limited number (typically 2 -- 3 per year) from this list.
How to manage optional holidays in Udyamo HRMS:
- Create a leave category called "Restricted Holiday" (see Chapter 21).
- Create a leave policy for this category with an annual credit equal to the number of optional holidays an employee can choose (e.g., 2 days).
- Add all optional holidays to the holiday calendar with the Type set to "Optional."
- Employees apply for leave on their chosen optional holidays using the Restricted Holiday category.
Tip: Clearly communicate to employees which holidays are mandatory (no action needed) and which are optional (they must apply using the Restricted Holiday category).
Multi-Day Holidays
Some holidays span more than one day. To configure a multi-day holiday:
- Click Add Holiday.
- Set the Start Date to the first day of the holiday period.
- Set the End Date to the last day of the holiday period.
- Fill in the remaining fields and click Save.
Example: Diwali might span 2 -- 3 days depending on your organization's policy:
- Holiday Name: Diwali
- Start Date: November 1
- End Date: November 3
- Office: All Offices
All three days (November 1, 2, and 3) are marked as holidays.
Recurring Annual Holidays
Many holidays recur every year on the same date (e.g., Republic Day is always January 26). However, some holidays follow the lunar calendar and fall on different dates each year (e.g., Diwali, Eid, Holi).
Setting Up Holidays for a New Year
At the start of each calendar or fiscal year:
- Navigate to Holidays.
- Add all holidays for the upcoming year with correct dates.
- For fixed-date holidays, enter the same date as the previous year.
- For variable-date holidays, consult the official government gazette or calendar for the correct dates.
Tip: Plan your annual holiday calendar in advance — ideally before the start of the fiscal year. Publish it as an announcement so employees can plan their personal leave around public holidays.
Bulk Holiday Upload
For organizations with many holidays or multiple offices, manually adding each holiday can be time-consuming. Udyamo HRMS supports bulk holiday upload via a template file.
Steps for Bulk Upload
- Navigate to Holidays.
- Click Import or Bulk Upload.
- Download the template file (CSV or Excel format).
- Fill in the template with your holiday data:
| Column | Description |
|---|---|
| holiday_name | The name of the holiday |
| start_date | Start date in the required format (e.g., YYYY-MM-DD) |
| end_date | End date in the required format |
| office | Office name or "All" for organization-wide |
- Upload the completed file.
- Review the preview to verify the data is correct.
- Click Confirm to import all holidays.
Warning: Ensure that office names in the upload file exactly match the office names configured in Udyamo HRMS. Mismatched names will result in import errors.

Holiday Impact on Other Modules
Holidays interact with several other parts of Udyamo HRMS:
Impact on Attendance
- Holidays are automatically marked as non-working days on the attendance calendar.
- Employees are not required to check in or check out on holidays.
- If an employee works on a holiday (e.g., shift-based workers), their check-in is recorded and may qualify them for a Compensatory Off.
Impact on Leave Calculations
- Holidays that fall within a leave period are excluded from the leave day count.
Example: An employee applies for leave from Monday to Friday (5 calendar days). If Wednesday is a public holiday:
| Day | Status | Leave Day? |
|---|---|---|
| Monday | Working day | Yes |
| Tuesday | Working day | Yes |
| Wednesday | Holiday | No |
| Thursday | Working day | Yes |
| Friday | Working day | Yes |
The system deducts 4 leave days, not 5.
- Weekly off days (e.g., Saturdays and Sundays) that fall within the leave period are also excluded, depending on your work week configuration.
Impact on Payroll
- Holidays are counted as paid days in the payroll calculation (assuming the employee is not on unpaid leave).
- They contribute to the total working days of the month.
- Employees who work on holidays may be eligible for overtime or compensatory off, depending on your attendance policies.
Editing a Holiday
To modify an existing holiday:
- Navigate to Holidays.
- Click on the holiday name in the list view or calendar.
- Update the name, dates, or office assignment.
- Click Save.
Warning: Editing a holiday date after attendance for that day has been processed may cause inconsistencies. If you need to change a holiday date, review attendance records for the affected date and adjust them if necessary.
Deleting a Holiday
To remove a holiday:
- Navigate to Holidays.
- Click the Delete icon next to the holiday.
- Confirm the deletion.
Once deleted, the day reverts to a regular working day. If attendance or leave records already exist for that date, those records remain unchanged but the day is no longer treated as a holiday going forward.
Warning: Deleting a holiday retroactively does not automatically recalculate attendance or leave. If you delete a holiday for a past date, you may need to manually review and adjust attendance records.
Holiday Calendar View
The Holidays page provides two views:
Calendar View
A month-by-month visual calendar with holidays highlighted. This view is useful for quickly seeing the distribution of holidays throughout the year.
List View
A table listing all holidays with their name, dates, office scope, and type. This view is useful for searching, filtering, and managing individual holidays.

Tip: Share the holiday calendar with employees by directing them to the Holidays section in their self-service portal. Employees can view the holidays applicable to their office.
Best Practices
- Set up holidays before the fiscal year begins. This ensures accurate attendance tracking and leave calculations from Day 1.
- Use office-specific holidays for regional festivals. This avoids confusion for employees at offices in different states.
- Review the government gazette annually. Dates for variable holidays change each year. Update your calendar accordingly.
- Coordinate with leave policies. Ensure optional holiday management aligns with your Restricted Holiday leave category and policy.
- Communicate the holiday calendar. Publish the annual holiday list as an announcement at the start of each year.
What Comes Next
With leave categories, policies, and holidays configured, your leave management system is ready for use. Proceed to Chapter 24: Applying for & Approving Leaves to learn about the leave request workflow.
Applying for & Approving Leaves
This chapter covers the end-to-end leave request workflow in Udyamo HRMS — from an employee submitting a leave application to a manager reviewing, approving or denying it, and the employee tracking the outcome. Leave comments, notifications, and cancellation processes are also covered.
What You Will Learn
- How employees apply for leave (full day, half day, custom hours)
- How the leave approval workflow operates
- How managers approve or deny leave requests
- How leave comments work for communication between the employee and approver
- How to track leave request statuses
- How employees cancel approved leave
- How to view leave history
- How to manage the manager's leave approval queue
Prerequisites
Required: Leave categories and leave policies must be configured and assigned to employees. See Chapter 21: Leave Categories and Chapter 22: Leave Policies. Holidays should be configured for accurate leave day calculations. See Chapter 23: Holidays.
Applying for Leave — Employee View
Accessing the Leave Application
Employees can apply for leave through two paths:
- Dashboard shortcut: Click the Apply Leave quick action on the dashboard.
- Leave section: Navigate to Leaves in the left sidebar, then click Apply Leave.
Leave Application Form
The leave application form contains the following fields:
| Field | Description | Required |
|---|---|---|
| Leave Category | The type of leave to apply for (e.g., Casual Leave, Sick Leave). Only categories with assigned policies appear. | Yes |
| Start Date | The first day of the leave period. | Yes |
| End Date | The last day of the leave period. For a single day, same as start date. | Yes |
| Leave Mode | Full Day, Half Day, or Custom Hours (if enabled). | Yes |
| Reason | A text explanation for the leave request. | Yes |

Full Day Leave
For full-day leave, the employee selects a start date and end date. The system automatically calculates the number of leave days, excluding:
- Weekly offs (based on the employee's work week configuration)
- Holidays (based on the employee's office)
Example: An employee applies for leave from Monday, March 3 to Friday, March 7 (5 calendar days). If the employee has a 5-day work week (Saturday and Sunday off), the system calculates:
| Date | Day | Status | Counted? |
|---|---|---|---|
| March 3 | Monday | Working day | Yes |
| March 4 | Tuesday | Working day | Yes |
| March 5 | Wednesday | Working day | Yes |
| March 6 | Thursday | Working day | Yes |
| March 7 | Friday | Working day | Yes |
Leave days = 5
If March 5 were a public holiday, the count would be 4 leave days.
Half Day Leave
Half-day leave deducts 0.5 days from the leave balance. When selecting half day, the employee specifies whether they are taking the first half or second half of the day.
| Selection | Work Expectation |
|---|---|
| First half | Employee is absent in the morning and works in the afternoon |
| Second half | Employee works in the morning and is absent in the afternoon |
Custom Hours Leave
If custom time-off is enabled (see Chapter 22 for the min_custom_time_off_minutes setting), employees can specify exact hours.
- Select Custom Hours as the leave mode.
- Enter the number of hours (subject to the minimum configured).
- The system converts hours to a fractional day based on the employee's shift duration.
Example: An employee on an 8-hour shift applies for 2 hours of custom time-off. The system deducts 0.25 days (2/8) from the leave balance.
Tip: Encourage employees to provide clear, specific reasons in their leave applications. This helps managers make informed approval decisions and creates a useful audit trail.
Leave Application Validation
When an employee submits a leave request, the system performs several validations:
| Validation | Behavior |
|---|---|
| Sufficient balance | The system checks if the employee has enough leave days in the selected category. If not, a warning is displayed. |
| Past date restriction | If the past_leave_enabled setting is disabled, the system blocks applications for past dates. |
| Overlapping leaves | The system checks for existing leave requests that overlap with the selected dates. Overlapping requests are not allowed. |
| Holiday overlap | Days that fall on holidays are automatically excluded from the leave count. |
| Weekly off overlap | Days that fall on weekly offs are automatically excluded from the leave count. |
Warning: If an employee submits a leave request that exceeds their available balance, the system may still allow submission (depending on configuration), but the request will be flagged for the approver. The approver can then decide whether to approve it, knowing it will result in a negative balance or LOP.
Submitting the Leave Request
After filling in all required fields:
- Review the calculated leave days and balance impact shown in the form.
- Click Submit.
- The leave request is created with a status of Pending.
- A notification is sent to the employee's reporting manager (or configured leave approver).
The employee receives a confirmation that the request has been submitted successfully.

Leave Approval Workflow — Manager View
Accessing the Approval Queue
Managers can access pending leave requests through:
- Dashboard notifications: A badge or notification indicating pending approvals.
- Leave Approvals: Navigate to Leaves > Approvals (or Team > Leave Requests) to see all pending requests from direct reports.
The approval queue displays:
| Column | Description |
|---|---|
| Employee Name | The employee who submitted the request |
| Leave Category | The type of leave requested |
| Dates | Start date to end date |
| Days | Number of leave days calculated |
| Available Balance | The employee's current balance in that category |
| Reason | The reason provided by the employee |
| Status | Current status (Pending) |

Approving a Leave Request
To approve a leave request:
- Open the pending request from the approval queue.
- Review the details: dates, category, balance, and reason.
- Optionally add a comment (see Leave Comments below).
- Click Approve.
- The leave status changes to Approved.
- The employee receives a notification that their leave has been approved.
- The leave days are deducted from the employee's balance.
Denying a Leave Request
To deny a leave request:
- Open the pending request from the approval queue.
- Review the details.
- Add a comment explaining the reason for denial (recommended for transparency).
- Click Deny (or Reject).
- The leave status changes to Rejected.
- The employee receives a notification that their leave has been denied, along with the comment.
- No leave days are deducted from the balance.
Tip: Always provide a comment when denying leave. This helps the employee understand the reason and decide whether to reapply for different dates or discuss the matter with their manager.
Leave Comments
Udyamo HRMS provides a LeaveComment feature that allows back-and-forth communication on a leave request. Both the employee and the approver can add comments.
Use Cases for Leave Comments
| Scenario | Example Comment |
|---|---|
| Manager needs clarification | "Can you confirm if this overlaps with the project deadline on March 6?" |
| Manager approves with a note | "Approved. Please hand over pending tasks to Rahul before you leave." |
| Manager denies with explanation | "The team has a critical release on these dates. Can you apply for the following week instead?" |
| Employee responds to query | "The project deliverable is complete and handed over. No overlap." |
Adding a Comment
- Open the leave request.
- Scroll to the Comments section.
- Type your comment in the text field.
- Click Add Comment (or Post).
- The comment is visible to both the employee and the approver.
Comments are displayed in chronological order with timestamps and the commenter's name.

Leave Request Statuses
Every leave request in Udyamo HRMS has one of the following statuses:
| Status | Description | Who Can Change It |
|---|---|---|
| Pending | The request has been submitted and is awaiting approval. | Manager/Admin (approve or deny) |
| Approved | The request has been approved by the manager. Leave days are deducted from the balance. | Employee (can cancel), Admin (can revoke) |
| Rejected | The request has been denied by the manager. No balance deduction. | Employee (can reapply with new dates) |
| Cancelled | The request was withdrawn by the employee or revoked by an admin. Balance is restored. | Final state |
Status Flow Diagram
Submit Approve
| |
v v
Pending -----> Approved -----> Cancelled
| ^
| Deny |
v Cancel |
Rejected (by employee)---+
Cancelling Approved Leave
An employee can cancel leave that has already been approved, provided the leave dates have not yet passed (or past leave cancellation is allowed by your organization's settings).
Steps to Cancel Leave
- Navigate to Leaves > My Leaves (or Leave History).
- Locate the approved leave request.
- Click Cancel.
- Confirm the cancellation when prompted.
- The leave status changes to Cancelled.
- The leave days are restored to the employee's balance.
- The manager receives a notification about the cancellation.
Warning: If payroll has already been processed for the period that includes the cancelled leave, the balance restoration does not automatically adjust payroll. Payroll corrections must be handled separately. See Chapter 30: Off-Cycle Payroll & Corrections.
Viewing Leave History
Employee View
Employees can view their complete leave history:
- Navigate to Leaves > My Leaves.
- The page displays all leave requests with their status, dates, category, and day count.
- Use filters to narrow by:
- Date range — View leaves within a specific period
- Category — Filter by leave type
- Status — Filter by Pending, Approved, Rejected, or Cancelled
Manager View
Managers can view leave history for their team:
- Navigate to Leaves > Team Leaves (or Team > Leave History).
- The page displays leave requests from all direct reports.
- Use filters to narrow by employee name, date range, category, or status.
Administrator View
Administrators can view leave data for all employees:
- Navigate to Leaves > All Leaves.
- Use filters and search to find specific records.
- Export data as needed for reporting.

Admin Actions on Leave Requests
Administrators have additional capabilities beyond the standard manager approval workflow:
| Action | Description |
|---|---|
| Apply leave on behalf of an employee | Useful when an employee cannot access the system (e.g., medical emergency). Navigate to the employee's profile > Leave tab and submit a leave request. |
| Approve/deny any request | Administrators can approve or deny leave requests for any employee, regardless of the reporting hierarchy. |
| Revoke approved leave | Administrators can cancel a previously approved leave request and restore the balance. |
| Adjust leave balances | See Chapter 25: Leave Balances for manual balance adjustments. |
Notifications
Udyamo HRMS sends notifications at each stage of the leave workflow:
| Event | Recipient | Notification |
|---|---|---|
| Leave submitted | Manager/Approver | "Employee Name has applied for Leave Category from Start Date to End Date." |
| Leave approved | Employee | "Your Leave Category request from Start Date to End Date has been approved." |
| Leave rejected | Employee | "Your Leave Category request from Start Date to End Date has been denied." |
| Leave cancelled | Manager/Approver | "Employee Name has cancelled their Leave Category from Start Date to End Date." |
If the MS Teams integration is enabled, these notifications are also delivered through Teams. See Chapter 46: MS Teams Integration.
Leave Import
For organizations migrating to Udyamo HRMS or needing to record historical leave data, the system supports leave import via a template file.
Steps to Import Leaves
- Navigate to Leaves.
- Click Import.
- Download the import template.
- Fill in the template with leave records (employee identifier, category, start date, end date, status, reason).
- Upload the completed file.
- Review the preview and resolve any errors.
- Click Confirm to import.
Warning: Imported leave records are created with the status specified in the file (usually "Approved"). Ensure the data is accurate before importing, as imported records affect leave balances immediately.
Best Practices
- Train employees on the leave application process. Ensure they know which category to use, how to select the correct dates, and the importance of providing a reason.
- Set response time expectations for managers. Employees appreciate timely approvals. Encourage managers to review leave requests within 24 -- 48 hours.
- Use comments for transparency. Both approval and denial decisions benefit from a brief comment.
- Review the approval queue regularly. Pending requests left unattended can cause frustration and planning difficulties.
- Leverage notifications. Enable email and/or Teams notifications to ensure leave requests are not overlooked.
What Comes Next
With the leave workflow operational, the next step is understanding leave balance tracking and year-end processing. Proceed to Chapter 25: Leave Balances & Year-End Processing.
Leave Balances & Year-End Processing
Leave balances represent the number of leave days available to an employee under each leave category. Accurate balance tracking is critical for employees planning time off, managers approving requests, and payroll processing that depends on leave consumption data.
This chapter covers how leave balances are calculated, how to view and adjust them, and how year-end processing handles carry-over and lapse of unused leave.
What You Will Learn
- How leave balances are calculated
- How to view leave balances (employee, manager, and admin perspectives)
- How to adjust balances manually
- How fiscal year alignment works for leave calculations
- How year-end processing executes carry-over and lapse rules
- How to generate leave balance reports
- How to review leave history across fiscal years
Prerequisites
Required: Leave categories, leave policies, and policy-to-employee assignments must be configured. See Chapters 21, 22, and 24.
How Leave Balances Are Calculated
A leave balance for any employee and category is computed using the following formula:
Available Balance = Opening Balance + Accruals - Consumed Leaves
| Component | Description |
|---|---|
| Opening Balance | The balance carried over from the previous fiscal year (after carry-over and lapse processing). |
| Accruals | Leave days credited during the current fiscal year based on the assigned leave policy (monthly or annual accrual). |
| Consumed Leaves | Leave days used — i.e., approved leave requests and any LOP-converted days. |
Example Calculation
| Component | Days |
|---|---|
| Opening Balance (carry-over from last year) | 5.0 |
| Annual Accrual (Casual Leave — 12 days) | 12.0 |
| Total Available (before consumption) | 17.0 |
| Consumed (3 CL requests approved) | -6.0 |
| Current Available Balance | 11.0 |
Tip: Employees can view their real-time balance on the Leave section of their self-service portal. The balance updates immediately when a leave request is approved or cancelled.
Viewing Leave Balances
Employee View
Employees can check their own leave balances:
- Navigate to Leaves in the left sidebar.
- The Leave Balance summary appears at the top of the page, showing each leave category with:
- Available balance — Days remaining
- Consumed — Days used so far this year
- Total entitlement — Opening balance + accruals for the year

Manager View
Managers can view leave balances for their direct reports:
- Navigate to Team > Leave Balances (or Leaves > Team Balances).
- A table displays each team member's balance across all leave categories.
- Use filters to view specific categories or date ranges.
| Employee | Casual Leave | Sick Leave | Privilege Leave |
|---|---|---|---|
| Anita Sharma | 8 / 12 | 5 / 7 | 10 / 15 |
| Rahul Verma | 4 / 12 | 7 / 7 | 6 / 15 |
| Priya Nair | 10 / 12 | 3 / 7 | 12 / 15 |
(Format: Available / Total Entitlement)
Administrator View
Administrators have access to organization-wide leave balance data:
- Navigate to Leaves > All Balances (or use the Reports section).
- View balances for any employee across any category.
- Filter by department, office, designation, or individual employee.
- Export balance data for external analysis.

Adjusting Leave Balances Manually
In certain situations, an administrator may need to manually adjust an employee's leave balance. Common scenarios include:
- Correcting data migration errors
- Granting additional leave for special circumstances
- Adjusting balances after a policy change
- Crediting Compensatory Off days
Steps to Adjust a Balance
- Navigate to the employee's profile.
- Go to the Leave tab.
- Click Adjust Balance (or Edit Balance).
- Select the leave category to adjust.
- Enter the adjustment:
- Positive number to add days (e.g., +2 to credit 2 additional days)
- Negative number to deduct days (e.g., -1 to remove 1 day)
- Enter a reason for the adjustment (mandatory for audit purposes).
- Click Save.
The adjustment takes effect immediately and is reflected in the employee's balance.
| Field | Description |
|---|---|
| Category | The leave category to adjust |
| Adjustment | Number of days to add (+) or deduct (-) |
| Reason | Explanation for the adjustment (recorded in audit log) |
| Effective Date | The date on which the adjustment applies |
Warning: Manual balance adjustments bypass the normal accrual and policy rules. Use them sparingly and always document the reason. All adjustments are recorded in the system's audit trail for compliance.

Fiscal Year Alignment
Leave calculations in Udyamo HRMS are aligned to the organization's fiscal year, which is configured through the fiscal_start_month setting.
Common Fiscal Year Configurations
| fiscal_start_month | Fiscal Year Period | Common Usage |
|---|---|---|
| April (4) | April 1 to March 31 | Most Indian organizations |
| January (1) | January 1 to December 31 | Calendar year-based organizations |
| July (7) | July 1 to June 30 | Some educational institutions |
Impact of Fiscal Year on Leave
- Annual accruals are credited at the start of the fiscal year.
- Monthly accruals follow the fiscal year calendar (first credit in the fiscal year's first month).
- Year-end processing (carry-over and lapse) occurs at the end of the fiscal year.
- Pro-rata calculations for mid-year joiners are based on remaining months in the fiscal year.
- Leave reports are generated on a fiscal-year basis by default.
Tip: Verify your fiscal start month under Settings > Organization > Fiscal Year before configuring leave policies. Changing the fiscal year after policies are active requires careful recalculation.
Year-End Processing
Year-end processing is the most critical annual event for the leave management system. It handles the transition from one fiscal year to the next, executing carry-over rules and resetting balances.
What Year-End Processing Does
For each employee and each leave category:
- Calculate unused balance — The current available balance at the end of the fiscal year.
- Apply carry-over rules — Determine how many unused days carry forward based on the leave policy's carry-over limit.
- Lapse excess days — Any unused days that exceed the carry-over limit are forfeited.
- Set opening balance for the new year — The carried-over amount becomes the opening balance for the new fiscal year.
- Credit new accruals — Annual accruals (if applicable) are credited for the new fiscal year.
Year-End Processing Example
| Employee | Category | Year-End Balance | Carry-Over Limit | Carried Forward | Lapsed | New Year Opening |
|---|---|---|---|---|---|---|
| Anita | CL | 4 days | 0 | 0 | 4 | 0 |
| Anita | PL | 12 days | 10 | 10 | 2 | 10 |
| Rahul | CL | 8 days | 0 | 0 | 8 | 0 |
| Rahul | PL | 6 days | 10 | 6 | 0 | 6 |
| Priya | CL | 0 days | 0 | 0 | 0 | 0 |
| Priya | PL | 15 days | 10 | 10 | 5 | 10 |
After year-end processing, the new fiscal year's balances are:
| Employee | Category | Opening Balance | Annual Accrual | Total Available |
|---|---|---|---|---|
| Anita | CL | 0 | 12 | 12 |
| Anita | PL | 10 | 15 (monthly accrual) | 10 + monthly credits |
| Rahul | CL | 0 | 12 | 12 |
| Rahul | PL | 6 | 15 (monthly accrual) | 6 + monthly credits |
Running Year-End Processing
- Navigate to Settings > Leaves & Attendance (or Leaves > Year-End Processing).
- Select the fiscal year to close.
- Click Run Year-End Processing (or Process Carry-Over).
- The system displays a preview showing each employee's current balance, carry-over amount, lapse amount, and new opening balance.
- Review the preview carefully.
- Click Confirm to execute.
Warning: Year-end processing is a significant operation. Run it only once per fiscal year, and review the preview thoroughly before confirming. Incorrect processing can be difficult to reverse and may require manual balance adjustments for every affected employee.

Leave Balance Reports
Udyamo HRMS provides several reports related to leave balances:
Available Reports
| Report | Description | Access |
|---|---|---|
| Leave Balance Summary | Current balance for all employees across all categories. | Reports > Leave Reports |
| Leave Usage Report | Leave consumed by category, department, or individual. | Reports > Leave Reports |
| Leave Approval Report | Summary of approved, denied, and pending requests. | Reports > Leave Reports |
| Carry-Over Report | Year-end carry-over and lapse details. | Reports > Leave Reports |
| Leave Trend Report | Monthly or quarterly leave consumption trends. | Reports > Leave Reports |
Generating a Leave Balance Report
- Navigate to Reports > Leave Reports.
- Select the report type.
- Configure filters:
- Date range — Select the fiscal year or custom period
- Department — Filter by department
- Office — Filter by office location
- Category — Filter by leave category
- Click Generate.
- View the report on-screen or Export as CSV / Excel / PDF.

Tip: Run the Leave Balance Summary report at the end of each quarter to identify employees who have not taken sufficient leave. This helps prevent year-end lapse situations and supports employee well-being.
Leave History Across Fiscal Years
Udyamo HRMS maintains leave history across fiscal years. To view historical data:
- Navigate to the employee's profile > Leave tab.
- Select the fiscal year from the dropdown.
- The system displays the leave balance, accruals, consumption, and carry-over for the selected year.
Historical Data Includes
| Data Point | Description |
|---|---|
| Opening balance | Balance at the start of the selected fiscal year |
| Accruals | Total days credited during the year |
| Consumed | Total days used (approved leaves) |
| Lapsed | Days forfeited at year-end |
| Carried forward | Days transferred to the next year |
| Adjustments | Any manual balance adjustments made during the year |
This historical data is essential for:
- Employee queries about past balances
- Audit and compliance requirements
- Verifying carry-over calculations
- Full-and-final settlement calculations during offboarding
Troubleshooting Common Balance Issues
| Issue | Likely Cause | Resolution |
|---|---|---|
| Balance shows 0 despite having a policy | Policy not assigned to the employee | Assign the leave policy via the employee profile > Leave tab |
| Accrual not credited for the current month | Monthly accrual runs at the end/start of the month | Wait for the scheduled accrual run, or contact admin to trigger it manually |
| Balance is negative | Leave approved beyond available balance | Review the leave request. Adjust balance or mark excess as LOP in payroll |
| Carry-over not applied | Year-end processing not yet run | Run year-end processing for the previous fiscal year |
| Balance does not match manual calculation | Manual adjustment or imported leave not accounted for | Review the adjustment log and import history in the employee's leave tab |
Best Practices
- Run year-end processing promptly. Execute carry-over processing within the first few days of the new fiscal year so that balances are accurate when employees start applying for leave.
- Communicate lapse policies clearly. Employees should know well in advance which leave categories lapse and which carry over. Send a reminder 1 -- 2 months before fiscal year-end.
- Use reports proactively. Quarterly balance reviews help identify trends and prevent issues.
- Limit manual adjustments. Every manual adjustment should have a documented reason. Over-reliance on manual adjustments suggests a policy configuration issue that should be fixed at the source.
- Archive year-end reports. Export and save the carry-over report each year for compliance and audit purposes.
What Comes Next
This concludes Part 5: Leave Management. With leave categories, policies, holidays, the request workflow, and balance management all in place, your leave system is fully operational.
Proceed to Part 6: Payroll, starting with Chapter 26: Salary Components — Earnings & Deductions.
Salary Components — Earnings & Deductions
Salary components are the individual building blocks of an employee's compensation. Every line item on a payslip — from Basic Pay to Provident Fund deduction — is a salary component. Configuring salary components correctly is the foundation of accurate payroll processing.
This chapter covers the concepts behind earnings and deductions, how to create and manage salary components in Udyamo HRMS, and the common Indian compensation components you should set up.
What You Will Learn
- The difference between earnings and deductions
- How to navigate to salary component settings
- How to create a new salary component
- Calculation methods: fixed amount vs. percentage
- Taxability configuration for components
- Common Indian salary components and their configurations
- How to edit, reorder, and delete components
- How components flow into payslips
Prerequisites
Required: You must have an Administrator role. The Payroll feature toggle must be enabled under Settings > Features. Your organization's fiscal year and pay schedule should be configured. See Chapter 8: Work Week, Timezone & Fiscal Year.
Understanding Earnings and Deductions
An employee's salary is composed of two categories of components:
Earnings
Earnings are amounts added to the employee's compensation. They represent what the employee receives.
| Type | Examples |
|---|---|
| Fixed earnings | Basic Pay, House Rent Allowance (HRA), Dearness Allowance (DA) |
| Variable earnings | Performance Bonus, Overtime Pay, Special Allowance |
| Reimbursements | Conveyance Allowance, Medical Allowance, Telephone Reimbursement |
Deductions
Deductions are amounts subtracted from the employee's gross pay. They represent statutory obligations, employee contributions, or other withholdings.
| Type | Examples |
|---|---|
| Statutory deductions | PF Employee Contribution, ESI Employee, Professional Tax, TDS |
| Voluntary deductions | Voluntary PF Contribution, Loan EMI, Advance Recovery |
| Employer contributions (not deducted from employee) | PF Employer Contribution, ESI Employer |
Gross Pay and Net Pay
The relationship between components, gross pay, and net pay is:
Gross Pay = Sum of all Earnings
Net Pay = Gross Pay - Sum of all Deductions

Navigating to Salary Components
To access salary component settings:
- Click Settings in the left sidebar.
- Select Salary Components.
The Salary Components page displays all configured components in a list, organized by type (Earnings and Deductions).

Creating a New Salary Component
To create a salary component:
- Navigate to Settings > Salary Components.
- Click Add Component (or Add Earning / Add Deduction).
- Fill in the component details.
- Click Save.
Component Fields
| Field | Description | Required |
|---|---|---|
| Name | The display name of the component (e.g., "Basic Pay", "HRA"). | Yes |
| Type | Whether this is an Earning or Deduction. | Yes |
| Calculation Method | Fixed (a specific amount) or Percentage (calculated as a percentage of another component, typically Basic Pay). | Yes |
| Default Amount / Percentage | The default value for this component. Can be overridden at the employee level. | No |
| Taxable | Whether this component is subject to income tax calculations. | Yes |
| Active | Whether this component is currently in use. | Yes |
Calculation Methods
Fixed Amount
The component has a specific monetary value (e.g., Basic Pay = INR 25,000 per month). The amount is defined in the salary structure or at the employee level.
Percentage-Based
The component is calculated as a percentage of another component (usually Basic Pay). For example:
- HRA = 50% of Basic Pay
- PF Employee Contribution = 12% of Basic Pay
- ESI Employee Contribution = 0.75% of Gross Pay
Example: If Basic Pay is INR 25,000:
- HRA at 50% = INR 12,500
- PF at 12% = INR 3,000
Tip: Use percentage-based calculations for components that should scale with Basic Pay. This ensures that when an employee's Basic Pay increases (e.g., during an appraisal), all percentage-based components adjust automatically.
Taxability
The Taxable setting determines whether the component is included in the employee's taxable income for TDS calculation purposes.
| Taxability | Components |
|---|---|
| Taxable | Basic Pay, DA, Special Allowance, Performance Bonus |
| Partially Exempt | HRA (exempt up to limits under Section 10(13A)), Leave Travel Allowance |
| Non-Taxable | Reimbursements (against actual bills), PF Employer Contribution (within limits) |
Warning: Tax rules for salary components are governed by the Income Tax Act and change periodically. Consult your organization's tax advisor or chartered accountant when configuring taxability settings. Incorrect configuration can lead to over- or under-deduction of TDS.
Common Indian Salary Components
The following table lists salary components commonly used by Indian organizations. Use this as a reference when setting up your salary structure.
Earnings
| Component | Short Name | Calculation | Typical Value | Taxable |
|---|---|---|---|---|
| Basic Pay | Basic | Fixed | 40 -- 50% of CTC | Yes |
| House Rent Allowance | HRA | % of Basic | 40 -- 50% of Basic | Partially (exempt under Sec 10(13A)) |
| Dearness Allowance | DA | % of Basic or Fixed | Varies by industry | Yes |
| Conveyance Allowance | CA | Fixed | Up to INR 1,600/month | Exempt up to limit |
| Special Allowance | SA | Fixed (balancing figure) | Remainder of gross | Yes |
| Medical Allowance | MA | Fixed | Varies | Yes (post-2018) |
| Leave Travel Allowance | LTA | Fixed | Varies | Partially (exempt under Sec 10(5)) |
| Performance Bonus | Bonus | Fixed or % | Varies | Yes |
| Overtime Pay | OT | Calculated | Per-hour rate x hours | Yes |
Deductions
| Component | Short Name | Calculation | Typical Value | Notes |
|---|---|---|---|---|
| PF Employee Contribution | PF (EE) | % of Basic | 12% of Basic (up to INR 15,000 cap) | Mandatory for eligible employees |
| PF Employer Contribution | PF (ER) | % of Basic | 12% of Basic (3.67% to EPF, 8.33% to EPS) | Employer cost; not deducted from employee |
| ESI Employee Contribution | ESI (EE) | % of Gross | 0.75% of Gross | Applicable if gross <= INR 21,000 |
| ESI Employer Contribution | ESI (ER) | % of Gross | 3.25% of Gross | Employer cost; not deducted from employee |
| Professional Tax | PT | Fixed (slab-based) | Varies by state (max INR 2,500/year) | State-specific rates |
| TDS (Income Tax) | TDS | Calculated | Based on tax slab and declarations | Monthly deduction |
| Loan EMI | Loan | Fixed | Per repayment schedule | If employee has an active loan |
| Advance Recovery | Adv | Fixed | Per advance terms | If employee has an outstanding advance |

Step-by-Step: Creating Basic Pay
- Navigate to Settings > Salary Components.
- Click Add Earning.
- Enter the following:
- Name: Basic Pay
- Type: Earning
- Calculation Method: Fixed
- Taxable: Yes
- Active: Yes
- Click Save.
Step-by-Step: Creating HRA
- Navigate to Settings > Salary Components.
- Click Add Earning.
- Enter the following:
- Name: House Rent Allowance
- Type: Earning
- Calculation Method: Percentage
- Percentage Of: Basic Pay
- Default Percentage: 50%
- Taxable: Partially Exempt
- Active: Yes
- Click Save.
Step-by-Step: Creating PF Employee Contribution
- Navigate to Settings > Salary Components.
- Click Add Deduction.
- Enter the following:
- Name: PF Employee Contribution
- Type: Deduction
- Calculation Method: Percentage
- Percentage Of: Basic Pay
- Default Percentage: 12%
- Taxable: No (PF contributions are tax-exempt up to limits)
- Active: Yes
- Click Save.
Editing a Salary Component
To modify an existing component:
- Navigate to Settings > Salary Components.
- Click on the component name or the Edit icon.
- Update the desired fields.
- Click Save.
Impact of Edits
| Change | Impact |
|---|---|
| Rename the component | Updates the display name on future payslips. Past payslips retain the old name. |
| Change calculation method | Affects future payroll calculations. Past processed payrolls are not retroactively changed. |
| Change default percentage/amount | Affects employees who use the default. Employees with custom overrides are not affected. |
| Change taxability | Affects future TDS calculations. Consult a tax advisor before changing. |
| Deactivate a component | The component is excluded from future payroll runs. Past records are preserved. |
Warning: Changing a salary component's calculation method or taxability mid-year can cause inconsistencies in annual tax calculations. If possible, make such changes at the start of a fiscal year.
Component Ordering
The order in which salary components appear on the payslip matters for readability. Udyamo HRMS allows you to control the display order.
Reordering Components
- Navigate to Settings > Salary Components.
- Use the drag-and-drop handles (or order field) to arrange components.
- Click Save Order.
Recommended Order
Earnings:
- Basic Pay
- HRA
- Dearness Allowance
- Conveyance Allowance
- Special Allowance
- Other Allowances
- Performance Bonus / Variable Pay
Deductions:
- PF Employee Contribution
- ESI Employee Contribution
- Professional Tax
- TDS (Income Tax)
- Loan EMI
- Other Deductions
Deleting a Salary Component
To delete a component:
- Navigate to Settings > Salary Components.
- Click the Delete icon next to the component.
- Confirm the deletion.
Deletion Restrictions
A salary component cannot be deleted if:
- It is referenced in any salary structure.
- It has been used in any processed payroll record.
- It is assigned to any employee's salary breakdown.
If you need to retire a component, deactivate it instead of deleting it. Deactivated components are excluded from future payroll runs but remain in the system for historical reference.
Tip: Before deleting a component, check if it is used in any active salary structure by navigating to Salary Structures and reviewing the component lists.
How Components Flow into Payslips
Understanding the data flow from component configuration to the final payslip:
- Salary components are created in Settings.
- Salary structures group components into templates (see Chapter 27).
- Employee salary assignments map a structure (and specific amounts) to each employee.
- During payrun processing (see Chapter 28), the system calculates each component based on the employee's assignment, paid days, and LOP.
- The calculated values appear on the payslip (see Chapter 29).
Salary Components (Settings)
|
v
Salary Structures (Templates)
|
v
Employee Salary Assignment (Individual)
|
v
Payrun Processing (Monthly)
|
v
Payslip (Output)
Best Practices
- Mirror your CTC structure. Your salary components should reflect the actual Cost to Company (CTC) breakdown your organization uses for offer letters and appraisals.
- Use percentage-based calculations where possible. This reduces the number of manual updates needed during salary revisions.
- Get tax configuration reviewed. Have a chartered accountant or tax advisor verify the taxability settings for all components.
- Keep the component list manageable. Most organizations need 8 -- 15 components. Overly granular breakdowns complicate payroll and confuse employees.
- Document your components. Maintain an internal reference that explains what each component represents, how it is calculated, and its tax treatment.
What Comes Next
With salary components defined, the next step is to organize them into salary structures that serve as templates for different employee grades. Proceed to Chapter 27: Salary Structures.
Salary Structures
A salary structure is a template that groups salary components (earnings and deductions) into a predefined compensation package. Rather than configuring each employee's salary from scratch, you create salary structures for different employee grades or roles, then assign the appropriate structure to each employee.
This chapter covers creating salary structures, adding components with amounts and percentages, assigning structures to employees, and managing CTC breakdowns.
What You Will Learn
- What a salary structure is and why it matters
- How to navigate to the Salary Structures section
- How to create a new salary structure
- How to add components with fixed amounts or percentages
- How to assign a salary structure to an employee
- How CTC (Cost to Company) breakdown works
- How to manage multiple structures for different employee grades
- How to edit existing structures
- How changes to structures affect payroll
Prerequisites
Required: Salary components must be configured before you can create salary structures. See Chapter 26: Salary Components — Earnings & Deductions. You must have an Administrator role.
What Is a Salary Structure?
A salary structure serves as a template that defines:
- Which salary components are included in an employee's compensation
- The default amount or percentage for each component
- The overall composition of the CTC
Think of it as a blueprint. The structure defines the shape of the compensation; the individual employee assignment defines the actual amounts.
Example: A "Grade B — Senior Engineer" salary structure might include:
| Component | Type | Value |
|---|---|---|
| Basic Pay | Earning | 40% of CTC |
| HRA | Earning | 50% of Basic |
| Special Allowance | Earning | Balancing figure |
| PF Employee Contribution | Deduction | 12% of Basic |
| PF Employer Contribution | Employer Cost | 12% of Basic |
| ESI Employee | Deduction | 0.75% of Gross (if applicable) |
| Professional Tax | Deduction | As per state slab |

Navigating to Salary Structures
To access salary structures:
- Click Settings in the left sidebar.
- Select Salary Structures (or navigate to Payroll > Salary Structures).
The Salary Structures page lists all existing structures with their name, description, and the number of employees assigned to each.

Creating a New Salary Structure
To create a salary structure:
- Navigate to Settings > Salary Structures.
- Click Add Salary Structure.
- Enter the structure details.
- Add salary components to the structure.
- Click Save.
Structure Fields
| Field | Description | Required |
|---|---|---|
| Name | A descriptive name for the structure (e.g., "Grade A — Junior Staff"). | Yes |
| Description | An optional explanation of which employees or roles this structure targets. | No |
Adding Components to the Structure
After entering the basic details, add salary components:
- Click Add Component.
- Select a component from the dropdown (only active components appear).
- Specify the value:
- For fixed components: Enter the default monthly amount.
- For percentage-based components: Enter the percentage and the base component.
- Repeat for all components that should be part of this structure.
- Review the component list and click Save.
Step-by-Step Example: Creating a Standard Structure
Let us create a salary structure for a CTC of INR 6,00,000 per annum (INR 50,000 per month):
- Navigate to Settings > Salary Structures.
- Click Add Salary Structure.
- Enter:
- Name: Grade B — Standard
- Description: For confirmed employees in Grade B with annual CTC of INR 5-7 LPA.
- Add the following components:
| Component | Calculation | Monthly Amount |
|---|---|---|
| Basic Pay | Fixed | INR 20,000 |
| HRA | 50% of Basic | INR 10,000 |
| Conveyance Allowance | Fixed | INR 1,600 |
| Special Allowance | Fixed (balancing) | INR 12,150 |
| PF Employee Contribution | 12% of Basic | INR 2,400 |
| PF Employer Contribution | 12% of Basic | INR 2,400 |
| ESI Employee | 0.75% of Gross | INR 329 |
| ESI Employer | 3.25% of Gross | INR 1,421 |
- Click Save.
Monthly Breakdown:
| Item | Amount (INR) |
|---|---|
| Earnings | |
| Basic Pay | 20,000 |
| HRA | 10,000 |
| Conveyance Allowance | 1,600 |
| Special Allowance | 12,150 |
| Gross Pay | 43,750 |
| Deductions | |
| PF Employee Contribution | 2,400 |
| ESI Employee | 329 |
| Professional Tax | ~200 |
| Total Deductions | 2,929 |
| Net Pay | 40,821 |
| Employer Costs | |
| PF Employer Contribution | 2,400 |
| ESI Employer | 1,421 |
| CTC (Monthly) | ~47,571 |
Tip: The "Special Allowance" component is commonly used as a balancing figure — the amount that makes up the difference between the gross pay target and the sum of all other fixed/calculated components.
CTC Breakdown
CTC (Cost to Company) represents the total cost the organization incurs for an employee. It includes:
- All earnings (what the employee receives)
- All employer contributions (PF Employer, ESI Employer, Gratuity provision)
- Any other benefits
CTC = Gross Pay + Employer Contributions
Viewing the CTC Breakdown
When you assign a salary structure to an employee with specific amounts, Udyamo HRMS displays the CTC breakdown showing:
- Annual CTC — Total yearly cost
- Monthly CTC — CTC divided by 12
- Monthly Gross Pay — Sum of all earnings
- Monthly Net Pay — Gross minus employee deductions
- Monthly Employer Costs — PF Employer, ESI Employer, Gratuity, etc.

Assigning a Salary Structure to an Employee
A salary structure becomes effective only when assigned to an employee. The assignment creates EmployeeSalaryComponent records that link each component to the employee with specific amounts.
Assignment Steps
- Navigate to the employee's profile.
- Go to the Salary (or Compensation) tab.
- Click Assign Salary Structure (or Edit Salary).
- Select the salary structure from the dropdown.
- The components from the structure are pre-filled with default values.
- Adjust individual component amounts as needed for this employee.
- Enter the Annual CTC if you want the system to calculate the breakdown automatically.
- Click Save.
Customizing Component Amounts
While the salary structure provides default values, you can override any component amount at the employee level. Common reasons for overrides:
| Reason | Example |
|---|---|
| Different CTC than the structure default | Employee negotiated a higher CTC during hiring |
| Location-based HRA adjustment | Employee in a metro city gets 50% HRA; non-metro gets 40% |
| Voluntary PF contribution | Employee opts for higher PF contribution |
| Skill-based allowances | Special allowance for certifications or specialized skills |
Warning: When you override a percentage-based component with a fixed amount at the employee level, the component no longer auto-adjusts with Basic Pay changes. You will need to update it manually during salary revisions.
Multiple Salary Structures for Different Grades
Most organizations maintain several salary structures aligned with their employee grading system. Here is a typical setup:
| Structure Name | Target Group | CTC Range | Key Differences |
|---|---|---|---|
| Grade A — Trainee | Interns, trainees | 2 -- 3 LPA | Minimal components, no PF (if <20 employees) |
| Grade B — Junior | Junior staff, 0 -- 3 years | 3 -- 6 LPA | Standard components, PF + ESI |
| Grade C — Mid-Level | Mid-level, 3 -- 7 years | 6 -- 12 LPA | Higher Basic, LTA included |
| Grade D — Senior | Senior staff, 7+ years | 12 -- 25 LPA | Higher allowances, no ESI (gross > 21K) |
| Grade E — Leadership | Directors, VPs | 25+ LPA | Variable pay component, gratuity, car allowance |
When to Create a New Structure vs. Override
| Scenario | Recommendation |
|---|---|
| Different component composition (e.g., one grade has LTA, another does not) | Create a separate structure |
| Same components but different amounts | Use one structure with employee-level overrides |
| Significant CTC difference (more than 2x) | Create a separate structure |
| Minor CTC variation within same grade | Use one structure with employee-level overrides |
Editing a Salary Structure
To modify an existing structure:
- Navigate to Settings > Salary Structures.
- Click on the structure name.
- Update the name, description, or component configuration.
- Click Save.
Impact of Edits on Existing Assignments
| Change | Impact |
|---|---|
| Rename the structure | Display change only. No impact on employee assignments. |
| Change a component's default percentage/amount | Affects new assignments only. Existing employee assignments retain their current values. |
| Add a new component to the structure | The component is available for new assignments. Existing employees do not automatically receive it — you must update their assignments individually. |
| Remove a component from the structure | The component is no longer included in new assignments. Existing employees who already have this component retain it until their assignment is updated. |
Warning: Editing a salary structure does not retroactively change the salary of employees already assigned to it. To update existing employees after a structure change, you must edit each employee's salary assignment individually or perform a bulk update.
Salary Revisions
When an employee receives a salary increase (e.g., during annual appraisals):
- Navigate to the employee's profile > Salary tab.
- Click Revise Salary (or Edit Salary).
- Update the CTC or individual component amounts.
- Set the Effective Date for the revision.
- Click Save.
The system records both the old and new salary details, maintaining a history of salary revisions for each employee.
Bulk Salary Revisions
For annual appraisal cycles affecting many employees:
- Navigate to Payroll > Salary Revisions (or use the bulk update feature).
- Upload a file with the revised CTC/component amounts per employee.
- Review the changes.
- Set the effective date.
- Confirm the bulk revision.
Tip: Schedule salary revisions to take effect on the first day of a payroll month. Mid-month revisions require pro-rata calculations, which add complexity.
Salary Structure and Payroll Calculation
During payrun processing, the system uses the employee's salary assignment (derived from the salary structure) to calculate payroll:
- Gross Pay = Sum of all earning components (using amounts from the employee's salary assignment).
- Pro-rata adjustment = If the employee has LOP days, the gross pay is proportionally reduced.
- Deductions = Each deduction component is calculated based on the adjusted gross (or Basic, depending on configuration).
- Net Pay = Gross Pay - Total Deductions.
For details on the payrun process, see Chapter 28: Running Payroll — The Payrun Process.
Best Practices
- Name structures clearly. Include the grade level and a brief descriptor (e.g., "Grade C — Mid-Level Staff"). This makes it easy to select the right structure when onboarding new employees.
- Keep the number of structures manageable. 3 to 6 structures cover most organizations. Too many structures create maintenance overhead.
- Use Special Allowance as a balancing figure. This simplifies CTC calculations — set Basic, HRA, and other components first, then let Special Allowance absorb the remainder.
- Review structures during annual appraisal cycles. Ensure the default values in each structure reflect current compensation bands.
- Document your CTC breakdown logic. Maintain a reference document (or spreadsheet) that maps how CTC is split into individual components for each grade. This is invaluable during salary negotiations and offer letter preparation.
- Test with a sample employee. Before assigning a new structure to many employees, assign it to one test employee and run a trial payroll to verify the calculations.
What Comes Next
With salary components and structures configured, the next step is to run actual payroll. Proceed to Chapter 28: Running Payroll — The Payrun Process.
Running Payroll — The Payrun Process
The payrun is the monthly (or periodic) process of calculating employee salaries, applying deductions, accounting for attendance and leave, and generating the payroll records that feed into payslips and bank transfers. It is the core operational workflow of the Payroll module.
This chapter walks through the complete payrun lifecycle — from creating a new payrun to finalizing and approving it.
What You Will Learn
- What a payrun is and the payrun lifecycle
- How to create a new payrun
- How payroll records are generated for each employee
- How to review and adjust individual records
- How attendance, LOP, and reimbursements are factored in
- How to process and approve the payrun
- How payroll rounding works
- How pay schedule settings affect the payrun
- How to view payrun history
Prerequisites
Required: The following must be configured before running payroll:
- Salary components and salary structures (Chapter 26, Chapter 27)
- Employees assigned to salary structures with component amounts
- Attendance data processed for the payroll month (if attendance-based payroll is used)
- Leave data up to date (approved/rejected requests finalized)
- Statutory settings configured (PF, ESI, PT, TDS — see Part 7)
Understanding the Payrun Lifecycle
A payrun in Udyamo HRMS moves through a series of statuses:
| Status | Description |
|---|---|
| Draft | The payrun has been created but payroll records have not yet been generated. |
| Generated | Payroll records have been calculated for all eligible employees. Records are open for review and adjustment. |
| Processed | The payrun has been finalized. Individual records are locked. |
| Approved | The payrun has been approved by an authorized person. Payslips can be generated and bank advice can be exported. |
| Paid | The payrun has been marked as paid after salary disbursement. |
Status Flow
Create Generate Process Approve Mark Paid
| | | | |
v v v v v
Draft -------> Generated ----> Processed ----> Approved ----> Paid
Warning: Once a payrun is moved to Processed status, individual payroll records cannot be edited. Ensure all adjustments are made during the Generated stage.
Navigating to Payruns
To access payruns:
- Click Payroll in the left sidebar.
- Select Payruns (or Run Payroll).
The Payruns page lists all existing payruns with their month, status, and summary statistics.

Step 1: Creating a Payrun
To create a new payrun:
- Navigate to Payroll > Payruns.
- Click Create Payrun (or New Payrun).
- Fill in the payrun details:
| Field | Description | Required |
|---|---|---|
| Month | The payroll month (e.g., January 2026). | Yes |
| Payrun Type | Regular (standard monthly payroll) or other types as configured. | Yes |
- Click Create.
The payrun is created in Draft status.
Tip: Create the payrun after attendance and leave data for the month have been finalized. Running payroll with incomplete attendance data leads to inaccurate LOP calculations and requires corrections later.
Step 2: Generating Payroll Records
Once the payrun is in Draft status:
- Click Generate Payroll (or Calculate).
- The system processes each eligible employee and generates a PayrollRecord containing:
| Field | Description |
|---|---|
| Employee Name | The employee's name |
| Gross Pay | Total earnings before deductions |
| Total Deductions | Sum of all deduction components |
| Net Pay | Gross Pay minus Total Deductions |
| Paid Days | Number of days the employee is paid for |
| LOP Days | Number of Loss of Pay days (unpaid leave, unauthorized absences) |
| Working Days | Total working days in the month |
- The payrun status changes to Generated.
How the System Calculates Each Record
For each employee, the system performs these calculations:
-
Determine working days — Total calendar days minus weekly offs and holidays for the employee's office.
-
Determine paid days — Working days minus LOP days.
-
Calculate pro-rata earnings — If the employee has LOP days or joined/left mid-month:
Pro-rata amount = (Monthly component amount / Working days) x Paid days
-
Calculate percentage-based components — HRA, PF, ESI, etc. are calculated on the pro-rata Basic or Gross as applicable.
-
Apply statutory calculations — PF, ESI, Professional Tax, and TDS are computed based on current rates and the employee's declarations.
-
Sum earnings — Gross Pay = Total of all earning components.
-
Sum deductions — Total Deductions = Total of all deduction components.
-
Calculate net pay — Net Pay = Gross Pay - Total Deductions.

Step 3: Reviewing Employee-Wise Breakdown
After generation, review each employee's payroll record:
- On the payrun page, the list of all employee records is displayed.
- Click on an employee's name to view the detailed breakdown.
- The breakdown shows:
- Each earning component with its calculated amount
- Each deduction component with its calculated amount
- Paid days and LOP days
- Any reimbursements included
- Net pay
Review Checklist
| Check | What to Look For |
|---|---|
| Paid days | Does the paid days count match the expected number? Check against attendance records. |
| LOP days | Are LOP days correctly reflecting unpaid leave and unauthorized absences? |
| Basic Pay | Is Basic Pay pro-rated correctly for LOP or mid-month joiners? |
| PF/ESI | Are statutory deductions calculated on the correct base amount? |
| Net pay | Does the net pay look reasonable compared to previous months? |
| New joiners | Are mid-month joiners receiving pro-rata salary correctly? |
| Exits | Are employees who left mid-month receiving pro-rata salary for their worked days? |
Tip: Sort the records by Net Pay (ascending) to quickly spot outliers — employees with unusually low or zero net pay may have data issues that need attention.
Step 4: Adjusting Individual Records
During the Generated stage, you can make adjustments:
Skip Payroll
To exclude an employee from the current payrun:
- Open the employee's payroll record.
- Toggle the Skip Payroll option.
- Click Save.
The employee's record will not be included in the processed payroll. Use this for:
- Employees on long leave without pay
- Employees whose salary data is incomplete
- Employees being processed in a separate off-cycle payrun
Adjusting LOP Days
If the LOP day count is incorrect (e.g., attendance was not properly recorded):
- Open the employee's payroll record.
- Edit the LOP Days field.
- The system recalculates the pro-rata salary and all dependent components.
- Click Save.
Including Reimbursements
If approved reimbursements are pending for the month:
- The system automatically includes approved reimbursements in the payroll.
- Review the reimbursement amounts in each employee's record.
- Reimbursements appear as a separate line item (not part of the standard salary components) and are added to the net pay.
Warning: Only reimbursements that have been fully approved appear in the payrun. Ensure the reimbursement approval workflow is complete before generating payroll. See Chapter 37: Reimbursements.
Step 5: Syncing Attendance Data
If you need to refresh the payrun with updated attendance data:
- Navigate to the payrun page.
- Click Sync Attendance (or Refresh Attendance Data).
- The system recalculates paid days and LOP days for all employees based on the latest attendance records.
- Payroll records are recalculated accordingly.
Tip: Sync attendance data if you notice discrepancies in LOP days during the review stage. This is especially useful if attendance corrections were made after the initial payroll generation.
Step 6: Processing the Payrun
Once all records have been reviewed and adjusted:
- Click Process Payroll (or Finalize).
- The system locks all individual records — no further edits are possible.
- The payrun status changes to Processed.
At this point, the payroll data is final and ready for approval.
Warning: Processing is irreversible. Double-check all records before clicking Process. If you discover an error after processing, you will need to use an off-cycle payrun to make corrections. See Chapter 30: Off-Cycle Payroll & Corrections.
Step 7: Approving the Payrun
The approval step provides an additional checkpoint before salary disbursement:
- An authorized approver (typically a senior HR administrator or finance head) reviews the processed payrun.
- The approver checks the total payroll cost, headcount, and any flagged records.
- Click Approve.
- The payrun status changes to Approved.
Approval Summary
The approval screen typically displays:
| Metric | Value |
|---|---|
| Total Employees | Number of employees included |
| Total Gross Pay | Sum of all gross pay amounts |
| Total Deductions | Sum of all deduction amounts |
| Total Net Pay | Sum of all net pay amounts (amount to be disbursed) |
| Total Employer Cost | Sum of employer contributions (PF ER, ESI ER, etc.) |
| Total CTC | Net Pay + Deductions + Employer Costs |

Tip: Compare the total net pay with the previous month to spot significant variances. Large differences may indicate data errors (e.g., a new joiner with an incorrect salary structure, or an employee incorrectly marked for LOP).
Payroll Rounding
The payroll_round_up setting controls how decimal values are handled in payroll calculations.
Configuration
- Navigate to Settings > Payroll Setups.
- Locate the Payroll Round Up setting.
- Set the number of decimal places (0 to 5).
- Click Save.
Rounding Behavior
| Setting | Behavior | Example |
|---|---|---|
| 0 | Round to whole numbers | INR 25,432.67 becomes INR 25,433 |
| 1 | Round to 1 decimal place | INR 25,432.67 becomes INR 25,432.7 |
| 2 | Round to 2 decimal places | INR 25,432.67 remains INR 25,432.67 |
| 5 | Round to 5 decimal places | Maximum precision |
Tip: Most Indian organizations use 0 (whole rupees) for the final net pay. This avoids fractional amounts in bank transfers. Component-level calculations may use higher precision internally, with rounding applied at the net pay level.
Pay Schedule
The pay_schedule setting defines the expected pay day for your organization.
Configuration
- Navigate to Settings > Payroll Setups.
- Locate the Pay Schedule (or Pay Day) setting.
- Set the pay day (e.g., last working day of the month, 1st of the following month, 7th of the following month).
- Click Save.
The pay schedule does not affect calculations but serves as a reference for:
- Employees expecting their salary on a specific date
- Bank advice generation timing
- Payroll processing deadlines
Viewing Payrun History
To view past payruns:
- Navigate to Payroll > Payruns.
- The list shows all payruns with their month, status, and summary.
- Click on any payrun to view its details, including individual employee records.
- Use filters to search by month, status, or payrun type.
Payrun History Table
| Month | Type | Status | Employees | Total Net Pay | Actions |
|---|---|---|---|---|---|
| Jan 2026 | Regular | Paid | 145 | INR 52,30,000 | View |
| Dec 2025 | Regular | Paid | 142 | INR 51,80,000 | View |
| Nov 2025 | Regular | Paid | 140 | INR 50,95,000 | View |
| Oct 2025 | Off-Cycle | Paid | 3 | INR 1,25,000 | View |

Complete Payrun Checklist
Use this checklist to ensure a smooth payroll cycle each month:
| Step | Task | Status |
|---|---|---|
| 1 | Finalize attendance records for the month | ☐ |
| 2 | Ensure all leave requests are approved/rejected | ☐ |
| 3 | Process any pending reimbursement claims | ☐ |
| 4 | Verify new joiner salary assignments are complete | ☐ |
| 5 | Verify exit employees have correct last working dates | ☐ |
| 6 | Create the payrun and generate records | ☐ |
| 7 | Review employee-wise breakdown for accuracy | ☐ |
| 8 | Adjust LOP days and skip records as needed | ☐ |
| 9 | Process the payrun | ☐ |
| 10 | Get payrun approved | ☐ |
| 11 | Generate payslips | ☐ |
| 12 | Generate bank advice | ☐ |
| 13 | Disburse salaries | ☐ |
| 14 | Mark payrun as paid | ☐ |
Troubleshooting Common Payrun Issues
| Issue | Likely Cause | Resolution |
|---|---|---|
| Employee missing from payrun | No salary structure assigned, or employee is inactive | Assign a salary structure and regenerate |
| Net pay is zero or negative | Excessive LOP days or deductions exceeding gross | Review LOP days and deduction components |
| PF/ESI not calculated | Statutory settings not configured or employee not enrolled | Check statutory configuration in Settings |
| Reimbursement not included | Reimbursement not yet approved | Complete the reimbursement approval workflow |
| Payrun shows incorrect working days | Holiday or work week configuration error | Verify holidays and work week settings |
| Pro-rata calculation seems wrong | Incorrect joining date or last working date | Verify employee dates in their profile |
Best Practices
- Establish a payroll calendar. Define cutoff dates for attendance, leave, and reimbursement submissions. Share this calendar with all employees and managers.
- Process payroll in the same sequence each month. Consistency reduces errors and makes the process predictable for the HR team.
- Review before processing. The most common payroll errors are caught during the review stage. Never skip it.
- Keep a backup. Export the generated payroll data before processing, so you have a reference if questions arise later.
- Document exceptions. If you manually adjust any record (LOP days, skip payroll, etc.), note the reason for audit purposes.
What Comes Next
With the payrun processed and approved, the next steps are generating payslips for employees and creating bank advice for salary disbursement. Proceed to Chapter 29: Payslips & Bank Advice.
Payslips & Bank Advice
Once a payrun has been processed and approved, the final outputs are payslips for employees and bank advice for salary disbursement. Payslips provide a detailed breakdown of each employee's earnings and deductions, while bank advice consolidates the payment data needed for bank transfers.
This chapter covers viewing, downloading, and distributing payslips, generating bank advice files, and exporting the TDS worksheet.
What You Will Learn
- What a payslip contains
- How employees view their payslips (self-service)
- How administrators generate and distribute payslips
- How to download payslips as PDF
- What bank advice is and how to generate it
- How to export the TDS worksheet
- How to access historical payslips
Prerequisites
Required: A payrun must be in Approved (or Processed) status before payslips and bank advice can be generated. See Chapter 28: Running Payroll — The Payrun Process.
Understanding Payslips
A payslip is a document issued to each employee for every payroll period. It serves as a record of compensation and is often required for loan applications, visa processing, and tax filing.
Payslip Contents
A standard Udyamo HRMS payslip includes the following sections:
| Section | Details Included |
|---|---|
| Header | Organization name, logo, payslip month/year, employee name, employee ID, department, designation |
| Pay Summary | Total working days, paid days, LOP days, gross pay, total deductions, net pay |
| Earnings Breakdown | Each earning component with its amount for the month (Basic Pay, HRA, DA, Special Allowance, etc.) |
| Deductions Breakdown | Each deduction component with its amount (PF, ESI, PT, TDS, Loan EMI, etc.) |
| Reimbursements | Any approved reimbursements included in this payroll period |
| Net Pay | The final amount payable to the employee |
| Year-to-Date (YTD) | Cumulative earnings and deductions from the start of the fiscal year |
| Bank Details | Employee's bank account number and IFSC code (for reference) |

Employee Self-Service: Viewing Payslips
Employees can view their own payslips without needing to contact HR.
Steps for Employees
- Log in to Udyamo HRMS.
- Navigate to Payroll (or My Payslips) in the left sidebar.
- The page displays a list of available payslips by month.
- Click on a month to view the payslip details.
- The payslip displays all earnings, deductions, and the net pay amount.
Payslip List View
| Month | Year | Gross Pay | Deductions | Net Pay | Status |
|---|---|---|---|---|---|
| January | 2026 | INR 43,750 | INR 5,929 | INR 37,821 | Paid |
| December | 2025 | INR 43,750 | INR 5,929 | INR 37,821 | Paid |
| November | 2025 | INR 43,750 | INR 5,929 | INR 37,821 | Paid |

Tip: Encourage employees to check their payslip each month and report any discrepancies promptly. Early detection of errors is far easier to correct than discovering issues months later during tax filing.
Downloading Payslips as PDF
Both employees and administrators can download payslips in PDF format.
Employee Download
- Navigate to Payroll > My Payslips.
- Click on the desired month to open the payslip.
- Click the Download PDF button.
- The payslip is downloaded as a PDF file to the employee's device.
Administrator Bulk Download
Administrators can download payslips for multiple employees:
- Navigate to Payroll > Payruns.
- Open the approved/paid payrun for the desired month.
- Click Download Payslips (or Export Payslips).
- Select options:
- All employees — Download payslips for everyone in the payrun
- Selected employees — Choose specific employees
- By department — Download for a specific department
- The system generates a ZIP file containing individual PDF payslips.
- Download the ZIP file.
Each PDF file is typically named using a convention such as Payslip_EmployeeName_Month_Year.pdf.

Payslip Distribution
Udyamo HRMS supports multiple methods for distributing payslips to employees.
Self-Service Access
The default distribution method. Employees log in and view/download their payslips from the portal. No action is required from the administrator.
Email Distribution
To email payslips to employees:
- Navigate to Payroll > Payruns.
- Open the approved payrun.
- Click Email Payslips.
- Select the recipients:
- All employees — Send to everyone in the payrun
- Selected employees — Choose specific employees
- Click Send.
- Each employee receives an email with their payslip attached as a PDF.
Warning: Ensure employee email addresses are up to date before sending payslips via email. Payslips sent to incorrect email addresses pose a data privacy risk.
Manual Distribution
For organizations that distribute physical payslips or use other channels, the bulk PDF download provides the raw files for printing or manual distribution.
Understanding Bank Advice
Bank advice (also called a payment instruction file or salary transfer file) is a consolidated document that contains the payment details needed by the bank to process salary transfers for all employees.
Bank Advice Contents
| Column | Description |
|---|---|
| Employee Name | Full name of the employee |
| Employee ID | The employee's identifier in Udyamo HRMS |
| Bank Name | The employee's bank name |
| Account Number | The employee's bank account number |
| IFSC Code | The IFSC code of the employee's bank branch |
| Net Pay Amount | The amount to be transferred to this employee |
| Narration | A description field (e.g., "Salary for January 2026") |
Generating Bank Advice
To generate a bank advice file:
- Navigate to Payroll > Payruns.
- Open the approved payrun for the desired month.
- Click Bank Advice (or Generate Bank Advice).
- The system generates the bank advice file.
- Review the generated data:
- Total number of employees
- Total disbursement amount
- Any employees with missing bank details (flagged with warnings)
- Click Download to save the file.
File Format
Bank advice is typically generated in one or more of the following formats:
| Format | Use Case |
|---|---|
| CSV | General-purpose; can be uploaded to most banking portals |
| Excel (XLSX) | For manual review and editing before bank upload |
| Bank-specific format | Pre-formatted files compatible with specific banks (e.g., HDFC, ICICI, SBI) |
Warning: Verify that every employee has valid bank details (account number and IFSC code) before generating bank advice. Employees with missing or incorrect bank details will be flagged, and their payments may fail if not corrected.

Bank Advice Workflow
The typical bank advice workflow is:
- Generate the bank advice from the approved payrun.
- Review the file for accuracy — verify total amount, employee count, and flagged records.
- Download the file in the required format.
- Upload the file to your organization's banking portal or submit it to the bank.
- Bank processes the salary transfers.
- Mark the payrun as Paid once the bank confirms successful transfers.
Verifying Before Bank Upload
Before uploading to the bank, perform these checks:
| Check | What to Verify |
|---|---|
| Total amount | The total net pay in the bank advice matches the payrun total |
| Employee count | The number of records matches the expected headcount |
| Missing bank details | No employees have blank or incomplete bank information |
| Account format | Account numbers are in the correct format for the target bank |
| IFSC codes | All IFSC codes are valid and current |
TDS Worksheet Export
The TDS worksheet provides a detailed breakdown of Tax Deducted at Source for each employee. It is used for:
- Monthly TDS deposit with the government
- Quarterly TDS return filing
- Annual Form 16 generation
Generating the TDS Worksheet
- Navigate to Payroll > Payruns.
- Open the payrun for the desired month.
- Click TDS Worksheet (or Export TDS).
- The system generates a worksheet containing:
| Column | Description |
|---|---|
| Employee Name | Full name |
| PAN | Employee's Permanent Account Number |
| Taxable Income (Month) | Taxable income for the month |
| TDS Deducted (Month) | TDS amount deducted this month |
| Taxable Income (YTD) | Year-to-date taxable income |
| TDS Deducted (YTD) | Year-to-date TDS deduction |
| Projected Annual Income | Estimated annual taxable income |
| Projected Annual Tax | Estimated total tax for the year |
- Click Download to save the worksheet as CSV or Excel.
Using the TDS Worksheet
| Purpose | How to Use |
|---|---|
| Monthly TDS deposit | Sum the TDS Deducted (Month) column to determine the total TDS to be deposited with the government via challan (Form 26QB / Form 281). |
| Quarterly return | Use the quarterly cumulative data for filing Form 24Q. |
| Employee queries | Share individual employee TDS data when they request a breakdown of their tax deductions. |
Tip: Export the TDS worksheet every month as part of your payroll closing routine. This ensures you have a complete record for quarterly return filing and annual Form 16 generation.
Historical Payslips
Udyamo HRMS retains all payslip data for as long as the organization is active on the platform.
Accessing Historical Payslips
Employee view:
- Navigate to Payroll > My Payslips.
- Use the month/year filter or scroll through the list.
- Click on any past month to view or download the payslip.
Administrator view:
- Navigate to Payroll > Payruns.
- Use filters to locate the desired month and year.
- Open the payrun and access individual employee records.
- Download individual or bulk payslips as needed.
Historical Data Use Cases
| Use Case | Data Needed |
|---|---|
| Employee loan application | Last 3 -- 6 months of payslips |
| Visa processing | Last 6 -- 12 months of payslips and bank statements |
| Income tax return filing | Full year payslips and Form 16 |
| Salary verification for new employer | Last payslip and appointment letter |
| Full-and-final settlement | All payslips from the current fiscal year |
Payslip Security and Privacy
Payslips contain sensitive personal and financial information. Udyamo HRMS implements the following security measures:
| Measure | Description |
|---|---|
| Role-based access | Employees can only view their own payslips. Managers cannot view their team's payslips unless specifically authorized. |
| Administrator access | Only administrators with payroll permissions can view or download any employee's payslip. |
| PDF encryption | Downloaded PDF payslips may be password-protected (depending on organization settings). |
| Audit trail | All payslip views and downloads are logged for security auditing. |
Warning: Payslip data is classified as confidential. Ensure that emailed payslips are sent only to the employee's registered email address. Never share payslip data via unsecured channels.
Troubleshooting
| Issue | Likely Cause | Resolution |
|---|---|---|
| Payslip not available for an employee | Employee was skipped in the payrun | Check the payrun for skip_payroll flag on that employee |
| Bank advice shows missing bank details | Employee profile incomplete | Update the employee's bank details in their profile |
| TDS amounts seem incorrect | Tax declarations not updated or regime not selected | Review the employee's tax declarations and verify TDS calculation |
| PDF download fails | Browser popup blocker | Disable popup blocker or try a different browser |
| Email delivery failed | Invalid email address | Update the employee's email address and resend |
Best Practices
- Generate payslips immediately after payrun approval. This ensures employees have access to their payslip as soon as salary is processed.
- Verify bank advice before uploading to the bank. A few minutes of verification can prevent costly bank transfer errors.
- Export and archive TDS worksheets monthly. This simplifies quarterly and annual tax compliance.
- Communicate the payslip availability date. Let employees know when they can expect to see their payslip on the portal.
- Review bank detail completeness quarterly. Run a report of employees with missing bank details so that new joiners' information is captured promptly.
What Comes Next
For situations that require payments outside the regular monthly payrun — such as one-time bonuses, corrections, or contractor payments — Udyamo HRMS offers off-cycle payroll. Proceed to Chapter 30: Off-Cycle Payroll & Corrections.
Off-Cycle Payroll & Corrections
Regular payruns follow a predictable monthly schedule. However, situations arise that require salary payments or adjustments outside the standard cycle — a performance bonus awarded mid-month, a correction to a processed payroll error, a final settlement for an exiting employee, or a contractor payment. Udyamo HRMS handles these through the Off-Cycle Payroll feature.
This chapter covers creating off-cycle payruns, processing one-time payments, correcting payroll errors, and managing the approval workflow for ad-hoc payments.
What You Will Learn
- What off-cycle payroll is and when to use it
- How to navigate to the Off-Cycles section
- How to create an off-cycle payrun
- How to set up one-time payments (ad-hoc earnings and deductions)
- How to process contractor payments
- How to correct errors in processed payroll
- How the reversal process works
- The approval workflow for off-cycle payments
- Off-cycle payrun status tracking
Prerequisites
Required: The Payroll module must be enabled and salary components must be configured. See Chapter 26: Salary Components. You must have an Administrator role. Familiarity with the regular payrun process is recommended. See Chapter 28: Running Payroll.
What Is Off-Cycle Payroll?
Off-cycle payroll refers to any payroll processing that occurs outside the regular monthly payrun schedule. It is used for ad-hoc, one-time, or corrective payments that cannot wait until the next regular payrun.
Common Use Cases
| Use Case | Description |
|---|---|
| Performance bonus | A mid-cycle bonus awarded to an employee |
| Signing bonus | A one-time payment to a new hire |
| Arrear payment | Back-pay for a salary revision that applies retroactively |
| Error correction | Fixing an underpayment or overpayment from a previous payrun |
| Contractor payment | Processing payment for a contractor or consultant |
| Final settlement | Full-and-final settlement for an exiting employee processed outside the regular cycle |
| Festival advance | A one-time advance payment before a festival |
| Gratuity payout | Paying gratuity to a departing long-term employee |
Off-Cycle vs. Regular Payrun
| Aspect | Regular Payrun | Off-Cycle Payrun |
|---|---|---|
| Frequency | Monthly (or per pay schedule) | As needed |
| Scope | All active employees | Selected employees only |
| Components | Full salary structure | Specific components or one-time amounts |
| Attendance linkage | Yes (LOP, paid days) | Usually not linked to attendance |
| Statutory calculations | Full (PF, ESI, PT, TDS) | Depends on the payment type |
Navigating to Off-Cycles
To access the off-cycle payroll section:
- Click Payroll in the left sidebar.
- Select Off-Cycles (or Off-Cycle Payruns).
The Off-Cycles page lists all existing off-cycle payruns with their date, status, and summary.

Creating an Off-Cycle Payrun
To create an off-cycle payrun:
- Navigate to Payroll > Off-Cycles.
- Click Create Off-Cycle Payrun (or New Off-Cycle).
- Fill in the payrun details:
| Field | Description | Required |
|---|---|---|
| Name / Description | A descriptive name for the off-cycle (e.g., "Performance Bonus — Q3 2025", "Arrear Payment — October"). | Yes |
| Payment Date | The effective date for the payment. | Yes |
| Payrun Type | The type of off-cycle payment (e.g., Bonus, Arrear, Correction, Contractor). | Yes |
- Click Create.
The off-cycle payrun is created in Draft status.

One-Time Payments
A one-time payment (represented by the OneTimePayment model) is an ad-hoc earning or deduction that applies to a specific employee for a single payroll cycle. One-time payments are the primary mechanism for adding amounts to an off-cycle payrun.
Creating a One-Time Payment
- Open the off-cycle payrun (in Draft status).
- Click Add Payment (or Add One-Time Payment).
- Fill in the payment details:
| Field | Description | Required |
|---|---|---|
| Employee | The employee receiving the payment. | Yes |
| Payment Type | Whether this is an Earning (payment to the employee) or Deduction (recovery from the employee). | Yes |
| Component Name | A description of the payment (e.g., "Q3 Performance Bonus", "Salary Arrear — Oct 2025"). | Yes |
| Amount | The monetary amount. | Yes |
| Taxable | Whether this payment is subject to TDS. | Yes |
| Effective Date | The date on which the payment applies. | Yes |
- Click Save.
- Repeat for each employee who needs a one-time payment in this cycle.
One-Time Payment Examples
| Scenario | Payment Type | Component Name | Amount | Taxable |
|---|---|---|---|---|
| Q3 performance bonus | Earning | Performance Bonus — Q3 | INR 25,000 | Yes |
| Signing bonus for new hire | Earning | Joining Bonus | INR 50,000 | Yes |
| Salary arrear (2-month revision) | Earning | Salary Arrear — Aug-Sep | INR 12,000 | Yes |
| Recovery of overpayment | Deduction | Overpayment Recovery — Nov | INR 3,500 | No |
| Festival advance | Earning | Diwali Advance | INR 10,000 | No |
Tip: When creating one-time payments, use descriptive component names that clearly identify the purpose. This information appears on the employee's payslip and serves as documentation for the payment.
Processing Contractor Payments
Off-cycle payruns can be used to process payments for contractors or consultants who are not on the regular payroll.
Steps for Contractor Payments
- Ensure the contractor is set up in the system as an employee record (with appropriate designation, e.g., "Contractor" or "Consultant").
- Create an off-cycle payrun with the type set to Contractor (or use a descriptive name).
- Add a one-time earning for the contractor's payment:
- Component Name: Contractor Fee — [Month/Project]
- Amount: The agreed payment amount
- Taxable: Yes (TDS under Section 194C/194J applies to contractor payments)
- Process and approve the off-cycle payrun.
- Generate bank advice for the contractor payment.
Warning: Contractor payments are subject to different TDS rates than employee salaries. Section 194C applies to contractors (1% for individuals/HUF, 2% for others) and Section 194J applies to professional/technical services (10%). Ensure the correct TDS rate is applied. Consult your tax advisor.
Effective Date Management
The Effective Date on an off-cycle payment determines:
- When the payment is recorded in the books
- Which month's tax calculation it affects
- How it appears in the employee's payslip history
Choosing the Effective Date
| Scenario | Recommended Effective Date |
|---|---|
| Current month bonus | Current month (same as payment date) |
| Arrear for a past month | The month to which the arrear pertains (for correct tax attribution) |
| Correction for a past payrun | The original payrun month |
| Future payment (advance) | Current month |
Tip: Using the correct effective date is especially important for TDS calculations. A bonus processed in January but effective for December may have different tax implications. Consult your payroll team or tax advisor when unsure.
Corrections to Processed Payroll
When an error is discovered in a processed (or paid) payrun, the off-cycle payrun is the mechanism for correction. The original payrun cannot be reopened or modified.
Common Correction Scenarios
| Error | Correction Approach |
|---|---|
| Underpayment | Create an off-cycle earning to pay the difference |
| Overpayment | Create an off-cycle deduction to recover the excess amount |
| Wrong component amount | Pay the correct amount via off-cycle earning and recover the incorrect amount via deduction (or net the difference) |
| Missing attendance adjustment | Calculate the correct LOP impact and process the difference as an earning (if underpaid) or deduction (if overpaid) |
| Incorrect statutory deduction | Adjust via off-cycle and reconcile with statutory returns |
Step-by-Step: Correcting an Underpayment
An employee's Special Allowance was incorrectly entered as INR 8,000 instead of INR 10,000 for December 2025. The difference of INR 2,000 needs to be paid.
- Navigate to Payroll > Off-Cycles.
- Click Create Off-Cycle Payrun.
- Enter:
- Name: Salary Correction — December 2025
- Payment Date: January 15, 2026
- Type: Correction
- Click Create.
- Click Add Payment.
- Enter:
- Employee: [Employee Name]
- Payment Type: Earning
- Component Name: Special Allowance Arrear — Dec 2025
- Amount: INR 2,000
- Taxable: Yes
- Effective Date: December 2025
- Click Save.
- Process and approve the off-cycle payrun.
The employee receives INR 2,000 (minus applicable TDS) as a correction payment.
Step-by-Step: Recovering an Overpayment
An employee was paid INR 5,000 extra due to an incorrect LOP calculation in November 2025.
- Navigate to Payroll > Off-Cycles.
- Click Create Off-Cycle Payrun.
- Enter:
- Name: Overpayment Recovery — November 2025
- Payment Date: January 2026
- Type: Correction
- Click Create.
- Click Add Payment.
- Enter:
- Employee: [Employee Name]
- Payment Type: Deduction
- Component Name: Overpayment Recovery — Nov 2025
- Amount: INR 5,000
- Taxable: No (recoveries are not taxable events)
- Effective Date: November 2025
- Click Save.
- Process and approve the off-cycle payrun.
Warning: Before recovering an overpayment via payroll deduction, inform the employee and get their acknowledgment. Surprise deductions can cause dissatisfaction and may have legal implications depending on your jurisdiction. Some states require written consent before making deductions from salary.
Reversal Process
In rare cases, you may need to reverse an entire off-cycle payment (e.g., a bonus was paid in error and needs to be fully clawed back).
Steps for Reversal
- Identify the off-cycle payrun that needs to be reversed.
- Create a new off-cycle payrun specifically for the reversal.
- For each payment in the original off-cycle, create an opposite entry:
- If the original was an earning, create a deduction for the same amount.
- If the original was a deduction, create an earning for the same amount.
- Process and approve the reversal off-cycle.
- Document the reversal reason in the payrun description.
Tip: Always create a new off-cycle payrun for reversals rather than trying to modify the original. This preserves the audit trail and provides clear documentation of what was paid and what was reversed.
Approval Workflow for Off-Cycle Payments
Off-cycle payments follow the same approval workflow as regular payruns, with additional scrutiny due to their ad-hoc nature.
Approval Status Flow
| Status | Description | Who Can Transition |
|---|---|---|
| Draft | Off-cycle payrun created; payments being added. | Creator (Admin/HR) |
| Submitted | Ready for review. All payments have been added. | Creator submits for approval. |
| Approved | Authorized for disbursement. | Approver (Senior Admin / Finance Head) |
| Rejected | Sent back for correction or cancelled. | Approver |
| Approved & Paid | Payment has been disbursed and confirmed. | Admin marks as paid after bank transfer. |
Approval Flow
Draft --> Submitted --> Approved --> Approved & Paid
|
--> Rejected (back to Draft for correction)
What the Approver Reviews
| Check | Details |
|---|---|
| Justification | Is the off-cycle payment justified? Is there supporting documentation (bonus letter, correction memo, etc.)? |
| Amounts | Are the amounts correct and within authorized limits? |
| Tax treatment | Is the taxability flag set correctly for each payment? |
| Employee eligibility | Is the employee eligible for this payment (e.g., still active, in the correct department)? |
| Budget impact | Does the total off-cycle amount align with the approved budget? |
Warning: Off-cycle payments bypass the standard payroll calculation checks (attendance, leave, statutory limits). The approval step is the primary safeguard against errors. Approvers should review each payment carefully.
Status Tracking
Viewing Off-Cycle Payrun Status
- Navigate to Payroll > Off-Cycles.
- The list displays all off-cycle payruns with their current status.
- Click on any entry to view details, including individual payment records and approval history.
Off-Cycle History
| Name | Date | Type | Status | Employees | Total Amount |
|---|---|---|---|---|---|
| Performance Bonus — Q3 | Jan 15, 2026 | Bonus | Approved & Paid | 12 | INR 3,50,000 |
| Salary Correction — Dec 2025 | Jan 10, 2026 | Correction | Approved & Paid | 2 | INR 5,500 |
| Contractor Payment — Jan | Jan 31, 2026 | Contractor | Approved | 3 | INR 1,80,000 |
| Diwali Advance — Oct | Oct 20, 2025 | Advance | Approved & Paid | 85 | INR 8,50,000 |

Off-Cycle Payment and Payslip Integration
One-time payments processed through off-cycle payruns appear on the employee's payslip record:
- If the payment effective date falls within a regular payrun month, it appears as an addendum or separate section on that month's payslip.
- If it is processed independently, it generates a separate payslip document for the off-cycle period.
Employees can view off-cycle payslips in the same My Payslips section alongside regular monthly payslips.
Off-Cycle Payment and Tax Integration
Off-cycle payments affect the employee's annual tax calculation:
| Payment Type | Tax Impact |
|---|---|
| Taxable earning (bonus, arrear) | Added to taxable income; TDS recalculated for remaining months |
| Non-taxable earning (reimbursement against bills) | Exempt from tax; no TDS impact |
| Deduction recovery | Not a taxable event; no TDS impact |
| Contractor payment | TDS deducted at applicable rate (194C/194J) |
The TDS worksheet (see Chapter 29) includes off-cycle payments in the cumulative calculations.
Tip: Large off-cycle taxable payments (e.g., annual bonus) can significantly impact an employee's monthly TDS for the remaining months of the fiscal year. The system automatically adjusts the monthly TDS to spread the additional tax liability evenly across the remaining months.
Bank Advice for Off-Cycle Payments
Off-cycle payruns generate their own bank advice files, separate from the regular payrun bank advice.
- Open the approved off-cycle payrun.
- Click Bank Advice.
- Review and download the file.
- Upload to the banking portal for processing.
The bank advice contains only the employees included in the off-cycle payrun, with their respective net payment amounts.
Troubleshooting
| Issue | Likely Cause | Resolution |
|---|---|---|
| Cannot add payments to off-cycle | Payrun is not in Draft status | Create a new off-cycle payrun or request the approver to reject it back to Draft |
| Employee not found when adding payment | Employee is inactive or not in the system | Verify the employee's status in the employee directory |
| TDS not calculated on off-cycle earning | Taxable flag not set | Edit the one-time payment and set Taxable to Yes |
| Off-cycle payment not showing on payslip | Payment not yet approved or effective date mismatch | Verify the off-cycle status is Approved and the effective date is correct |
| Approval workflow stuck | Approver has not reviewed | Send a reminder to the designated approver |
Best Practices
- Minimize off-cycle usage. Off-cycle payments should be the exception, not the norm. If you find yourself running off-cycles frequently, consider whether the regular payrun process needs adjustment.
- Document thoroughly. Every off-cycle payrun should have a clear description and each payment should have a descriptive component name. This documentation is critical for auditing.
- Use separate off-cycles for different purposes. Do not mix bonuses, corrections, and contractor payments in a single off-cycle payrun. Separate them for clarity and audit trail.
- Get approvals before disbursement. Never bypass the approval workflow, even for urgent payments. If the regular approver is unavailable, escalate to a backup approver.
- Reconcile off-cycle payments with the regular payroll. At month-end, ensure all off-cycle payments are accounted for in your overall payroll cost reports and statutory calculations.
- Communicate with employees. Notify employees when off-cycle payments (or recoveries) are being processed, especially if the amount is unexpected.
What Comes Next
This concludes Part 6: Payroll. With salary components, salary structures, the regular payrun process, payslips, bank advice, and off-cycle payments all covered, your payroll system is fully operational.
Proceed to Part 7: Statutory Compliance (India), starting with Chapter 31: EPF — Employees' Provident Fund.
EPF — Employees' Provident Fund
The Employees' Provident Fund (EPF) is a mandatory retirement savings scheme governed by the Employees' Provident Funds and Miscellaneous Provisions Act, 1952. Under this scheme, both the employer and the employee contribute a percentage of the employee's basic wages each month to a fund managed by the Employees' Provident Fund Organisation (EPFO). Udyamo HRMS automates EPF calculations, deductions, and reporting to help your organization stay compliant.
This chapter covers the EPF rules applicable in India, how to configure EPF in Udyamo HRMS, how to enroll employees, and how to generate the reports required for monthly filing.
What You Will Learn
- EPF contribution rules and wage ceiling
- How to enable the EPF component at the organization level
- How to enter the organization's EPF establishment code
- How to enroll individual employees with their EPF number and UAN
- How EPF is calculated during payroll
- How to generate EPF reports and the Electronic Challan-cum-Return (ECR)
- Compliance deadlines and penalties
Prerequisites
Required: Before configuring EPF, ensure the following are in place:
- Your organization profile is complete (see Organization Profile & Branding)
- At least one office exists with a valid address (see Offices & Locations)
- Salary components (Basic Wages) are configured (see Salary Components)
- You have your organization's EPF establishment code from EPFO
Understanding EPF Rules
Applicability
EPF is applicable to establishments employing 20 or more persons. Once an establishment is covered, it remains covered even if the number of employees falls below 20. Voluntary coverage is available for smaller establishments.
Contribution Rates
| Contributor | Rate | Calculated On |
|---|---|---|
| Employee | 12% of Basic Wages + DA | Basic Wages + Dearness Allowance |
| Employer | 12% of Basic Wages + DA | Basic Wages + Dearness Allowance |
The employer's 12% contribution is further split:
| Component | Rate | Purpose |
|---|---|---|
| EPF | 3.67% | Employees' Provident Fund |
| EPS | 8.33% | Employees' Pension Scheme (capped at wages of Rs 15,000/month) |
Wage Ceiling
| Parameter | Value |
|---|---|
| Statutory wage ceiling for EPF contribution | Rs 15,000 per month (Basic + DA) |
| Voluntary higher contribution | Employers may contribute on actual Basic + DA even if it exceeds Rs 15,000 |
| EPS wage ceiling | Rs 15,000 per month (pension contribution capped at 8.33% of Rs 15,000 = Rs 1,250) |
Tip: Many organizations choose to calculate EPF on the full basic wages (not capped at Rs 15,000) as a better employee benefit. Udyamo HRMS supports both capped and uncapped configurations.
Administrative Charges
| Charge | Rate | Paid By |
|---|---|---|
| EPF Admin Charges | 0.50% of Basic Wages + DA (minimum Rs 500/month) | Employer |
| EDLI Charges | 0.50% of Basic Wages + DA (capped at Rs 15,000) | Employer |
Enabling the EPF Component
Step 1: Navigate to Statutory Components
- From the sidebar, click Settings.
- Under the Payroll section, click Statutory Components.
- Locate the EPF component in the list.

Step 2: Enable EPF
- Click the EPF component row to open its configuration.
- Toggle the Enable switch to On.
- Enter your organization's EPF Establishment Code (also called the EPF Number). This is the code assigned by EPFO when your establishment was registered. The format is typically:
STATE/OFFICE/ESTABLISHMENT/EXTENSION(for example,MH/BOM/12345/000). - Click Save.

Warning: The EPF Establishment Code must exactly match the code registered with EPFO. An incorrect code will cause errors when uploading ECR files to the EPFO portal.
Step 3: Verify the Configuration
After saving, the EPF component should appear as Enabled in the Statutory Components list. The establishment code is displayed alongside the component name.
Enrolling Employees for EPF
Each employee who is covered under EPF must have their EPF member number and Universal Account Number (UAN) recorded in Udyamo HRMS.
Understanding EPF Identifiers
| Identifier | Description | Format | Example |
|---|---|---|---|
| EPF Number | The member ID assigned to the employee under the employer's establishment | State/Office/Establishment/Extension/Account | MH/BOM/12345/000/0001234 |
| UAN (Universal Account Number) | A portable 12-digit number assigned by EPFO that stays with the employee throughout their career | 12-digit numeric | 100123456789 |
Step 1: Open the Employee Profile
- From the sidebar, click Employees.
- Search for and click the employee's name to open their profile.
- Navigate to the Statutory Details tab (or section).

Step 2: Enter EPF Details
- In the EPF Number field, enter the employee's member ID under your establishment.
- In the UAN Number field, enter the employee's 12-digit Universal Account Number.
- Ensure the EPF Enable toggle is set to On for this employee.
- Click Save.
| Field | Required | Description |
|---|---|---|
| EPF Number | Yes (if EPF is enabled for the employee) | The employee's provident fund member ID |
| UAN Number | Yes (if EPF is enabled for the employee) | The employee's Universal Account Number from EPFO |
| EPF Enable | Yes | Toggle to include/exclude this employee from EPF calculations |
Tip: For new employees who do not yet have a UAN, you can generate one through the EPFO employer portal. Enter it in Udyamo HRMS once it is assigned. Payroll processing can still proceed, but the UAN is required for ECR filing.
Step 3: Verify Enrollment
After saving, confirm the EPF details appear correctly on the employee's Statutory Details tab. The employee will now be included in EPF calculations during the next payroll run.
Enabling or Disabling EPF for Individual Employees
Not all employees may be covered under EPF. You can control EPF enrollment at the individual level.
Scenarios for Disabling EPF
| Scenario | Action |
|---|---|
| Employee's Basic + DA exceeds Rs 15,000/month and they opt out (if eligible) | Disable EPF for that employee |
| Contractor or consultant not on the organization's EPF establishment | Disable EPF for that worker |
| Employee is an international worker exempt from EPF | Disable EPF for that employee |
| Employee is already contributing through another establishment | Disable EPF for that employee |
How to Disable EPF for an Employee
- Open the employee's profile.
- Navigate to the Statutory Details tab.
- Set the EPF Enable toggle to Off.
- Click Save.
Warning: Disabling EPF for an employee who is legally required to be enrolled may result in non-compliance penalties. Consult your legal or compliance team before disabling EPF for any employee.
EPF Calculation in Payroll
When you run payroll (see Running Payroll), Udyamo HRMS automatically calculates EPF contributions for all enrolled employees.
Calculation Logic
- The system identifies all employees with EPF enabled.
- For each employee, it determines the EPF-eligible wages (Basic Wages + Dearness Allowance).
- It calculates:
- Employee EPF contribution = 12% of EPF-eligible wages
- Employer EPF contribution = 3.67% of EPF-eligible wages (to PF account)
- Employer EPS contribution = 8.33% of EPF-eligible wages (to Pension account, capped at Rs 15,000 wages)
Example Calculation
| Parameter | Value |
|---|---|
| Basic Wages | Rs 20,000 |
| Dearness Allowance | Rs 0 |
| EPF-eligible Wages | Rs 20,000 |
| Employee EPF (12%) | Rs 2,400 |
| Employer EPF (3.67%) | Rs 734 |
| Employer EPS (8.33% of Rs 15,000 cap) | Rs 1,250 |
| Employer EPS (remaining to PF) | Rs 416 (i.e., 8.33% of Rs 20,000 = Rs 1,666; Rs 1,666 - Rs 1,250 = Rs 416 goes to PF) |
| Total Employer PF | Rs 1,150 (Rs 734 + Rs 416) |
| Total Employer EPS | Rs 1,250 |
| Total Employer Contribution | Rs 2,400 |
Tip: The EPF deduction appears as a separate line item on the employee's payslip under the Deductions section. The employer's contribution is shown separately in the payroll summary but is not deducted from the employee's net pay.
Viewing EPF on Payslips
After payroll is processed:
- Navigate to Payroll > Payslips.
- Select the month and click on an employee's payslip.
- The Deductions section shows the employee's EPF contribution.
- The Employer Contributions section (if displayed) shows the employer's share.

EPF Reports
Udyamo HRMS provides several EPF-related reports to support your compliance filing.
Available Reports
| Report | Description | Used For |
|---|---|---|
| EPF Contribution Report | Lists all enrolled employees with their EPF-eligible wages, employee contribution, and employer contribution for a given month | Internal review and record-keeping |
| ECR (Electronic Challan-cum-Return) | Generates the ECR file in the format required by EPFO for online filing | Monthly filing on the EPFO Unified Portal |
| EPF Summary Report | Aggregated totals of employee and employer contributions, admin charges, and EDLI | Challan preparation and payment verification |
Generating the EPF Contribution Report
- From the sidebar, click Reports.
- Select EPF Report (or Statutory Reports > EPF).
- Choose the Month and Year.
- Click Generate.
- The report displays a table of all EPF-enrolled employees with their contribution details.
- Click Export to download the report in Excel or PDF format.

Generating the ECR File
The ECR file is the primary file you upload to the EPFO Unified Portal each month.
- From Reports, select ECR Report.
- Choose the Month and Year.
- Click Generate ECR.
- The system generates a text file in the EPFO-prescribed format containing:
- UAN of each employee
- EPF-eligible wages
- EPF contribution (employee)
- EPS contribution (employer)
- EPF contribution difference (employer)
- NCP days (non-contribution period days)
- Click Download to save the ECR file.
- Upload this file to the EPFO Unified Portal at https://unifiedportal-emp.epfindia.gov.in.
Tip: Always verify the ECR file totals against your payroll summary before uploading. Discrepancies can delay challan generation and attract penalties.
Monthly Filing Process
Follow this process each month to stay compliant with EPF regulations.
Filing Workflow
| Step | Action | Deadline |
|---|---|---|
| 1 | Run payroll for the month | By the last working day of the month |
| 2 | Review EPF contribution report | 1st to 5th of the following month |
| 3 | Generate and download ECR file from Udyamo HRMS | 1st to 10th of the following month |
| 4 | Log in to EPFO Unified Portal and upload ECR | By 15th of the following month |
| 5 | Generate challan and make payment | By 15th of the following month |
| 6 | Download and archive the payment receipt | After payment confirmation |
Compliance Deadlines
| Obligation | Deadline | Penalty for Late Filing |
|---|---|---|
| Monthly EPF payment | 15th of the following month | Interest at 12% per annum on overdue amount + damages up to 100% of arrears |
| ECR filing | 15th of the following month (along with payment) | Penalties under Section 14B of the EPF Act |
| Annual Return (Form 3A/6A) | 25th April of the following financial year | Penalties under the Act |
Warning: Late payment of EPF contributions attracts both interest (at 12% per annum, calculated on a daily basis) and damages that can range from 5% to 25% of the arrears depending on the delay period. Ensure payments are made on or before the 15th of each month.
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| EPF not calculated for an employee | EPF is disabled for that employee | Open their profile, navigate to Statutory Details, and enable EPF |
| EPF amount is zero on the payslip | Basic Wages component is not mapped or is zero | Verify the salary structure includes Basic Wages and the amount is correct |
| ECR file rejected by EPFO portal | UAN mismatch or format error | Verify each employee's UAN in Udyamo matches EPFO records; regenerate the ECR |
| EPF contribution seems too high | EPF is being calculated on full Basic (not capped) | Review the EPF component configuration for wage ceiling settings |
| Employee not appearing in EPF report | Employee was added after payroll was run | Re-run payroll or add the employee before the next payrun |
Next Steps
- Configure ESIC for eligible employees — see ESIC — Employees' State Insurance
- Set up Professional Tax for your offices — see Professional Tax
- Review the payroll process that triggers EPF calculations — see Running Payroll
ESIC — Employees' State Insurance
The Employees' State Insurance Corporation (ESIC) administers a social security scheme that provides medical, sickness, maternity, and disability benefits to employees and their dependents. Governed by the Employees' State Insurance Act, 1948, ESIC coverage is mandatory for eligible employees. Udyamo HRMS automates ESIC eligibility checks, contribution calculations, and report generation to simplify your organization's compliance.
This chapter explains ESIC rules, how to configure ESIC in Udyamo HRMS, how to enroll employees, and how to generate the required reports.
What You Will Learn
- ESIC eligibility criteria and contribution rates
- How to enable the ESIC component at the organization level
- How to enter the organization's ESIC code number
- How to enroll individual employees with their ESIC number
- How automatic eligibility checks work
- How ESIC is calculated during payroll
- How to generate ESIC reports
- Half-yearly return filing requirements and deadlines
Prerequisites
Required: Before configuring ESIC, ensure the following are complete:
- Your organization profile is set up (see Organization Profile & Branding)
- Salary components are configured with gross salary calculations (see Salary Components)
- You have your organization's ESIC code number from the ESIC portal
- EPF configuration is recommended to be completed first (see EPF)
Understanding ESIC Rules
Applicability
ESIC applies to establishments (factories, shops, hotels, restaurants, cinemas, road transport, newspaper, and other notified establishments) employing 10 or more persons in most states. Some states have a threshold of 20 employees.
Eligibility Criteria
| Parameter | Threshold |
|---|---|
| Gross salary ceiling for employee eligibility | Rs 21,000 per month |
| Gross salary ceiling for PWD (Persons with Disability) | Rs 25,000 per month |
An employee whose gross monthly salary (all components except overtime) is at or below Rs 21,000 is covered under ESIC. Once covered, the employee continues to be covered for the full contribution period (six months) even if their salary subsequently exceeds the ceiling during that period.
Contribution Rates
| Contributor | Rate | Calculated On |
|---|---|---|
| Employee | 0.75% of gross wages | Gross salary (excluding overtime) |
| Employer | 3.25% of gross wages | Gross salary (excluding overtime) |
| Total | 4.00% of gross wages | — |
Tip: Employees earning up to Rs 176 per day are exempt from paying their share (0.75%). The employer's share (3.25%) is still payable for such employees.
Contribution Periods and Benefit Periods
ESIC operates on a six-month contribution-and-benefit cycle:
| Contribution Period | Benefit Period |
|---|---|
| April to September | January to June (of the following year) |
| October to March | July to December (of the same year) |
Enabling the ESIC Component
Step 1: Navigate to Statutory Components
- From the sidebar, click Settings.
- Under the Payroll section, click Statutory Components.
- Locate the ESIC component in the list.

Step 2: Enable ESIC
- Click the ESIC component row to open its configuration.
- Toggle the Enable switch to On.
- Enter your organization's ESIC Code Number. This is the 17-digit code assigned when your establishment was registered with ESIC.
- Click Save.
| Field | Description | Format |
|---|---|---|
| Enable | Turns ESIC on/off for the organization | Toggle (On/Off) |
| ESIC Code Number | The employer's registration number with ESIC | 17-digit numeric (e.g., 31-12345-67-890-1234) |
Warning: The ESIC Code Number must match your registration with ESIC exactly. Verify the number against your ESIC registration certificate before entering it.
Step 3: Verify Configuration
After saving, the ESIC component appears as Enabled in the Statutory Components list. The ESIC code number is displayed alongside the component name.
Enrolling Employees for ESIC
Automatic Eligibility Check
Udyamo HRMS includes an automatic eligibility check for ESIC. During payroll processing, the system evaluates each employee's gross monthly salary against the Rs 21,000 ceiling:
| Gross Salary | Eligibility | Action |
|---|---|---|
| Rs 21,000 or below | Eligible | ESIC contributions calculated automatically |
| Above Rs 21,000 | Not eligible (new enrollments) | No ESIC deduction |
| Above Rs 21,000 (already enrolled in current contribution period) | Continues to be covered | ESIC contributions continue until the end of the contribution period |
Entering the ESIC Number for an Employee
- From the sidebar, click Employees.
- Search for and click the employee's name to open their profile.
- Navigate to the Statutory Details tab.
- In the ESIC Number field, enter the employee's ESIC Insurance Number (IP number).
- Ensure the ESIC Enable toggle is set to On.
- Click Save.

| Field | Required | Description | Format |
|---|---|---|---|
| ESIC Number | Yes (if ESIC is enabled) | The employee's Insurance Person (IP) number | 17-digit numeric |
| ESIC Enable | Yes | Toggle to include/exclude this employee from ESIC | Toggle (On/Off) |
Tip: For new employees who do not yet have an ESIC IP number, register them on the ESIC portal (https://www.esic.gov.in) first. Enter the assigned IP number in Udyamo HRMS once available.
Enrolling Multiple Employees
If you are enrolling several employees at once:
- Navigate to Employees and use the list view.
- Open each eligible employee's profile in a new tab.
- Enter the ESIC number and enable ESIC for each employee.
- Alternatively, use the Bulk Import feature (see Bulk Import) to update ESIC numbers for multiple employees via a spreadsheet.
Enabling or Disabling ESIC for Individual Employees
When to Disable ESIC
| Scenario | Action |
|---|---|
| Employee's gross salary exceeds Rs 21,000 and they are not in an active contribution period | Disable ESIC |
| Employee is a contractor not covered under ESIC | Disable ESIC |
| Employee is already covered under ESIC through another employer | Disable ESIC |
| Employee is covered under a different social security scheme (e.g., CGHS for government employees) | Disable ESIC |
How to Disable ESIC
- Open the employee's profile.
- Navigate to Statutory Details.
- Set the ESIC Enable toggle to Off.
- Click Save.
Warning: Do not disable ESIC mid-contribution period for an employee who was enrolled at the start of that period. ESIC coverage must continue for the entire six-month contribution period once the employee is enrolled.
ESIC Calculation in Payroll
When you run payroll, Udyamo HRMS automatically calculates ESIC contributions for all eligible and enrolled employees.
Calculation Logic
- The system identifies all employees with ESIC enabled.
- For each employee, it determines the gross wages for the month (excluding overtime payments).
- It calculates:
- Employee ESIC contribution = 0.75% of gross wages
- Employer ESIC contribution = 3.25% of gross wages
- Contributions are rounded to the nearest rupee.
Example Calculation
| Parameter | Value |
|---|---|
| Gross Monthly Salary | Rs 18,000 |
| Overtime (excluded) | Rs 1,500 |
| ESIC-eligible Wages | Rs 18,000 |
| Employee ESIC (0.75%) | Rs 135 |
| Employer ESIC (3.25%) | Rs 585 |
| Total ESIC | Rs 720 |
Another Example — Employee at the Ceiling
| Parameter | Value |
|---|---|
| Gross Monthly Salary | Rs 21,000 |
| ESIC-eligible Wages | Rs 21,000 |
| Employee ESIC (0.75%) | Rs 158 (rounded from Rs 157.50) |
| Employer ESIC (3.25%) | Rs 683 (rounded from Rs 682.50) |
| Total ESIC | Rs 841 |
Viewing ESIC on Payslips
After payroll is processed:
- Navigate to Payroll > Payslips.
- Select the month and click on an employee's payslip.
- The Deductions section shows the employee's ESIC contribution (0.75%).
- The employer's ESIC contribution (3.25%) is shown in the payroll summary.

Tip: The employee only sees their own 0.75% deduction on their payslip. The employer's 3.25% is an additional cost borne by the organization and appears in the organization's payroll cost reports.
ESIC Reports
Available Reports
| Report | Description | Used For |
|---|---|---|
| ESIC Monthly Contribution Report | Lists all ESIC-enrolled employees with their wages, employee contribution, and employer contribution for a given month | Monthly payment and internal records |
| ESIC Summary Report | Aggregated totals of employee and employer contributions | Challan preparation |
| ESIC Half-Yearly Return Data | Data formatted for the half-yearly return filing | Filing on the ESIC portal |
Generating the ESIC Contribution Report
- From the sidebar, click Reports.
- Select ESIC Report (or Statutory Reports > ESIC).
- Choose the Month and Year.
- Click Generate.
- The report displays each enrolled employee with their:
- Employee name and ESIC number
- Gross wages for the month
- Employee contribution (0.75%)
- Employer contribution (3.25%)
- Total contribution
- Click Export to download in Excel or PDF format.

Filing Requirements and Deadlines
Monthly Payment
| Obligation | Deadline | Method |
|---|---|---|
| Monthly ESIC contribution payment | 15th of the following month | Online payment through the ESIC portal |
Half-Yearly Returns
| Return | Period | Deadline |
|---|---|---|
| Half-Yearly Return — Period 1 | April to September | 11th November |
| Half-Yearly Return — Period 2 | October to March | 12th May |
Filing Process
- Run payroll for each month in the contribution period.
- Generate the ESIC Monthly Contribution Report for each month.
- Make the monthly payment on the ESIC portal by the 15th of each following month.
- At the end of the contribution period (September or March), generate the Half-Yearly Return Data from Udyamo HRMS.
- Log in to the ESIC portal and file the half-yearly return using the exported data.
Warning: Late payment of ESIC contributions attracts interest at 12% per annum. Additionally, failure to file returns on time can result in penalties and prosecution under the ESI Act.
Handling Salary Changes and ESIC Eligibility
When an employee's salary changes, ESIC eligibility may be affected. Here is how Udyamo HRMS handles common scenarios:
| Scenario | System Behavior |
|---|---|
| Salary increases above Rs 21,000 mid-contribution period | Employee continues to be covered for the remainder of the current contribution period |
| Salary increases above Rs 21,000 at the start of a new contribution period | Employee is no longer eligible; ESIC is not calculated |
| Salary decreases to Rs 21,000 or below | Employee becomes eligible; ESIC is calculated from the next payroll |
| New joinee with salary below Rs 21,000 | Automatically eligible if ESIC is enabled |
Tip: Review ESIC eligibility at the start of each contribution period (April and October) to ensure accurate enrollment. Use the ESIC report to verify which employees are currently enrolled.
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| ESIC not calculated for an eligible employee | ESIC is disabled for that employee | Open their profile, enable ESIC in Statutory Details |
| ESIC calculated for an employee above Rs 21,000 | Employee was enrolled during the current contribution period when salary was below the ceiling | This is correct behavior; coverage continues for the full contribution period |
| ESIC amount appears incorrect | Overtime may be included in the calculation | Verify that overtime is excluded from the ESIC wage base |
| Employee not appearing in ESIC report | ESIC number is missing or ESIC is disabled | Enter the ESIC number and enable ESIC for the employee |
| ESIC challan amount does not match report | Rounding differences or mid-month joiners | Verify the report totals and check for proration of mid-month joiners |
Next Steps
- Configure Professional Tax for your offices — see Professional Tax
- Set up TDS for income tax compliance — see TDS — Tax Deducted at Source
- Review the payroll process — see Running Payroll
Professional Tax
Professional Tax (PT) is a state-level tax levied on individuals earning income from employment, trade, or profession. Unlike EPF and ESIC, which are central government schemes, Professional Tax is administered by individual state governments and varies significantly from state to state. Udyamo HRMS supports PT configuration per office location, allowing organizations with offices across multiple states to apply the correct slab rates automatically.
This chapter covers Professional Tax rules, state-wise slab configurations, how to set up PT in Udyamo HRMS, and how to generate the reports needed for filing.
What You Will Learn
- What Professional Tax is and which states levy it
- The constitutional cap on Professional Tax
- How to configure PT per office in Udyamo HRMS
- How state-wise PT slabs work
- How PT is calculated during payroll
- How to generate PT reports
- Exemptions from Professional Tax
- Filing requirements and deadlines
Prerequisites
Required: Before configuring Professional Tax, ensure the following:
- At least one office is created with the correct state (see Offices & Locations)
- Salary components and structures are configured (see Salary Components)
- The office's PT registration number is available from the respective state authority
Understanding Professional Tax
What is Professional Tax?
Professional Tax is a direct tax deducted from an employee's salary by the employer and remitted to the state government. It is authorized under Article 276 of the Constitution of India, which also imposes a maximum ceiling of Rs 2,500 per year on the total Professional Tax that can be levied on any individual.
Which States Levy Professional Tax?
Not all Indian states levy Professional Tax. The following states and union territories currently impose PT:
| State / UT | PT Levied | Maximum Annual Amount |
|---|---|---|
| Maharashtra | Yes | Rs 2,500 |
| Karnataka | Yes | Rs 2,400 |
| West Bengal | Yes | Rs 2,500 |
| Andhra Pradesh | Yes | Rs 2,500 |
| Telangana | Yes | Rs 2,500 |
| Tamil Nadu | Yes | Rs 2,500 |
| Gujarat | Yes | Rs 2,500 |
| Madhya Pradesh | Yes | Rs 2,500 |
| Kerala | Yes | Rs 2,500 |
| Assam | Yes | Rs 2,500 |
| Bihar | Yes | Rs 2,500 |
| Odisha | Yes | Rs 2,500 |
| Meghalaya | Yes | Rs 2,500 |
| Tripura | Yes | Rs 2,500 |
| Jharkhand | Yes | Rs 2,500 |
| Sikkim | Yes | Rs 2,500 |
| Mizoram | Yes | Rs 2,500 |
Tip: States such as Delhi, Haryana, Uttar Pradesh, Rajasthan, Punjab, and Uttarakhand do not currently levy Professional Tax. Employees in offices located in these states will not have any PT deduction.
Common State PT Slab Tables
Professional Tax slabs vary by state. Below are the slabs for some of the most commonly used states. These are provided as reference; always verify against the latest state government notification.
Maharashtra
| Monthly Gross Salary | PT Per Month |
|---|---|
| Up to Rs 7,500 | Nil |
| Rs 7,501 to Rs 10,000 | Rs 175 |
| Above Rs 10,000 | Rs 200 (Rs 300 in February) |
Tip: In Maharashtra, the PT for the month of February is Rs 300 (instead of Rs 200) for the highest slab. This ensures the annual total reaches Rs 2,500 (Rs 200 x 11 months + Rs 300 = Rs 2,500).
Karnataka
| Monthly Gross Salary | PT Per Month |
|---|---|
| Up to Rs 15,000 | Nil |
| Rs 15,001 to Rs 25,000 | Rs 200 |
| Above Rs 25,000 | Rs 200 |
West Bengal
| Monthly Gross Salary | PT Per Month |
|---|---|
| Up to Rs 10,000 | Nil |
| Rs 10,001 to Rs 15,000 | Rs 110 |
| Rs 15,001 to Rs 25,000 | Rs 130 |
| Rs 25,001 to Rs 40,000 | Rs 150 |
| Above Rs 40,000 | Rs 200 |
Andhra Pradesh / Telangana
| Monthly Gross Salary | PT Per Month |
|---|---|
| Up to Rs 15,000 | Nil |
| Rs 15,001 to Rs 20,000 | Rs 150 |
| Above Rs 20,000 | Rs 200 |
Gujarat
| Monthly Gross Salary | PT Per Month |
|---|---|
| Up to Rs 5,999 | Nil |
| Rs 6,000 to Rs 8,999 | Rs 80 |
| Rs 9,000 to Rs 11,999 | Rs 150 |
| Above Rs 12,000 | Rs 200 |
Tamil Nadu
| Half-Yearly Gross Salary | PT Per Half-Year |
|---|---|
| Up to Rs 21,000 | Nil |
| Rs 21,001 to Rs 30,000 | Rs 135 |
| Rs 30,001 to Rs 45,000 | Rs 315 |
| Rs 45,001 to Rs 60,000 | Rs 690 |
| Rs 60,001 to Rs 75,000 | Rs 1,025 |
| Above Rs 75,000 | Rs 1,250 |
Warning: PT slabs are subject to change by state governments. Always verify the current slabs when configuring PT in Udyamo HRMS. The tables above are representative and may not reflect the latest amendments.
Setting Up Professional Tax in Udyamo HRMS
PT configuration in Udyamo HRMS is tied to the Office entity, because PT rates depend on the state where the office is located.
Step 1: Enter the PT Registration Number
- From the sidebar, click Settings.
- Navigate to Organization > Offices.
- Click on the office you want to configure.
- In the PT Number field, enter the Professional Tax registration number assigned by the state authority.
- Click Save.

| Field | Description | Format |
|---|---|---|
| PT Number | The Professional Tax registration number for this office/establishment | Varies by state (alphanumeric) |
Tip: Each office in a different state may have a separate PT registration number. Configure each office individually.
Step 2: Configure PT Slabs
- From Settings, navigate to Statutory Components.
- Click on Professional Tax.
- Ensure the PT component is Enabled.
- Select the State for the PT slab you want to configure.
- Enter the slab ranges and corresponding monthly PT amounts.
- Click Save.
- Repeat for each state where your organization has offices.

PT Slab Configuration Fields
| Field | Description | Example |
|---|---|---|
| State | The Indian state for which this slab applies | Maharashtra |
| Salary Range — From | Lower bound of the salary slab (inclusive) | 0 |
| Salary Range — To | Upper bound of the salary slab (inclusive) | 7,500 |
| PT Amount | The PT deduction for employees falling in this slab | 0 |
Tip: For states like Maharashtra where the February PT amount differs, Udyamo HRMS automatically adjusts the last month's deduction to ensure the annual total matches the prescribed limit.
Step 3: Verify Configuration
After saving, verify by:
- Navigating to Statutory Components and confirming PT is enabled.
- Clicking on PT to see the configured slabs per state.
- Cross-checking the slabs against the latest state government notification.
PT Calculation in Payroll
When payroll is processed, Udyamo HRMS calculates Professional Tax for each employee based on:
- The office the employee is assigned to.
- The state of that office.
- The employee's gross monthly salary.
- The PT slab applicable for that state and salary range.
Calculation Logic
- Identify the employee's primary office.
- Determine the state of the office.
- Look up the PT slab table for that state.
- Match the employee's gross salary to the correct slab.
- Deduct the corresponding PT amount from the employee's salary.
Example — Maharashtra
| Parameter | Value |
|---|---|
| Employee's Office | Mumbai HQ (Maharashtra) |
| Gross Monthly Salary | Rs 35,000 |
| Applicable Slab | Above Rs 10,000 |
| PT Deduction (Jan, Mar–Dec) | Rs 200 |
| PT Deduction (February) | Rs 300 |
| Annual Total | Rs 2,500 |
Example — West Bengal
| Parameter | Value |
|---|---|
| Employee's Office | Kolkata Branch (West Bengal) |
| Gross Monthly Salary | Rs 22,000 |
| Applicable Slab | Rs 15,001 to Rs 25,000 |
| PT Deduction | Rs 130 per month |
| Annual Total | Rs 1,560 |
Viewing PT on Payslips
After payroll is processed, the PT deduction appears in the Deductions section of the employee's payslip:
- Navigate to Payroll > Payslips.
- Select the month and click on an employee's payslip.
- Look for Professional Tax under Deductions.

Exemptions from Professional Tax
Certain categories of individuals are exempt from Professional Tax in various states. Common exemptions include:
| Exemption Category | Applicable States |
|---|---|
| Parents or guardians of children with mental disability | Most states |
| Members of the armed forces (including territorial army) | All states |
| Persons with permanent physical disability (blindness, locomotor disability, etc.) | Most states |
| Badli workers in textile industry | Maharashtra |
| Women (in some states) | Madhya Pradesh |
| Senior citizens above a certain age | Some states |
Tip: To exempt a specific employee from PT in Udyamo HRMS, you can disable the PT deduction at the individual employee level through their Statutory Details. Ensure you document the reason for exemption.
PT Reports
Available Reports
| Report | Description | Used For |
|---|---|---|
| PT Monthly Report | Lists all employees with their gross salary, applicable slab, and PT deduction for a given month | Internal records and payment verification |
| PT Summary by Office | Aggregated PT totals grouped by office (and state) | Payment preparation for each state |
| PT Annual Report | Yearly summary of PT deductions per employee | Annual filing and reconciliation |
Generating the PT Report
- From the sidebar, click Reports.
- Select Professional Tax Report (or Statutory Reports > Professional Tax).
- Choose the Month and Year (or select Annual for the full-year report).
- Optionally filter by Office to see PT data for a specific location.
- Click Generate.
- Review the report and click Export to download in Excel or PDF format.

Filing Requirements
PT filing requirements vary by state. Below is a general overview:
| Obligation | Frequency | Typical Deadline |
|---|---|---|
| PT payment | Monthly (most states) | By the last day of the following month (varies by state) |
| PT return filing | Monthly or Quarterly (varies by state) | Varies by state |
| Annual PT return | Annually | Varies by state (often by the end of June following the fiscal year) |
State-Specific Filing
| State | Payment Frequency | Return Frequency |
|---|---|---|
| Maharashtra | Monthly | Monthly (by the last day of the following month) |
| Karnataka | Monthly | Monthly (by the 20th of the following month) |
| West Bengal | Monthly | Monthly or Quarterly |
| Andhra Pradesh | Monthly | Monthly (by the 10th of the following month) |
| Gujarat | Monthly | Monthly |
| Tamil Nadu | Half-Yearly | Half-Yearly |
Warning: Penalties for late payment of Professional Tax vary by state. Common penalties include interest at 1.25% to 2% per month on the unpaid amount. Some states also impose additional penalties for late return filing.
Multi-State Configuration
If your organization has offices in multiple states, you must configure PT separately for each state.
Configuration Steps for Multi-State Organizations
- Ensure each office has the correct state assigned in its address.
- Enter the PT Number for each office.
- Configure PT slabs for each state where you have offices.
- Verify that employees are assigned to the correct office.
- When running payroll, Udyamo HRMS automatically applies the correct state's PT slabs to each employee based on their office assignment.
| Office | State | PT Registration | Employees Affected |
|---|---|---|---|
| Mumbai HQ | Maharashtra | PT/MH/12345 | All employees assigned to Mumbai HQ |
| Bengaluru Branch | Karnataka | PT/KA/67890 | All employees assigned to Bengaluru Branch |
| Delhi Office | Delhi | Not applicable (no PT in Delhi) | No PT deduction |
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| PT not deducted for an employee | Employee's office is in a state that does not levy PT | Verify the office's state; no action needed if the state does not have PT |
| PT amount seems incorrect | PT slabs may be outdated or misconfigured | Review and update the PT slab table for the relevant state |
| Different employees in the same office have different PT amounts | Their gross salaries fall into different slabs | This is expected behavior |
| February PT amount is different from other months | Maharashtra (and some states) have a higher deduction in the final month | This is expected behavior to reach the annual cap |
| Employee exempt from PT is still being charged | PT has not been disabled for that employee | Disable PT in the employee's Statutory Details |
Next Steps
- Configure TDS for income tax compliance — see TDS — Tax Deducted at Source
- Set up Statutory Bonus and Gratuity — see Statutory Bonus & Gratuity
- Review the full payroll workflow — see Running Payroll
TDS — Tax Deducted at Source
Tax Deducted at Source (TDS) on salary is the mechanism by which employers deduct income tax from employees' salaries each month and remit it to the government on their behalf. As per Section 192 of the Income Tax Act, 1961, every employer paying salary is required to deduct tax at source at the applicable rates. Udyamo HRMS automates TDS calculations based on the employee's projected annual income, declared investments, and the applicable tax regime.
This chapter covers TDS rules on salary, how to configure the tax settings in Udyamo HRMS, how employees declare investments, and how to generate TDS reports for quarterly filing.
What You Will Learn
- TDS on salary — legal obligations and calculation methodology
- Old vs. New Tax Regime
- How to configure TDS settings (deductor type, AO code, deductor data)
- How employees submit tax declarations
- How TDS is calculated during monthly payroll
- How to generate TDS reports and the quarterly return (Form 24Q)
- Compliance deadlines
Prerequisites
Required: Before configuring TDS, ensure:
- Your organization profile is complete, including PAN (see Organization Profile & Branding)
- Salary components and structures are configured (see Salary Components)
- Payroll module is enabled and tested (see Running Payroll)
- You have the organization's TAN (Tax Deduction and Collection Account Number) from the Income Tax Department
Understanding TDS on Salary
Legal Obligation
Under Section 192 of the Income Tax Act, every employer (referred to as the "deductor") is required to:
- Estimate each employee's total annual income from salary.
- Allow applicable deductions and exemptions.
- Calculate the tax payable on the estimated income.
- Deduct tax proportionately each month from the employee's salary.
- Deposit the deducted tax with the government.
- File quarterly TDS returns.
Income Tax Slabs — New Tax Regime (Default from FY 2023-24)
| Annual Income | Tax Rate |
|---|---|
| Up to Rs 3,00,000 | Nil |
| Rs 3,00,001 to Rs 7,00,000 | 5% |
| Rs 7,00,001 to Rs 10,00,000 | 10% |
| Rs 10,00,001 to Rs 12,00,000 | 15% |
| Rs 12,00,001 to Rs 15,00,000 | 20% |
| Above Rs 15,00,000 | 30% |
A standard deduction of Rs 75,000 is available under the New Regime (from FY 2024-25). A rebate under Section 87A makes income up to Rs 7,00,000 effectively tax-free.
Income Tax Slabs — Old Tax Regime
| Annual Income | Tax Rate |
|---|---|
| Up to Rs 2,50,000 | Nil |
| Rs 2,50,001 to Rs 5,00,000 | 5% |
| Rs 5,00,001 to Rs 10,00,000 | 20% |
| Above Rs 10,00,000 | 30% |
Under the Old Regime, employees can claim various deductions:
| Section | Deduction | Maximum |
|---|---|---|
| 80C | PPF, EPF, ELSS, life insurance, tuition fees, etc. | Rs 1,50,000 |
| 80D | Health insurance premium | Rs 25,000 (Rs 50,000 for senior citizens) |
| 80E | Education loan interest | No limit (for 8 years) |
| 24(b) | Home loan interest | Rs 2,00,000 |
| 80TTA | Savings account interest | Rs 10,000 |
| Standard Deduction | Flat deduction from salary income | Rs 50,000 |
| HRA | House Rent Allowance exemption | As per formula |
Tip: The New Tax Regime is the default regime from FY 2023-24 onwards. Employees who wish to claim deductions under the Old Regime must explicitly opt for it. Udyamo HRMS supports both regimes.
Configuring TDS Settings
Step 1: Navigate to Tax Settings
- From the sidebar, click Settings.
- Under the Payroll section, click Taxes.
- The Tax configuration page opens.

Step 2: Enter Deductor Details
The Tax model in Udyamo HRMS stores the organization's tax deduction details:
| Field | Description | Example |
|---|---|---|
| Deductor Type | The type of entity deducting tax (Company, Partnership, Individual, etc.) | Company |
| TDS AO Code | The Assessing Officer code assigned to the deductor by the Income Tax Department | MUM-W-101-1 |
| Deductor Data | Additional deductor information including TAN, PAN, address, and responsible person details | (See below) |
Deductor Data Fields
| Sub-Field | Description | Example |
|---|---|---|
| TAN | Tax Deduction Account Number (10-character alphanumeric) | MUMX12345A |
| PAN | Permanent Account Number of the organization | AABCX1234D |
| Deductor Name | Legal name of the organization as registered with Income Tax | Acme Technologies Pvt Ltd |
| Responsible Person | Name and designation of the person responsible for TDS compliance | Rajesh Kumar, CFO |
| Address | Registered address of the deductor | 123 Business Park, Mumbai 400001 |
- Enter all the required fields.
- Click Save.
Warning: The TAN must exactly match the TAN registered with the Income Tax Department. An incorrect TAN will cause TDS return filings to be rejected.
Step 3: Verify Configuration
After saving, verify that:
- The deductor type, AO code, TAN, and other details are displayed correctly.
- The configuration is marked as active.
Employee Tax Declaration
Employees must declare their expected investments and expenses at the beginning of the financial year so that the employer can compute the correct TDS each month.
Declaration Workflow
| Step | Actor | Action |
|---|---|---|
| 1 | Employee | Submits tax declaration through the self-service portal, specifying regime and investments |
| 2 | System | Calculates projected annual tax liability based on the declaration |
| 3 | System | Divides the annual tax liability by the remaining months in the financial year |
| 4 | Payroll | Deducts the monthly TDS amount from each payroll run |
| 5 | Employee | Submits proof of investments (usually in January-February) for final verification |
| 6 | Admin/HR | Verifies proof and adjusts TDS if necessary |
How Employees Submit a Tax Declaration
- The employee logs in to Udyamo HRMS.
- From the self-service portal, navigates to My Tax Declaration (or Payroll > Tax Declaration).
- Selects the Tax Regime: New Regime or Old Regime.
- If Old Regime is selected, enters the declaration details:
| Declaration Section | Fields | Example |
|---|---|---|
| Section 80C | PPF contribution, ELSS investment, life insurance premium, children's tuition fees | Rs 1,50,000 |
| Section 80D | Health insurance premium (self, family, parents) | Rs 25,000 |
| Section 24(b) | Home loan interest | Rs 2,00,000 |
| HRA | Monthly rent paid, landlord details | Rs 15,000/month |
| Other Deductions | 80E (education loan), 80G (donations), etc. | Varies |
- Clicks Submit.

Tip: Encourage employees to submit their tax declarations at the start of the financial year (April). This ensures TDS is distributed evenly across all 12 months, avoiding large deductions in later months.
TDS Calculation Logic
Udyamo HRMS uses the following methodology to calculate monthly TDS:
Step-by-Step Calculation
-
Compute Gross Annual Income: Project the employee's annual salary based on the current month's salary multiplied by 12 (or the remaining months if the employee joined mid-year), plus any variable pay or bonuses.
-
Apply Exemptions (Old Regime only):
- HRA exemption (least of: actual HRA, 50%/40% of Basic, rent paid minus 10% of Basic)
- Leave Travel Allowance (LTA) exemption
- Standard deduction (Rs 50,000 under Old Regime; Rs 75,000 under New Regime from FY 2024-25)
-
Deduct Chapter VI-A Deductions (Old Regime only):
- 80C, 80D, 80E, 80G, 80TTA, etc.
-
Compute Taxable Income: Gross Annual Income minus exemptions minus deductions.
-
Apply Tax Slabs: Based on the selected regime (Old or New).
-
Add Health and Education Cess: 4% on the computed tax.
-
Subtract Rebate (if applicable): Section 87A rebate for taxable income up to the applicable threshold.
-
Divide by Remaining Months: The total annual tax liability is divided equally by the number of remaining months in the financial year to determine the monthly TDS.
Example — New Tax Regime
| Parameter | Value |
|---|---|
| Annual CTC | Rs 12,00,000 |
| Gross Annual Salary (taxable) | Rs 11,50,000 |
| Standard Deduction | Rs 75,000 |
| Taxable Income | Rs 10,75,000 |
| Tax on first Rs 3,00,000 | Nil |
| Tax on Rs 3,00,001 – Rs 7,00,000 (5%) | Rs 20,000 |
| Tax on Rs 7,00,001 – Rs 10,00,000 (10%) | Rs 30,000 |
| Tax on Rs 10,00,001 – Rs 10,75,000 (15%) | Rs 11,250 |
| Total Tax | Rs 61,250 |
| Health & Education Cess (4%) | Rs 2,450 |
| Total Tax Liability | Rs 63,700 |
| Monthly TDS (Rs 63,700 / 12) | Rs 5,308 |
Example — Old Tax Regime with Deductions
| Parameter | Value |
|---|---|
| Annual CTC | Rs 12,00,000 |
| Gross Annual Salary | Rs 11,50,000 |
| Standard Deduction | Rs 50,000 |
| HRA Exemption | Rs 1,20,000 |
| Section 80C (PPF, ELSS, EPF) | Rs 1,50,000 |
| Section 80D (Health Insurance) | Rs 25,000 |
| Taxable Income | Rs 8,05,000 |
| Tax on first Rs 2,50,000 | Nil |
| Tax on Rs 2,50,001 – Rs 5,00,000 (5%) | Rs 12,500 |
| Tax on Rs 5,00,001 – Rs 8,05,000 (20%) | Rs 61,000 |
| Total Tax | Rs 73,500 |
| Health & Education Cess (4%) | Rs 2,940 |
| Total Tax Liability | Rs 76,440 |
| Monthly TDS (Rs 76,440 / 12) | Rs 6,370 |
Tip: Udyamo HRMS recalculates TDS each month based on the year-to-date (YTD) income and deductions. If an employee submits an updated declaration mid-year, the remaining months' TDS is adjusted automatically.
TDS on Payslips
After payroll processing, the TDS deduction is visible on each employee's payslip:
- Navigate to Payroll > Payslips.
- Select the month and click on an employee's payslip.
- The Deductions section shows Income Tax (TDS) with the monthly amount.

The payslip also typically shows:
| Item | Description |
|---|---|
| Total Taxable Income (YTD) | Cumulative taxable income for the financial year so far |
| Tax Paid (YTD) | Total TDS deducted so far in the current financial year |
| Projected Tax for the Year | Estimated annual tax liability |
TDS Reports
Available Reports
| Report | Description | Used For |
|---|---|---|
| TDS Worksheet | Detailed breakdown for each employee showing income, exemptions, deductions, taxable income, and tax liability | Internal review and employee queries |
| TDS Monthly Summary | Monthly TDS totals across all employees | Challan preparation and payment |
| TDS Quarterly Report | Data formatted for Form 24Q filing | Quarterly return filing |
| Form 16 Data | Annual salary certificate data for each employee | Issuing Form 16 at year-end |
Generating the TDS Worksheet
- From the sidebar, click Reports.
- Select TDS Report (or Statutory Reports > TDS).
- Choose the Month and Year (or select a quarter for quarterly data).
- Click Generate.
- The report shows each employee's:
- Gross income
- Exemptions and deductions
- Taxable income
- Tax computed
- TDS deducted (month and YTD)
- Click Export to download in Excel or PDF format.

Quarterly TDS Return (Form 24Q)
Employers must file a quarterly TDS return in Form 24Q with the Income Tax Department.
Filing Schedule
| Quarter | Period | Filing Deadline |
|---|---|---|
| Q1 | April to June | 31st July |
| Q2 | July to September | 31st October |
| Q3 | October to December | 31st January |
| Q4 | January to March | 31st May |
TDS Payment Deadlines
| Month | Payment Deadline |
|---|---|
| April to February | 7th of the following month |
| March | 30th April |
Filing Process
- Run payroll for all months in the quarter.
- Generate the TDS Quarterly Report from Udyamo HRMS.
- Export the data.
- Use the data to prepare Form 24Q (either manually or using TDS return preparation software such as RPU provided by NSDL/Protean).
- Upload the return on the TIN-NSDL portal or through your authorized representative.
- After successful filing, download the provisional receipt.
Warning: Late filing of TDS returns attracts a penalty of Rs 200 per day under Section 234E until the return is filed (maximum penalty cannot exceed the total TDS amount). Additionally, late deduction or non-deduction of TDS attracts interest at 1% to 1.5% per month.
Form 16 — Annual Salary Certificate
At the end of the financial year (by 15th June of the following year), employers must issue Form 16 to each employee. Form 16 is a certificate that details:
- Salary paid during the year
- Deductions allowed
- TDS deducted and deposited
- Employer and employee details
Udyamo HRMS generates the data needed for Form 16:
- Navigate to Reports > Form 16 Data.
- Select the Financial Year.
- Click Generate.
- Review the data for each employee.
- Export the data for Form 16 generation.
Tip: Form 16 consists of two parts: Part A (generated from TRACES portal based on TDS returns) and Part B (salary details from the employer). Udyamo HRMS provides the data for Part B.
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| TDS not calculated for an employee | Employee may have no taxable income after deductions | Verify the employee's projected annual income and declarations |
| TDS amount seems too high | Employee has not submitted investment declarations | Remind the employee to submit their tax declaration |
| TDS amount changed mid-year | Employee updated their declaration or received a salary revision | This is expected; TDS is recalculated based on updated data |
| TDS deducted but not showing in report | Payroll for the month has not been finalized | Finalize the payroll before generating reports |
| Quarterly return data does not match challans | Corrections or off-cycle payruns may have caused discrepancies | Reconcile the TDS report with challan payments before filing |
Next Steps
- Configure Statutory Bonus and Gratuity — see Statutory Bonus & Gratuity
- Review EPF and ESIC configurations — see EPF and ESIC
- Understand the full payroll flow — see Running Payroll
Statutory Bonus & Gratuity
Indian labor law mandates two additional compensation components beyond regular salary: Statutory Bonus under the Payment of Bonus Act, 1965, and Gratuity under the Payment of Gratuity Act, 1972. Both are significant financial obligations for employers and important benefits for employees. Udyamo HRMS provides dedicated models for configuring, calculating, and tracking both components.
This chapter covers the rules governing statutory bonus and gratuity, how to configure each in Udyamo HRMS, and how they integrate with payroll and full-and-final settlement.
What You Will Learn
- Statutory Bonus: applicability, calculation, and configuration
- Gratuity: eligibility, calculation formula, and configuration
- How to set up the StatutoryBonusComponent in Udyamo HRMS
- How to configure the Gratuity model
- How bonus and gratuity appear in payroll
- Integration with full-and-final settlement
- Compliance requirements
Prerequisites
Required: Before configuring bonus and gratuity:
- Salary components and structures are configured (see Salary Components)
- Payroll module is enabled (see Running Payroll)
- Employee records include accurate date of joining and salary details
Part 1: Statutory Bonus
Understanding Statutory Bonus
What is Statutory Bonus?
The Payment of Bonus Act, 1965 mandates that establishments employing 20 or more persons must pay an annual bonus to eligible employees. The bonus is a share of the organization's profits distributed to employees as a statutory right.
Applicability
| Criterion | Requirement |
|---|---|
| Establishment size | 20 or more employees (once applicable, continues even if count falls below 20) |
| Employee eligibility | Employees drawing wages up to Rs 21,000 per month |
| Minimum service | 30 days of work in the accounting year |
| Covered employees | All employees (including temporary, part-time, and piecework) except certain excluded categories |
Excluded Categories
The following are typically excluded from bonus:
- Employees of LIC, seamen, dock workers, universities, and certain government establishments
- Employees employed through contractors for building operations
- Apprentices under the Apprentices Act
Bonus Rates
| Parameter | Value |
|---|---|
| Minimum Bonus | 8.33% of the salary or wage (even if the employer has no allocable surplus) |
| Maximum Bonus | 20% of the salary or wage |
| Calculation Ceiling | Bonus is calculated on salary/wage up to Rs 7,000/month or the minimum wage (whichever is higher) |
Tip: The default bonus percentage in Udyamo HRMS is set to 8.33% (the statutory minimum). You can increase it up to 20% based on your organization's bonus policy and allocable surplus.
Payment Timeline
| Obligation | Deadline |
|---|---|
| Bonus payment | Within 8 months from the close of the accounting year |
| Example: Accounting year ends March 31 | Bonus must be paid by November 30 |
Configuring Statutory Bonus in Udyamo HRMS
Step 1: Navigate to Statutory Components
- From the sidebar, click Settings.
- Under the Payroll section, click Statutory Components.
- Locate and click Statutory Bonus.

Step 2: Configure Bonus Parameters
The StatutoryBonusComponent model provides the following configuration fields:
| Field | Description | Default | Options |
|---|---|---|---|
| Bonus Percentage | The percentage of eligible wages to pay as bonus | 8.33% | 8.33% to 20% |
| Payment Frequency | How often bonus is paid | Annual | Annual, Monthly |
| Minimum Wage | The minimum wage basis for bonus calculation (state-specific) | As per state notification | Numeric value in Rs |
| Enable | Toggle to enable/disable bonus calculations | Off | On/Off |
- Set the Bonus Percentage. The minimum is 8.33% and the maximum is 20%.
- Select the Payment Frequency:
- Annual: Bonus is accumulated and paid once a year (typically after the close of the accounting year).
- Monthly: Bonus is calculated and included in each monthly payroll as a separate component.
- Enter the Minimum Wage applicable in your state. This is used as the wage ceiling for bonus calculation if it exceeds Rs 7,000.
- Toggle Enable to On.
- Click Save.

Warning: Ensure the bonus percentage complies with the Payment of Bonus Act. Setting it below 8.33% is not permitted for eligible employees. Setting it above 20% is allowed as an ex-gratia payment but has different tax treatment.
Step 3: Verify Configuration
After saving:
- Return to the Statutory Components list.
- Confirm that Statutory Bonus shows as Enabled with the correct percentage and payment frequency.
Bonus Calculation
Calculation Logic
- Identify all eligible employees (salary up to Rs 21,000/month, minimum 30 days of service).
- For each employee, determine the bonus-eligible wage:
- Actual salary or Rs 7,000/month or the minimum wage — whichever is higher (but capped at the actual salary if lower).
- Calculate bonus: Bonus-eligible wage x Bonus percentage x Number of months worked / 12.
Example — Annual Bonus
| Parameter | Value |
|---|---|
| Employee's Monthly Basic + DA | Rs 15,000 |
| Bonus-eligible Wage (higher of Rs 7,000 and minimum wage) | Rs 7,000 (assuming minimum wage is Rs 7,000) |
| Bonus Percentage | 8.33% |
| Months Worked | 12 |
| Annual Bonus | Rs 7,000 x 12 x 8.33% = Rs 6,997 (rounded to Rs 6,997) |
Example — Monthly Bonus
| Parameter | Value |
|---|---|
| Employee's Monthly Basic + DA | Rs 18,000 |
| Bonus-eligible Wage | Rs 7,000 |
| Bonus Percentage | 8.33% |
| Monthly Bonus | Rs 7,000 x 8.33% = Rs 583 |
Viewing Bonus on Payslips (Monthly Frequency)
If the payment frequency is set to Monthly:
- Navigate to Payroll > Payslips.
- Select the month and open an employee's payslip.
- The Earnings section includes a line item for Statutory Bonus.
If the payment frequency is set to Annual, the bonus appears as a separate payment when processed.

Part 2: Gratuity
Understanding Gratuity
What is Gratuity?
Gratuity is a lump-sum payment made by the employer to an employee as a gesture of gratitude for long service. It is governed by the Payment of Gratuity Act, 1972, which applies to every factory, mine, oilfield, plantation, port, railway, and every establishment employing 10 or more persons.
Eligibility
| Criterion | Requirement |
|---|---|
| Minimum service | 5 years of continuous service (4 years and 240 days is treated as 5 years) |
| Covered employees | All employees in establishments with 10+ employees |
| Exception | In case of death or disability, the 5-year requirement is waived |
Gratuity Calculation Formula
The statutory formula for employees not covered under the Payment of Gratuity Act (or covered employees in a non-seasonal establishment) is:
Gratuity = (Last drawn salary x 15 x Years of service) / 26
Where:
| Component | Definition |
|---|---|
| Last drawn salary | Basic Wages + Dearness Allowance (as on the date of cessation) |
| 15 | 15 days' wages for each completed year of service |
| Years of service | Completed years (service of 6 months or more in the last year is rounded up) |
| 26 | Working days in a month |
Gratuity Cap
| Parameter | Value |
|---|---|
| Maximum gratuity payable | Rs 20,00,000 (as per current law) |
Tip: Employers may pay gratuity above the statutory maximum as a goodwill gesture, but the excess amount is not exempt from income tax for the employee.
When is Gratuity Paid?
Gratuity is paid when an employee:
| Event | Gratuity Payable |
|---|---|
| Resigns after 5+ years of service | Yes |
| Is terminated after 5+ years of service | Yes |
| Retires (superannuation) | Yes |
| Dies during employment | Yes (5-year rule waived; paid to nominee/legal heir) |
| Becomes disabled during employment | Yes (5-year rule waived) |
Configuring Gratuity in Udyamo HRMS
Step 1: Navigate to Gratuity Settings
- From the sidebar, click Settings.
- Under the Payroll section, click Statutory Components.
- Locate and click Gratuity.

Step 2: Configure Gratuity Parameters
| Field | Description | Default |
|---|---|---|
| Enable | Toggle to enable gratuity calculations | Off |
| Minimum Service Years | Number of years of service required for eligibility | 5 |
| Calculation Formula | The formula used for computation | (Last Salary x 15 x Years of Service) / 26 |
| Maximum Gratuity | Cap on the gratuity amount | Rs 20,00,000 |
- Toggle Enable to On.
- Confirm or adjust the Minimum Service Years (default is 5).
- Verify the Calculation Formula is correct.
- Confirm the Maximum Gratuity cap.
- Click Save.
Step 3: Enable Early Gratuity (Optional)
Some organizations choose to pay gratuity even before the employee completes 5 years. If your organization offers this benefit:
- In the Gratuity configuration, look for an Early Gratuity or equivalent option.
- If available, enable it and set the minimum service period to your organization's policy.
- Click Save.
Warning: Early gratuity (before 5 years) is not a statutory obligation. If you enable it, it is treated as an ex-gratia payment for tax purposes. Consult your tax advisor.
Gratuity Calculation Examples
Example 1 — Standard Gratuity
| Parameter | Value |
|---|---|
| Last Drawn Basic + DA | Rs 30,000 per month |
| Years of Service | 8 years |
| Gratuity | (Rs 30,000 x 15 x 8) / 26 = Rs 1,38,462 |
Example 2 — Gratuity with Partial Year
| Parameter | Value |
|---|---|
| Last Drawn Basic + DA | Rs 45,000 per month |
| Total Service | 12 years 7 months |
| Rounded Years (7 months > 6 months, so round up) | 13 years |
| Gratuity | (Rs 45,000 x 15 x 13) / 26 = Rs 3,37,500 |
Example 3 — Gratuity Exceeding Cap
| Parameter | Value |
|---|---|
| Last Drawn Basic + DA | Rs 1,20,000 per month |
| Years of Service | 30 years |
| Calculated Gratuity | (Rs 1,20,000 x 15 x 30) / 26 = Rs 20,76,923 |
| Gratuity Payable (capped) | Rs 20,00,000 |
Gratuity in Full-and-Final Settlement
When an employee exits the organization and is eligible for gratuity, the amount is included in the full-and-final (F&F) settlement. See Offboarding & Full-and-Final for details on the F&F process.
F&F Settlement Workflow for Gratuity
| Step | Action |
|---|---|
| 1 | Employee's last working day is recorded in Udyamo HRMS |
| 2 | System checks gratuity eligibility (service years) |
| 3 | System calculates gratuity using the formula |
| 4 | Gratuity amount is included in the F&F settlement statement |
| 5 | Admin reviews and approves the F&F |
| 6 | Gratuity is paid along with other F&F components |

Gratuity in Ongoing Payroll
While gratuity is typically paid at the time of exit, some organizations provision for gratuity as a monthly cost in their books. Udyamo HRMS can include a gratuity provision line in the payroll cost reports:
- The monthly provision is calculated as: (Basic + DA) x 15 / 26 / 12 per employee.
- This does not result in a deduction from the employee's salary.
- It appears in the employer's cost reports for financial planning purposes.
Reports
Bonus Reports
| Report | Description |
|---|---|
| Statutory Bonus Report | Lists all eligible employees with their bonus-eligible wages, percentage, and calculated bonus |
| Bonus Payment Summary | Aggregated bonus totals for the organization |
Gratuity Reports
| Report | Description |
|---|---|
| Gratuity Eligibility Report | Lists all employees with their service tenure and eligibility status |
| Gratuity Provision Report | Monthly provision calculations for all employees (for accounting purposes) |
| Gratuity Payout Report | Details of gratuity actually paid out to exiting employees |
Generating Reports
- From the sidebar, click Reports.
- Select Statutory Bonus Report or Gratuity Report.
- Choose the relevant period (month, quarter, or year).
- Click Generate.
- Review and Export in Excel or PDF format.

Tax Treatment
Bonus
| Aspect | Treatment |
|---|---|
| Taxability | Statutory bonus is fully taxable as salary income |
| TDS | TDS is deducted on the bonus amount at the time of payment |
| EPF | Statutory bonus is not included in the EPF wage base |
Gratuity
| Aspect | Government Employees | Private Employees (Covered under Act) | Private Employees (Not covered under Act) |
|---|---|---|---|
| Tax Exemption | Fully exempt | Exempt up to the least of: (a) Rs 20,00,000, (b) actual gratuity, (c) formula amount | Exempt up to the least of: (a) Rs 20,00,000, (b) half month's salary x years of service, (c) actual gratuity |
| Excess over exemption | N/A | Taxable as salary | Taxable as salary |
Tip: For employees who have received gratuity from a previous employer, the combined exemption limit of Rs 20,00,000 applies across all employers. The employee should declare any previously received gratuity.
Compliance Checklist
| Item | Frequency | Deadline |
|---|---|---|
| Statutory Bonus payment | Annual | Within 8 months of accounting year-end |
| Bonus register maintenance | Annual | To be maintained by the employer |
| Gratuity payment on exit | Per event | Within 30 days of it becoming payable |
| Gratuity nomination (Form F) | At joining | Employee should nominate at the time of joining |
| Display of bonus abstract (Form D) | Annual | Within 30 days of bonus payment |
Warning: Failure to pay statutory bonus within the prescribed time attracts a penalty of imprisonment up to 6 months and/or a fine up to Rs 1,000 under the Payment of Bonus Act. Failure to pay gratuity within 30 days attracts interest at 10% per annum.
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| Bonus not calculated for an employee | Employee's salary exceeds Rs 21,000/month or they have less than 30 days of service | Verify eligibility criteria |
| Bonus percentage cannot be set below 8.33% | This is the statutory minimum | You must set it to at least 8.33% |
| Gratuity not appearing in F&F | Employee has less than 5 years of service | Verify service dates; gratuity requires 5 years (unless death/disability) |
| Gratuity amount is capped | Calculated amount exceeds Rs 20,00,000 | This is the statutory maximum; the cap is correct |
| Monthly bonus amount seems low | Bonus is calculated on the wage ceiling (Rs 7,000), not the actual salary | This is correct per the Act |
Next Steps
- Set up Loan Management — see Loan Management
- Review the full payroll workflow — see Running Payroll
- Understand offboarding and F&F — see Offboarding & Full-and-Final
Loan Management
Udyamo HRMS includes a built-in loan management module that allows organizations to offer employee loans, track repayments through automatic payroll deductions, and maintain complete loan histories. This module covers the entire loan lifecycle — from defining loan categories and setting eligibility rules to processing applications, approving disbursements, tracking EMI payments, and closing loans.
This chapter walks through every step of configuring and using the loan management feature.
What You Will Learn
- How to create and manage loan categories
- How employees apply for loans
- The loan approval workflow
- EMI calculation and payroll integration
- Tracking remaining balances and loan history
- Loan validation rules
- How to close a loan
- Loan reports
Prerequisites
Required: Before using the loan management module:
- The Loan feature toggle is enabled in Settings > Features
- Payroll is configured and operational (see Running Payroll)
- Employee salary structures are assigned (see Salary Structures)
- At least one loan category is created (covered in this chapter)
Understanding the Loan Model
The Loan model in Udyamo HRMS tracks each loan with the following key fields:
| Field | Description | Type |
|---|---|---|
| loan_amount | The total loan amount approved and disbursed | Currency (Rs) |
| interest_rate | Annual interest rate applied to the loan | Percentage (%) |
| instalment_term | The number of months over which the loan will be repaid | Integer |
| monthly_emi | The equated monthly instalment deducted from salary | Currency (Rs) |
| remaining_amount | The outstanding principal + interest yet to be repaid | Currency (Rs) |
| Status | Current status of the loan | Pending / Approved / Disbursed / Close |
Setting Up Loan Categories
Loan categories define the types of loans your organization offers. Each category sets the maximum amount and interest rate.
Step 1: Navigate to Loan Categories
- From the sidebar, click Settings.
- Under the Finance section, click Loan Categories.
- The Loan Categories list page opens.

Step 2: Create a Loan Category
- Click Add New (or Create Loan Category).
- Fill in the required fields:
| Field | Description | Example |
|---|---|---|
| Name | Descriptive name for the loan type | Personal Loan |
| Maximum Amount | The maximum loan amount an employee can request under this category | Rs 5,00,000 |
| Interest Rate | Annual interest rate (set to 0 for interest-free loans) | 8% |
- Click Save.
Example Loan Categories
| Category Name | Max Amount | Interest Rate | Typical Use |
|---|---|---|---|
| Personal Loan | Rs 5,00,000 | 8% | General purpose |
| Emergency Loan | Rs 1,00,000 | 0% | Medical or family emergencies |
| Home Advance | Rs 10,00,000 | 6% | Home purchase or renovation |
| Vehicle Loan | Rs 3,00,000 | 7% | Two-wheeler or car purchase |
| Education Loan | Rs 2,00,000 | 5% | Employee or dependent's education |
Tip: Create specific loan categories with appropriate limits rather than a single generic category. This makes reporting clearer and allows you to set different interest rates and limits for different purposes.
Step 3: Edit or Delete a Loan Category
- From the Loan Categories list, click on the category name.
- Modify the fields as needed and click Save.
- To delete a category, click the Delete button.
Warning: Deleting a loan category does not affect existing loans issued under that category. However, employees will no longer be able to apply for new loans under the deleted category.
Employee Loan Application
How an Employee Applies for a Loan
- The employee logs in to Udyamo HRMS.
- From the self-service portal, navigates to Finance > Loans (or My Loans).
- Clicks Apply for Loan (or New Loan Request).
- Fills in the application form:
| Field | Description | Example |
|---|---|---|
| Loan Category | Select from available categories | Personal Loan |
| Loan Amount | The amount requested (up to the category maximum) | Rs 2,00,000 |
| Instalment Term | Number of months for repayment | 24 months |
| Reason | Brief description of why the loan is needed | Home renovation |
- Clicks Submit.

What Happens After Submission
- The loan request is created with a status of Pending.
- A notification is sent to the administrator or designated approver.
- The employee can view their pending request under My Loans.
Loan Validation Rules
Udyamo HRMS applies validation rules when an employee submits a loan request:
| Validation | Rule | What Happens if Failed |
|---|---|---|
| Maximum Amount | Requested amount must not exceed the loan category's maximum | Application is rejected with an error message |
| Salary Criteria | The monthly EMI should not exceed a certain percentage of the employee's net salary (configurable) | Warning or rejection depending on organization policy |
| Employment Duration | Employee must have completed a minimum period of service (configurable) | Application is blocked |
| Existing Loans | Employee may be restricted from having multiple active loans (configurable) | Application is blocked |
| Active Employment | Employee must have an Active status | Application is blocked |
Tip: Loan validation rules help protect both the employee and the organization. Configure these rules in Settings > Finance > Loan Settings based on your organization's loan policy.
Loan Approval Workflow
Status Flow
The loan progresses through four statuses:
Pending --> Approved --> Disbursed --> Close
| Status | Description | Who Acts |
|---|---|---|
| Pending | Loan request submitted, awaiting review | — |
| Approved | Administrator has reviewed and approved the loan | Admin/HR |
| Disbursed | Loan amount has been disbursed to the employee (bank transfer, cheque, etc.) | Admin/Finance |
| Close | All EMIs have been paid and the loan is fully repaid (or manually closed) | System/Admin |
Approving a Loan
- From the sidebar, click Finance > Loans (or navigate to the Loan Requests page).
- Filter by status Pending to see all awaiting requests.
- Click on a loan request to review the details:
- Employee name and ID
- Loan category
- Requested amount
- Instalment term
- Employee's current salary and existing loans
- Review the loan against your organization's policy.
- Click Approve to approve the loan, or Deny to reject it.
- If denying, enter a Denial Reason for the employee's reference.

Tip: Before approving, review the employee's existing loan obligations. The system displays active loans (if any) on the approval screen to help you make an informed decision.
Marking a Loan as Disbursed
After approval, the actual disbursement happens outside the system (via bank transfer or cheque). Once the amount has been transferred:
- Open the approved loan.
- Click Mark as Disbursed.
- Optionally enter the disbursement date and reference (cheque number, bank transfer ID).
- Click Save.
- The loan status changes to Disbursed and EMI deductions will begin from the next payroll run.
EMI Calculation
Once a loan is disbursed, Udyamo HRMS calculates the monthly EMI based on the loan parameters.
EMI Formula
For loans with interest, the EMI is calculated using the standard reducing balance formula:
EMI = [P x R x (1+R)^N] / [(1+R)^N - 1]
Where:
| Variable | Definition |
|---|---|
| P | Principal loan amount |
| R | Monthly interest rate (annual rate / 12 / 100) |
| N | Number of monthly instalments (instalment term) |
Example — Loan with Interest
| Parameter | Value |
|---|---|
| Loan Amount | Rs 2,00,000 |
| Annual Interest Rate | 8% |
| Monthly Interest Rate | 0.667% (8% / 12) |
| Instalment Term | 24 months |
| Monthly EMI | Rs 9,052 (approximately) |
| Total Repayment | Rs 2,17,248 |
| Total Interest | Rs 17,248 |
Example — Interest-Free Loan
| Parameter | Value |
|---|---|
| Loan Amount | Rs 1,00,000 |
| Annual Interest Rate | 0% |
| Instalment Term | 10 months |
| Monthly EMI | Rs 10,000 |
| Total Repayment | Rs 1,00,000 |
Tip: For interest-free loans, the EMI is simply the loan amount divided by the number of instalments.
Payroll Integration
Once a loan is in Disbursed status, the monthly EMI is automatically deducted from the employee's salary during payroll processing.
How It Works
| Step | Action |
|---|---|
| 1 | During payroll run, the system identifies all employees with active (Disbursed) loans |
| 2 | For each loan, the monthly EMI is added as a deduction line item |
| 3 | The EMI is deducted from the employee's net salary |
| 4 | The loan's remaining_amount is reduced by the EMI amount (or the principal portion of the EMI for interest-bearing loans) |
| 5 | When remaining_amount reaches zero, the loan status is automatically changed to Close |
Viewing Loan Deductions on Payslips
- Navigate to Payroll > Payslips.
- Select the month and click on an employee's payslip.
- The Deductions section shows Loan EMI (or the specific loan category name) with the monthly deduction amount.

Warning: If an employee is on leave without pay for an entire month and their net salary is zero or less than the EMI, the system may skip the EMI deduction for that month. The remaining amount and term will be adjusted accordingly. Review such cases manually.
Tracking Loan Status and Remaining Balance
Viewing Active Loans
For Administrators:
- Navigate to Finance > Loans.
- The list shows all loans across the organization.
- Filter by Status (Pending, Approved, Disbursed, Close).
- Click on any loan to see detailed information including:
- Original loan amount
- EMIs paid to date
- Remaining amount
- Next EMI date
- Repayment schedule
For Employees:
- Navigate to My Loans from the self-service portal.
- View all current and past loans.
- Click on a loan to see the repayment schedule and remaining balance.

Repayment Schedule Table
The loan detail page shows a repayment schedule:
| Instalment | Due Date | EMI Amount | Principal | Interest | Remaining Balance |
|---|---|---|---|---|---|
| 1 | May 2025 | Rs 9,052 | Rs 7,719 | Rs 1,333 | Rs 1,92,281 |
| 2 | Jun 2025 | Rs 9,052 | Rs 7,770 | Rs 1,282 | Rs 1,84,511 |
| 3 | Jul 2025 | Rs 9,052 | Rs 7,822 | Rs 1,230 | Rs 1,76,689 |
| ... | ... | ... | ... | ... | ... |
| 24 | Apr 2027 | Rs 9,052 | Rs 8,992 | Rs 60 | Rs 0 |
Closing a Loan
Automatic Closure
When all EMIs are paid and the remaining amount reaches zero, the loan status automatically changes to Close.
Manual Closure (Pre-closure)
An administrator can manually close a loan before all EMIs are paid:
- Navigate to Finance > Loans.
- Open the loan to be closed.
- Click Close Loan (or Pre-close).
- The system shows the outstanding remaining amount.
- Confirm the pre-closure. The remaining amount can be:
- Deducted as a lump sum from the next payroll.
- Recorded as settled manually (e.g., the employee paid via cheque or bank transfer).
- Click Confirm.
- The loan status changes to Close.
Tip: Pre-closure is useful when an employee receives a bonus or wants to clear their loan early. There is typically no pre-closure penalty for employee loans managed through Udyamo HRMS.
Loan Reports
Available Reports
| Report | Description |
|---|---|
| Active Loans Report | Lists all currently disbursed loans with employee details, outstanding amounts, and EMI schedules |
| Loan Summary Report | Aggregated totals of loans by category, status, and period |
| Loan Deduction Report | Monthly report of EMI deductions processed through payroll |
| Loan History Report | Complete history of all loans (active and closed) |
Generating a Loan Report
- From the sidebar, click Reports.
- Select Loan Report (or Finance Reports > Loans).
- Choose the report type (Active, Summary, Deduction, or History).
- Select the Period (month, quarter, or year).
- Optionally filter by Loan Category or Department.
- Click Generate.
- Review the report and click Export for Excel or PDF download.

Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| Employee cannot apply for a loan | Loan feature toggle is disabled, or no loan categories exist | Enable the Loan feature toggle and create at least one loan category |
| Loan application is rejected | Validation rule failed (amount exceeds max, insufficient service, existing loan) | Review the validation rules and the employee's eligibility |
| EMI not deducted from salary | Loan status is not "Disbursed" or payroll has not been run | Verify the loan status is Disbursed; run payroll |
| Remaining amount does not match expectations | Interest calculation or partial month deductions | Review the repayment schedule for accuracy |
| Loan shows as "Close" prematurely | Manual closure or data entry error | Review the loan history and reopen if needed |
Next Steps
- Set up Reimbursements — see Reimbursements
- Configure Advance Salary — see Advance Salary
- Review payroll integration — see Running Payroll
Reimbursements
Udyamo HRMS provides a complete reimbursement module that allows employees to submit expense claims, attach supporting documents, and route them through an approval workflow. Approved reimbursements can be paid through payroll or tracked as standalone payments. This module reduces paperwork, speeds up approvals, and maintains a clear audit trail for all expense claims.
This chapter covers how to configure reimbursement categories, how employees submit claims, the approval process, payroll integration, and reporting.
What You Will Learn
- How to create and manage reimbursement categories
- How employees submit reimbursement claims
- Attachment requirements and limits
- The approval workflow (approve, reject, deny with reason)
- Reimbursement status tracking
- Integration with payroll for payment
- How to generate reimbursement reports
- Viewing claim history
Prerequisites
Required: Before using the reimbursement module:
- The Reimbursement feature toggle is enabled in Settings > Features
- At least one reimbursement category is created (covered in this chapter)
- Payroll is configured if you plan to process reimbursements through payroll (see Running Payroll)
Understanding the Reimbursement Model
Each reimbursement claim in Udyamo HRMS captures the following information:
| Field | Description | Type |
|---|---|---|
| amount | The expense amount being claimed | Currency (Rs) |
| status | Current status of the claim | Pending / Approved / Rejected / Approved & Paid |
| expense_date | The date the expense was incurred | Date |
| Category | The type of expense (linked to ReimbursementCategory) | Selection |
| Description | Details about the expense | Text |
| Attachment | Supporting document (receipt, invoice, etc.) | File |
Setting Up Reimbursement Categories
Reimbursement categories define the types of expenses employees can claim. Setting up clear categories simplifies submission, approval, and reporting.
Step 1: Navigate to Reimbursement Categories
- From the sidebar, click Settings.
- Under the Finance section, click Reimbursement Categories.
- The Reimbursement Categories list page opens.

Step 2: Create a Reimbursement Category
- Click Add New (or Create Reimbursement Category).
- Enter the category details:
| Field | Description | Example |
|---|---|---|
| Name | Descriptive name for the expense type | Travel Reimbursement |
| Description | Brief explanation of what expenses fall under this category | Expenses for business travel including airfare, train tickets, and taxi fares |
- Click Save.
Example Reimbursement Categories
| Category Name | Description | Common Claims |
|---|---|---|
| Travel | Business travel expenses | Airfare, train, taxi, bus fares |
| Meals & Entertainment | Business meals and client entertainment | Restaurant bills, client dinner receipts |
| Accommodation | Hotel and lodging for business trips | Hotel invoices |
| Office Supplies | Out-of-pocket purchases for office use | Stationery, printer ink, cables |
| Communication | Business-related phone and internet expenses | Mobile recharge, internet bill |
| Medical | Medical expenses not covered by insurance | Pharmacy bills, consultation fees |
| Training & Education | Professional development expenses | Course fees, certification exam fees, book purchases |
| Relocation | Moving expenses for employee relocation | Packing, transport, temporary housing |
| Fuel & Conveyance | Daily commute and local travel fuel expenses | Fuel receipts, toll charges |
| Miscellaneous | Other business expenses not covered by the above | Varies |
Tip: Create categories that match your organization's expense policy. Having well-defined categories makes it easier for employees to classify their claims and for approvers to review them.
Step 3: Edit or Delete a Category
- From the Reimbursement Categories list, click on a category name.
- Modify the fields as needed and click Save.
- To delete, click the Delete button.
Warning: Deleting a reimbursement category does not remove existing claims filed under that category. However, employees will not be able to submit new claims under the deleted category.
Submitting a Reimbursement Claim
How an Employee Submits a Claim
- The employee logs in to Udyamo HRMS.
- From the self-service portal, navigates to Finance > Reimbursements (or My Reimbursements).
- Clicks New Claim (or Submit Reimbursement).
- Fills in the claim form:
| Field | Required | Description | Example |
|---|---|---|---|
| Category | Yes | Select from available reimbursement categories | Travel |
| Amount | Yes | The expense amount in Rs | Rs 4,500 |
| Expense Date | Yes | The date the expense was incurred | 2025-06-15 |
| Description | Yes | Detailed description of the expense | Flight ticket Mumbai to Delhi for client meeting on June 15 |
| Attachment | Recommended | Receipt, invoice, or supporting document | flight_receipt.pdf |
- Clicks Submit.

Attachment Requirements
Udyamo HRMS supports attachments on reimbursement claims with the following specifications:
| Parameter | Specification |
|---|---|
| Supported formats | Image (JPG, PNG), PDF, Excel (XLS, XLSX) |
| Maximum file size | 5 MB per attachment |
| Number of attachments | One attachment per claim (submit multiple claims for multiple receipts if needed) |
Tip: Scan or photograph receipts clearly before uploading. Ensure the date, amount, and vendor name are legible. Blurry or illegible attachments may cause delays in approval.
What Happens After Submission
- The claim is created with a status of Pending.
- A notification is sent to the designated approver (manager or admin).
- The employee can view the pending claim under My Reimbursements.
Approval Workflow
Approval Process
The reimbursement approval workflow involves the following steps:
| Step | Actor | Action |
|---|---|---|
| 1 | Employee | Submits the reimbursement claim |
| 2 | Manager/Admin | Reviews the claim details, amount, date, and attachment |
| 3 | Manager/Admin | Approves or rejects the claim |
| 4 | System | Updates the status and notifies the employee |
| 5 | Finance/Admin | Processes payment (if approved) |
Reviewing and Approving a Claim
- From the sidebar, click Finance > Reimbursements (or navigate to the reimbursement requests page).
- Filter by status Pending to see all awaiting claims.
- Click on a claim to review:
- Employee name and department
- Category and amount
- Expense date
- Description
- Attached document (click to view or download)
- Verify the claim against your organization's expense policy.
- Choose one of the following actions:
| Action | Result |
|---|---|
| Approve | Claim status changes to Approved |
| Reject | Claim status changes to Rejected; you must enter a Denial Reason |

Entering a Denial Reason
When rejecting a claim:
- Click Reject.
- A text field appears for the Denial Reason.
- Enter a clear, specific reason (e.g., "Receipt is missing the date" or "Amount exceeds the per diem limit of Rs 2,000").
- Click Confirm Rejection.
- The employee receives a notification with the denial reason.
Tip: Always provide a constructive denial reason. This helps the employee understand what went wrong and whether they can resubmit with corrections.
Reimbursement Statuses
Each reimbursement claim moves through a defined set of statuses:
| Status | Description | Next Possible Status |
|---|---|---|
| Pending | Claim submitted, awaiting review | Approved, Rejected |
| Approved | Claim reviewed and approved by manager/admin | Approved & Paid |
| Rejected | Claim reviewed and denied (with reason) | (Terminal — employee may submit a new claim) |
| Approved & Paid | Approved claim has been paid to the employee | (Terminal) |
Status Flow Diagram
Pending --> Approved --> Approved & Paid
|
+--------> Rejected
Integration with Payroll
Approved reimbursements can be processed through the payroll cycle, adding the reimbursement amount to the employee's monthly payout.
How Payroll Integration Works
| Step | Action |
|---|---|
| 1 | Admin approves one or more reimbursement claims |
| 2 | During the next payroll run, approved reimbursements are included |
| 3 | The reimbursement amount is added to the employee's payout (typically as a non-taxable component, depending on the category) |
| 4 | After payroll is processed, the reimbursement status updates to Approved & Paid |
Viewing Reimbursements on Payslips
- Navigate to Payroll > Payslips.
- Select the month and click on an employee's payslip.
- The Earnings or Reimbursements section shows the reimbursement amount with the category name.

Manual Payment (Outside Payroll)
If your organization pays reimbursements separately from payroll:
- Open the approved claim.
- Click Mark as Paid.
- Optionally enter the payment reference (bank transfer ID, cheque number, date).
- Click Save.
- The status changes to Approved & Paid.
Tip: Whether you process reimbursements through payroll or manually, always update the status to "Approved & Paid" to maintain accurate records and avoid duplicate payments.
Viewing Claim History
For Employees
- Log in to Udyamo HRMS.
- Navigate to My Reimbursements.
- The page displays all claims, sortable and filterable by:
- Status (Pending, Approved, Rejected, Approved & Paid)
- Category
- Date range
- Click on any claim to view its full details, including the approval/rejection history and denial reason (if rejected).
For Administrators
- Navigate to Finance > Reimbursements.
- The list shows all claims across the organization.
- Use filters to narrow down:
| Filter | Options |
|---|---|
| Status | Pending, Approved, Rejected, Approved & Paid |
| Category | Any configured reimbursement category |
| Employee | Search by name or employee ID |
| Department | Filter by department |
| Date Range | From date to to date |
| Amount Range | Minimum to maximum amount |

Reimbursement Reports
Available Reports
| Report | Description |
|---|---|
| Reimbursement Summary Report | Aggregated totals by category, department, or period |
| Reimbursement Detail Report | Individual claim-level details for a given period |
| Pending Claims Report | All claims awaiting approval |
| Reimbursement by Employee Report | All claims for a specific employee |
| Monthly Reimbursement Payout | Total reimbursements processed through payroll in a given month |
Generating a Reimbursement Report
- From the sidebar, click Reports.
- Select Reimbursement Report (or Finance Reports > Reimbursements).
- Choose the report type.
- Select the Period (month, quarter, or year).
- Apply optional filters (category, department, status).
- Click Generate.
- Review the results on screen.
- Click Export to download in Excel or PDF format.

Best Practices
| Practice | Benefit |
|---|---|
| Require attachments for all claims above a threshold (e.g., Rs 500) | Reduces fraudulent or unsupported claims |
| Set clear category descriptions | Employees know exactly which category to use |
| Review and approve claims weekly | Prevents a backlog and keeps employees informed |
| Use payroll integration for approved claims | Streamlines payment and avoids manual tracking |
| Provide specific denial reasons | Helps employees correct and resubmit valid claims |
| Archive receipts digitally | Maintain audit trails without physical paperwork |
Tax Implications
| Category | Tax Treatment |
|---|---|
| Travel (business) | Generally non-taxable if supported by receipts and within policy limits |
| Medical | Taxable above exemption limits (varies by regime) |
| Meals (business) | Generally non-taxable if incurred for business purposes |
| Office Supplies | Not a perquisite; non-taxable |
| Fuel & Conveyance | May be partially exempt depending on salary structure |
| Training | Generally non-taxable if employer-directed |
Warning: Tax treatment of reimbursements depends on the nature of the expense, the amount, and the applicable tax regime. Consult your tax advisor for specific cases. Udyamo HRMS processes reimbursements as configured; the tax treatment is determined by the salary component mapping.
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| Employee cannot submit a claim | Reimbursement feature is disabled or no categories exist | Enable the feature toggle and create at least one category |
| Attachment upload fails | File exceeds 5 MB or is in an unsupported format | Compress the file or convert to a supported format (JPG, PNG, PDF, XLS) |
| Claim stuck in "Pending" | No approver has reviewed it | Remind the designated approver or reassign approval |
| Reimbursement not appearing on payslip | Claim was not approved before payroll was run | Approve the claim and include it in the next payroll cycle |
| Employee cannot see denial reason | Approver did not enter a reason | Re-open the claim and add the denial reason |
Next Steps
- Configure Advance Salary — see Advance Salary
- Review payroll integration — see Running Payroll
- Set up Loan Management — see Loan Management
Advance Salary
Advance salary is a financial provision that allows employees to receive a portion of their upcoming salary before the regular payday. Unlike loans, which involve repayment over multiple months with potential interest, salary advances are typically short-term and settled through one-time or short-term salary deductions. Udyamo HRMS provides a dedicated advance salary module with an approval workflow, flexible settlement options, and full payroll integration.
This chapter covers how employees request salary advances, how administrators approve and manage them, the different settlement methods, and how advances integrate with the payroll cycle.
What You Will Learn
- What advance salary is and how it differs from a loan
- How employees request a salary advance
- The approval workflow for advance requests
- Settlement types: salary deduction and manual settlement
- EMI terms for salary deduction settlements
- Advance status tracking
- Payroll integration for automatic deduction
- Viewing advance history
- Policies for advance eligibility
Prerequisites
Required: Before using the advance salary module:
- The Advance feature toggle is enabled in Settings > Features
- Payroll is configured and operational (see Running Payroll)
- Employee salary structures are assigned (see Salary Structures)
Understanding Advance Salary vs. Loans
Before diving into configuration, it is important to understand how advance salary differs from employee loans:
| Aspect | Advance Salary | Loan |
|---|---|---|
| Purpose | Short-term cash need before payday | Larger financial need (home, vehicle, personal) |
| Amount | Typically a portion of the current month's salary | Can be much larger (up to category max) |
| Interest | No interest | May carry interest |
| Repayment Term | Usually 1-3 months | Longer term (6-60 months) |
| Frequency | Occasional, as needed | Infrequent, planned |
| Settlement | Salary deduction or manual | EMI deduction from salary |
| Approval | Quick approval process | More formal review process |
Understanding the Advance Salary Model
The AdvanceSalary model in Udyamo HRMS tracks each advance with the following key fields:
| Field | Description | Type |
|---|---|---|
| requested_amount | The amount the employee is requesting | Currency (Rs) |
| approved_amount | The amount the administrator approves (may differ from requested) | Currency (Rs) |
| settlement_type | How the advance will be recovered | Salary Deduction / Manual |
| EMI terms | Number of instalments for salary deduction settlement | Integer |
| Status | Current status of the advance | Pending / Approved / Disbursed / Settled |
| Reason | Employee's reason for requesting the advance | Text |
Requesting an Advance Salary
How an Employee Submits a Request
- The employee logs in to Udyamo HRMS.
- From the self-service portal, navigates to Finance > Advance Salary (or My Advances).
- Clicks Request Advance (or New Advance Request).
- Fills in the request form:
| Field | Required | Description | Example |
|---|---|---|---|
| Requested Amount | Yes | The amount the employee needs in advance | Rs 15,000 |
| Reason | Yes | Brief explanation of why the advance is needed | Medical emergency — hospital admission deposit |
- Clicks Submit.

What Happens After Submission
- The advance request is created with a status of Pending.
- A notification is sent to the administrator or designated approver.
- The employee can view the pending request under My Advances.
- The request displays the requested amount, reason, and submission date.
Tip: Encourage employees to provide a clear, specific reason for the advance request. This helps administrators make faster approval decisions.
Approval Workflow
Status Flow
The advance salary progresses through four statuses:
Pending --> Approved --> Disbursed --> Settled
| Status | Description | Who Acts |
|---|---|---|
| Pending | Request submitted, awaiting review | — |
| Approved | Administrator has reviewed and approved the advance, setting the approved amount and settlement terms | Admin/HR |
| Disbursed | Advance amount has been paid to the employee | Admin/Finance |
| Settled | The advance has been fully recovered (through salary deductions or manual settlement) | System/Admin |
Reviewing and Approving an Advance Request
- From the sidebar, click Finance > Advance Salary (or navigate to the advance requests page).
- Filter by status Pending to see all awaiting requests.
- Click on a request to review:
- Employee name and ID
- Department and designation
- Requested amount
- Reason provided
- Employee's current monthly salary
- Any existing active advances

Setting the Approved Amount
The administrator may approve the full requested amount or a different amount:
| Scenario | Action |
|---|---|
| Full amount approved | Set Approved Amount equal to Requested Amount |
| Partial approval | Set Approved Amount to a lower figure (e.g., employee requested Rs 20,000 but admin approves Rs 15,000) |
| Denial | Reject the request entirely |
Selecting the Settlement Type
When approving, the administrator must choose how the advance will be recovered:
| Settlement Type | Description | When to Use |
|---|---|---|
| Salary Deduction | The advance is recovered automatically through payroll deductions over one or more months | Default and recommended; no manual tracking needed |
| Manual | The advance is recorded as settled manually by the admin (e.g., employee returns cash, cheque, or bank transfer) | When recovery happens outside the payroll system |
Setting EMI Terms (for Salary Deduction)
If the settlement type is Salary Deduction, the administrator sets the EMI terms:
| Field | Description | Example |
|---|---|---|
| Number of Instalments | How many monthly payroll deductions to recover the advance | 2 |
The monthly deduction is calculated as:
Monthly Deduction = Approved Amount / Number of Instalments
Example
| Parameter | Value |
|---|---|
| Approved Amount | Rs 15,000 |
| Number of Instalments | 3 |
| Monthly Deduction | Rs 5,000 |
Completing the Approval
- Set the Approved Amount.
- Select the Settlement Type (Salary Deduction or Manual).
- If Salary Deduction, enter the Number of Instalments.
- Click Approve.
- The status changes to Approved and the employee is notified.
To reject the request:
- Click Reject (or Deny).
- Enter a reason for rejection.
- Click Confirm.
- The employee is notified of the rejection with the reason.
Warning: Once an advance is approved and disbursed, the settlement terms cannot be easily changed. Verify the approved amount and instalment count before finalizing approval.
Disbursement
After approval, the actual disbursement of the advance amount happens outside the system (via bank transfer, cheque, or cash).
Marking an Advance as Disbursed
- Open the approved advance.
- Click Mark as Disbursed.
- Optionally enter:
- Disbursement date
- Payment method (bank transfer, cheque, cash)
- Reference number (cheque number or transaction ID)
- Click Save.
- The status changes to Disbursed.

Tip: Once an advance is marked as Disbursed with the settlement type set to Salary Deduction, the automatic payroll deductions begin from the next payroll cycle.
Settlement — Salary Deduction
When the settlement type is Salary Deduction, Udyamo HRMS automatically deducts the instalment amount from the employee's salary during each payroll run.
How Automatic Deduction Works
| Step | Action |
|---|---|
| 1 | During payroll run, the system identifies all employees with active (Disbursed) advances |
| 2 | For each advance, the monthly instalment is added as a deduction line item |
| 3 | The instalment is deducted from the employee's net salary |
| 4 | The remaining advance balance is reduced by the instalment amount |
| 5 | When the balance reaches zero, the advance status changes to Settled |
Viewing Advance Deductions on Payslips
- Navigate to Payroll > Payslips.
- Select the month and click on an employee's payslip.
- The Deductions section shows Advance Salary Recovery (or similar label) with the monthly instalment amount.

Instalment Tracking
The advance detail page shows the recovery progress:
| Instalment | Month | Amount | Status | Remaining Balance |
|---|---|---|---|---|
| 1 | June 2025 | Rs 5,000 | Deducted | Rs 10,000 |
| 2 | July 2025 | Rs 5,000 | Deducted | Rs 5,000 |
| 3 | August 2025 | Rs 5,000 | Pending | Rs 0 |
Tip: If an employee's net salary in a given month is insufficient to cover the advance instalment (e.g., due to leave without pay), the deduction may be partial or deferred. Review such cases manually and adjust the recovery schedule.
Settlement — Manual
When the settlement type is Manual, the administrator records the settlement outside the payroll system.
How Manual Settlement Works
- The advance is disbursed to the employee.
- The employee returns the amount through a method outside payroll (e.g., cash, cheque, bank transfer).
- The administrator opens the advance record.
- Clicks Record Settlement (or Mark as Settled).
- Enters the settlement details:
| Field | Description | Example |
|---|---|---|
| Settlement Date | Date the amount was returned | 2025-07-01 |
| Settlement Method | How the employee returned the amount | Bank transfer |
| Reference | Transaction reference | TXN-789456 |
| Amount Settled | Amount returned by the employee | Rs 15,000 |
- Clicks Save.
- The advance status changes to Settled.
Warning: For manual settlements, there is no automatic payroll integration. Ensure you update the advance status promptly to prevent the system from attempting salary deductions.
Viewing Advance History
For Employees
- Log in to Udyamo HRMS.
- Navigate to My Advances (or Finance > Advance Salary).
- The page displays all advance requests, sorted by date.
- Filter by status: Pending, Approved, Disbursed, or Settled.
- Click on any advance to view full details including:
- Requested and approved amounts
- Settlement type and EMI terms
- Recovery schedule (for salary deduction)
- Current remaining balance
For Administrators
- Navigate to Finance > Advance Salary.
- The list shows all advance requests across the organization.
- Use filters to narrow down:
| Filter | Options |
|---|---|
| Status | Pending, Approved, Disbursed, Settled |
| Employee | Search by name or employee ID |
| Department | Filter by department |
| Date Range | From date to to date |
| Settlement Type | Salary Deduction, Manual |

Policies for Advance Eligibility
Organizations should establish clear policies for advance salary eligibility. While Udyamo HRMS enforces some validation rules, having a documented policy helps set expectations.
Recommended Policy Parameters
| Policy Parameter | Recommended Range | Example |
|---|---|---|
| Maximum advance amount | 50% to 100% of net monthly salary | Up to 75% of net salary |
| Maximum repayment term | 1 to 6 months | 3 months |
| Minimum service period | 3 to 6 months after joining | 6 months |
| Frequency limit | One active advance at a time | No new advance until current one is settled |
| Cooling period | 1 to 3 months after settling the previous advance | 1 month |
| Eligible employee status | Active employees only | Active |
Configuring Policy Rules
Some of these policies can be configured in Udyamo HRMS:
- Navigate to Settings > Finance > Advance Settings (if available).
- Set the parameters according to your organization's policy.
- Click Save.
For policies that cannot be enforced through system settings, document them in your employee handbook and communicate them clearly to all employees.
Tip: A well-documented advance salary policy prevents misuse and ensures fairness. Make the policy available to all employees through the company handbook or an announcement.
Advance Salary Reports
Available Reports
| Report | Description |
|---|---|
| Active Advances Report | Lists all currently disbursed and unsettled advances |
| Advance Summary Report | Aggregated totals by department, period, or settlement type |
| Advance Recovery Report | Monthly deductions processed through payroll |
| Advance History Report | Complete history of all advances (active and settled) |
Generating an Advance Report
- From the sidebar, click Reports.
- Select Advance Salary Report (or Finance Reports > Advances).
- Choose the report type.
- Select the Period (month, quarter, or year).
- Apply optional filters (department, status, settlement type).
- Click Generate.
- Review the results on screen.
- Click Export to download in Excel or PDF format.

Integration with Other Modules
Payroll
- Salary Deduction settlements are automatically included in the monthly payroll run.
- The deduction appears as a separate line item on the payslip.
- If the employee has both a loan EMI and an advance recovery in the same month, both are deducted.
Full-and-Final Settlement
- If an employee exits the organization with an outstanding advance balance, the remaining amount is included in the full-and-final settlement calculation.
- The outstanding advance is deducted from the employee's final payout.
- See Offboarding & Full-and-Final for details.
Leave Without Pay
- If an employee is on leave without pay and has no salary for the month, the advance recovery is deferred to the next month with salary.
- Administrators should monitor such cases to ensure the advance is eventually settled.
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| Employee cannot request an advance | Advance feature toggle is disabled | Enable the Advance feature in Settings > Features |
| Employee sees "not eligible" message | Policy rules prevent the request (e.g., minimum service not met, existing active advance) | Review the eligibility rules and the employee's status |
| Advance deduction not appearing on payslip | Advance status is not "Disbursed" or settlement type is "Manual" | Verify the advance is marked as Disbursed with settlement type Salary Deduction |
| Remaining balance is incorrect | Partial deduction in a previous month (e.g., LWP) | Review the recovery history and adjust the remaining instalments |
| Advance shows as "Settled" but employee claims it is not | Manual settlement was recorded prematurely | Review the settlement record and reverse if needed |
| Multiple deductions in one month | Employee has both loan EMI and advance recovery | This is expected; verify the total deductions do not exceed a reasonable portion of net salary |
Best Practices
| Practice | Benefit |
|---|---|
| Set a maximum advance limit as a percentage of salary | Prevents employees from over-extending financially |
| Limit to one active advance per employee | Simplifies tracking and reduces risk |
| Use salary deduction as the default settlement type | Automates recovery and eliminates manual follow-up |
| Review pending requests promptly (within 1-2 business days) | Keeps employees informed and addresses urgent needs quickly |
| Document your advance policy and share it with all employees | Sets clear expectations and reduces disputes |
| Monitor LWP situations for employees with active advances | Ensures advances are eventually recovered |
Next Steps
- Review Loan Management for larger financial needs — see Loan Management
- Review Reimbursements for expense claims — see Reimbursements
- Understand full-and-final settlement — see Offboarding & Full-and-Final
Resignations & Notice Period
When an employee decides to leave the organization, Udyamo HRMS provides a structured resignation workflow that covers everything from the initial submission through notice period tracking to the final status update. This chapter explains how employees submit resignations, how notice periods are calculated, and how managers and administrators process resignation requests.
What You Will Learn
- How an employee submits a resignation request
- How notice period settings work and how to configure them
- How the last working day is calculated (automatic vs. manual)
- How holidays and weekends are excluded from the notice period
- The resignation approval workflow
- Resignation statuses and their meanings
- How to withdraw a resignation
- The notice period buyout option
Prerequisites
Required: You must have the Leave or Employee Lifecycle feature enabled. Resignation settings must be configured by an administrator before employees can submit resignations. See the Resignation Settings section below.
How Resignation Works — Overview
The resignation process in Udyamo HRMS follows a defined lifecycle:
- Employee submits resignation — provides a reason and optionally a requested last working day.
- Manager or admin reviews — can approve, reject, or request changes.
- Notice period begins — the system calculates the last working day based on the organization's resignation settings.
- Offboarding tasks are initiated — checklists for asset return, knowledge transfer, and access revocation.
- Exit is completed — the employee's status is updated and full-and-final settlement is processed.

Configuring Resignation Settings
Before employees can submit resignations, an administrator must configure the organization's resignation policies using the Resignation Setting model.
Navigating to Resignation Settings
- Click Settings in the left sidebar.
- Select Employee Lifecycle (or HR Settings).
- Click Resignation Settings.
Resignation Settings Fields
| Field | Description | Default |
|---|---|---|
| Notice Period (Days) | The number of calendar or working days an employee must serve after resignation approval. | 30 days |
| Last Working Day Calculation | Whether the last working day is calculated automatically by the system or set manually by the admin. | Automatic |
| Exclude Holidays | Whether public holidays are excluded when counting notice period days. | Yes |
| Exclude Weekends | Whether weekly off days are excluded when counting notice period days. | Yes |
| Allow Notice Buyout | Whether the organization permits employees to pay for remaining notice days instead of serving them. | No |
| Buyout Calculation Basis | If buyout is allowed, the salary component used to calculate buyout cost (e.g., Basic Pay, Gross Pay). | Basic Pay |
Tip: Notice period settings apply as the default for all employees. If specific departments or designations require different notice periods, you can override the value at the employee level during approval.

Submitting a Resignation — Employee Workflow
Employees can submit their resignation through the self-service portal.
Step-by-Step: Submit a Resignation
- Log in to Udyamo HRMS.
- Navigate to My Profile or Employee Self-Service.
- Click Resign or Submit Resignation.
- Fill in the resignation form:
| Field | Description | Required |
|---|---|---|
| Reason for Resignation | A text field where the employee explains why they are leaving. | Yes |
| Requested Last Working Day | The date the employee would like to be their last day. The system may adjust this based on notice period rules. | No |
| Additional Comments | Any supplementary information the employee wants to share with their manager. | No |
- Review the details.
- Click Submit Resignation.
Tip: The Requested Last Working Day is a preference, not a guarantee. The actual last working day is determined by the notice period configuration and the manager's approval decision.
Warning: Once submitted, the resignation enters the Pending status and is visible to the employee's manager and HR administrators. The employee cannot edit the submission — they can only withdraw it (see below).

Last Working Day Calculation
Udyamo HRMS supports two modes for determining an employee's last working day after resignation.
Automatic Calculation
When the Last Working Day Calculation setting is set to Automatic, the system computes the last working day as follows:
- Start from the resignation approval date (not the submission date).
- Add the configured Notice Period (Days).
- If Exclude Holidays is enabled, skip any dates that fall on public holidays defined in the holiday calendar.
- If Exclude Weekends is enabled, skip any dates that fall on the employee's weekly off days (as defined by their work week schedule).
- The resulting date becomes the Last Working Day.
Example:
| Parameter | Value |
|---|---|
| Resignation approved on | 2025-06-02 (Monday) |
| Notice period | 30 working days |
| Exclude weekends | Yes (Saturday and Sunday off) |
| Exclude holidays | Yes (June 15 is a holiday) |
| Calculated last working day | 2025-07-11 (Friday) |
Tip: The automatic calculation ensures compliance with your organization's notice period policy. The system accounts for the employee's specific shift and work week configuration.
Manual Calculation
When the setting is Manual, the system does not auto-calculate the last working day. Instead:
- The manager or administrator reviews the resignation request.
- During approval, the admin enters the Last Working Day manually.
- This overrides any notice period formula.
Manual mode is useful for:
- Senior employees with negotiated exit dates
- Employees being released early by mutual agreement
- Situations where legal or contractual terms differ from the standard policy

Approving or Rejecting a Resignation
When an employee submits a resignation, the reporting manager and HR administrators receive a notification.
Step-by-Step: Process a Resignation Request
-
Navigate to Employees > Resignations from the sidebar, or click the notification.
-
The Resignations list shows all pending requests.
-
Click on the resignation to view details.
-
Review the employee's information:
- Reason for resignation
- Requested last working day
- Current leave balances
- Pending loan or advance amounts
- Assigned assets
-
Choose an action:
| Action | Description | Result |
|---|---|---|
| Approve | Accept the resignation. Enter or confirm the last working day. | Status changes to Approved. Notice period countdown begins. |
| Reject | Decline the resignation request. Provide a reason. | Status changes to Rejected. Employee remains active with no change. |
| Request Changes | Ask the employee to modify their request (e.g., extend notice). | Status remains Pending. Employee receives notification to update. |
-
If approving:
- Confirm or adjust the Last Working Day.
- Optionally adjust the notice period if the employee qualifies for a different duration.
- Click Approve Resignation.
-
If rejecting:
- Enter the Reason for Rejection.
- Click Reject Resignation.
Warning: Approving a resignation triggers downstream processes: the employee's status changes to On Notice, offboarding checklists may be generated, and the payroll system is notified to prepare for the final settlement on the last working day.

Resignation Statuses
Every resignation in Udyamo HRMS has a status that reflects its current stage in the lifecycle.
| Status | Description | Who Can Trigger |
|---|---|---|
| Pending | The employee has submitted the resignation. It is awaiting review. | Employee (by submitting) |
| Approved | The manager or admin has accepted the resignation. The notice period is active. | Manager or Admin |
| Rejected | The manager or admin has declined the resignation. No further action required. | Manager or Admin |
| Cancelled | The employee has withdrawn the resignation before it was completed. | Employee (before completion) |
| Completed | The employee has served the notice period (or bought it out) and exited the organization. The employee's status is set to Terminated. | System or Admin (on last working day) |
Status Transitions
Pending → Approved → Completed
Pending → Rejected
Pending → Cancelled
Approved → Cancelled (withdrawal during notice period, if allowed)
Approved → Completed
Tip: The system automatically transitions a resignation from Approved to Completed on the last working day, provided all offboarding checklist items have been fulfilled. If items remain incomplete, an admin must manually complete the resignation.
Withdrawing a Resignation
An employee may change their mind after submitting a resignation. Udyamo HRMS allows withdrawal under certain conditions.
When Withdrawal Is Allowed
| Current Status | Can Withdraw? | Notes |
|---|---|---|
| Pending | Yes | The resignation has not yet been reviewed. |
| Approved | Conditional | Only if the organization's policy allows withdrawal during notice period. Requires manager re-approval. |
| Rejected | Not applicable | The resignation was already declined. |
| Completed | No | The exit process is finalized. |
| Cancelled | Not applicable | Already withdrawn. |
Step-by-Step: Withdraw a Resignation
- Log in as the employee.
- Navigate to My Profile > Resignation or My Resignation.
- Click Withdraw Resignation.
- Enter a Reason for Withdrawal.
- Click Confirm Withdrawal.
- If the resignation was in Pending status, it immediately changes to Cancelled.
- If the resignation was in Approved status, the withdrawal request goes to the manager for re-approval. The manager can accept or deny the withdrawal.
Warning: If the manager denies the withdrawal of an approved resignation, the original resignation remains in effect and the notice period continues unchanged.
Notice Period Buyout
Some organizations allow employees to pay for the remaining notice period days instead of serving them in full. This is called a notice period buyout (or notice period recovery).
How Buyout Works
-
The employee submits a resignation and requests early release.
-
The manager approves the resignation with a buyout.
-
The system calculates the buyout amount:
Buyout Amount = (Daily salary based on buyout basis) x (Remaining notice period days)
For example, if the buyout basis is Basic Pay:
Component Value Monthly Basic Pay INR 25,000 Daily rate (30-day month) INR 833.33 Remaining notice days 15 Buyout amount INR 12,500 -
The buyout amount is deducted from the employee's full-and-final settlement.
-
The last working day is adjusted to the early release date.
Tip: Buyout is a two-way concept. The organization may also buy out the notice period by paying the employee for days not served. The direction depends on your organization's policy and the employment contract.
Enabling Buyout
- Navigate to Settings > Employee Lifecycle > Resignation Settings.
- Set Allow Notice Buyout to Yes.
- Select the Buyout Calculation Basis (Basic Pay, Gross Pay, or CTC-based).
- Click Save.
Viewing Resignation History
Administrators and HR managers can view all resignations — past and present — from a single dashboard.
Navigating to the Resignations List
- Click Employees in the left sidebar.
- Click Resignations (or navigate to Employees > Resignations).
- The list shows all resignation records with the following columns:
| Column | Description |
|---|---|
| Employee Name | The employee who submitted the resignation |
| Employee ID | Their organization employee ID |
| Department | The employee's department |
| Submission Date | When the resignation was submitted |
| Last Working Day | The calculated or assigned last working day |
| Status | Current resignation status |
| Actions | View, approve, reject, or complete the resignation |
Filtering Resignations
Use the filter options to narrow results:
- Status — Filter by Pending, Approved, Rejected, Cancelled, or Completed
- Department — View resignations from a specific department
- Date Range — Filter by submission date or last working day range

Employee Status During Notice Period
When a resignation is approved, the employee's status in Udyamo HRMS changes to On Notice. During this period:
- The employee remains on the active payroll until their last working day.
- Attendance tracking continues as usual.
- Leave requests can still be submitted and approved (subject to policy).
- The employee retains access to the self-service portal.
- Offboarding tasks can begin in parallel (see Chapter 40: Offboarding & Full-and-Final).
Warning: An employee on notice should not be removed from payroll until the full-and-final settlement is completed. Premature removal can lead to missing salary payments and compliance issues.
Common Errors and Solutions
| Problem | Cause | Solution |
|---|---|---|
| Employee cannot see the Resign button | Resignation feature not enabled or employee is already on notice | Check Settings > Employee Lifecycle and the employee's current status |
| Last working day seems incorrect | Holiday calendar or work week not configured properly | Review Settings > Holidays and Settings > Work Week for the employee's office |
| Manager did not receive resignation notification | Reporting manager not assigned to the employee | Assign a reporting manager under the employee's profile |
| Resignation stuck in Pending | No approver has acted on it | Navigate to Employees > Resignations and process the pending request |
| Buyout amount not calculated | Buyout is disabled in resignation settings | Enable buyout in Settings > Employee Lifecycle > Resignation Settings |
Best Practices
- Configure resignation settings before onboarding employees. Ensure notice period defaults are in place.
- Standardize notice periods by designation level. Senior roles often have 60- or 90-day notice periods, while junior roles may have 30 days.
- Act on pending resignations promptly. Delays cause uncertainty for the departing employee and their team.
- Document rejection reasons. If a resignation is rejected, a clear reason helps maintain transparency.
- Use automatic calculation for consistency. Manual mode should be reserved for exceptional cases.
What Comes Next
After a resignation is approved, the next step is managing the offboarding process and full-and-final settlement. Proceed to Chapter 40: Offboarding & Full-and-Final.
Offboarding & Full-and-Final Settlement
Once a resignation is approved and the employee is serving their notice period, the offboarding process begins. Udyamo HRMS provides a structured offboarding workflow — from asset collection and knowledge transfer through to the full-and-final (F&F) settlement that closes out the employee's financial relationship with the organization.
This chapter covers the offboarding checklist, the full-and-final calculation, and the steps to formally complete an employee's exit.
What You Will Learn
- How to use the employee lifecycle dashboard for offboarding
- How to manage the offboarding checklist (ResignationChecklist)
- The components of a full-and-final settlement
- How gratuity is calculated for eligible employees
- How to generate the F&F statement
- How to complete the exit process and update employee status
Prerequisites
Required: The employee must have an Approved resignation with a confirmed last working day. See Chapter 39: Resignations & Notice Period for the resignation workflow.
Required: You must have an Administrator or HR Manager role to manage offboarding and process full-and-final settlements.
Employee Lifecycle Dashboard
Udyamo HRMS provides a lifecycle dashboard that gives HR teams a consolidated view of employees at every stage of the employment lifecycle — from onboarding through active employment to offboarding.
Navigating to the Lifecycle Dashboard
- Click Employees in the left sidebar.
- Click Lifecycle (or Employee Lifecycle).
- The dashboard displays employees grouped by their current stage.
The offboarding section of the dashboard shows:
| Column | Description |
|---|---|
| Employee Name | The departing employee |
| Department | Their department |
| Last Working Day | The confirmed last working day |
| Days Remaining | Calendar days until the last working day |
| Checklist Progress | Percentage of offboarding tasks completed |
| F&F Status | Whether the full-and-final settlement has been initiated, calculated, or completed |

Tip: Use the lifecycle dashboard as your daily working view during an employee's notice period. It consolidates everything you need to track in one place.
Offboarding Checklist
The offboarding checklist (managed via the ResignationChecklist model) ensures that all necessary exit tasks are completed before an employee's departure. Each checklist item has an assignee and a completion status.
Default Checklist Items
Udyamo HRMS provides a set of default offboarding checklist items. Organizations can customize this list.
| Checklist Item | Category | Typical Assignee | Description |
|---|---|---|---|
| Laptop / Computer Return | Asset Return | IT Department | Collect company-issued laptop, peripherals, and accessories |
| ID Card / Access Card Return | Asset Return | Admin / Security | Collect physical ID badges and building access cards |
| Mobile Device Return | Asset Return | IT Department | Collect company-issued mobile phones or SIM cards |
| Software License Revocation | Access Revocation | IT Department | Remove access to company software, email, and cloud services |
| VPN / Remote Access Revocation | Access Revocation | IT Department | Disable VPN credentials and remote desktop access |
| Email Account Deactivation | Access Revocation | IT Department | Set up auto-reply or disable the email account per policy |
| Knowledge Transfer | Knowledge Transfer | Reporting Manager | Ensure critical knowledge is documented and transferred to the replacement or team |
| Project Handover | Knowledge Transfer | Reporting Manager | Reassign active projects and tasks |
| Pending Reimbursements Cleared | Financial Settlement | Finance / HR | Process any outstanding reimbursement claims |
| Loan Recovery Noted | Financial Settlement | Finance / HR | Calculate outstanding loan balance for F&F deduction |
| Advance Recovery Noted | Financial Settlement | Finance / HR | Calculate unrecovered salary advance amount |
| Exit Interview Conducted | HR Process | HR Manager | Conduct the exit interview and document feedback |
| Experience Letter Issued | HR Process | HR Manager | Generate and issue the experience or relieving letter |
| Final Settlement Processed | Financial Settlement | HR / Finance | Complete the full-and-final settlement calculation and payment |
Viewing the Offboarding Checklist
- Navigate to Employees > Resignations.
- Click on the approved resignation for the departing employee.
- Click the Offboarding Checklist tab (or scroll to the checklist section).
- The checklist displays all items with their current status.

Marking Checklist Items as Complete
- Open the offboarding checklist for the employee.
- Locate the task to update.
- Click the checkbox or Mark Complete button next to the item.
- Optionally add a note (e.g., "Laptop serial no. ABC123 returned on 2025-07-10").
- The item status changes to Completed and the completion date is recorded.
Tip: Assign checklist items to specific people or departments so that responsibility is clear. The assigned person receives a notification reminder as the last working day approaches.
Adding Custom Checklist Items
If your organization requires additional offboarding steps:
- Navigate to the employee's offboarding checklist.
- Click Add Item.
- Enter the Item Name, Category, and Assignee.
- Click Save.
The new item appears in the checklist and must be completed before the exit can be finalized.
Tracking Checklist Progress
The checklist progress is displayed as a percentage on the lifecycle dashboard and the resignation detail page.
| Progress | Meaning |
|---|---|
| 0% | No tasks completed |
| 1–99% | Offboarding in progress |
| 100% | All tasks completed — ready for final settlement and exit completion |
Warning: The system will warn you if you attempt to complete the resignation before all checklist items are marked as done. While you can override this warning, it is strongly recommended to complete all items first.
Full-and-Final Settlement (F&F)
The full-and-final settlement is the financial closure of an employee's tenure with the organization. It accounts for all earnings owed to the employee and all recoveries due to the organization.
F&F Components
The full-and-final statement includes the following components:
Amounts Payable to Employee
| Component | Description | Calculation |
|---|---|---|
| Pending Salary | Salary for days worked in the final month that have not yet been paid through a payrun. | (Monthly salary / Total working days) x Days worked |
| Leave Encashment | Cash value of unused paid leave balances that are eligible for encashment. | (Daily salary) x (Encashable leave balance days) |
| Gratuity | Statutory gratuity for employees with 5+ years of continuous service (see Gratuity section below). | Formula-based (see below) |
| Bonus (if applicable) | Any earned but unpaid statutory or performance bonus. | Per organization policy |
| Pending Reimbursements | Approved reimbursement claims that have not been disbursed. | Sum of approved, unpaid claims |
| Notice Period Pay (if applicable) | If the organization releases the employee before the notice period ends, salary for unserved notice days is paid. | (Daily salary) x (Unserved notice days) |
Amounts Recoverable from Employee
| Component | Description | Calculation |
|---|---|---|
| Outstanding Loan Balance | Remaining principal on any active employee loan. | Total loan amount minus EMIs already paid |
| Unrecovered Advance | Any salary advance that has not been fully recovered. | Advance amount minus recovered installments |
| Notice Period Buyout | If the employee is leaving before serving the full notice period and the organization requires buyout. | (Daily salary based on buyout basis) x (Unserved notice days) |
| Tax Deducted at Source (TDS) | Final TDS adjustment for the financial year. | As per income tax calculation |
| Other Deductions | Any other organization-specific deductions (e.g., training bond recovery). | Per organization policy |
Net F&F Amount
Net F&F = Total Payable to Employee - Total Recoverable from Employee
If the net amount is positive, the organization pays the employee. If negative, the employee owes the organization (typically recovered from any pending payments or settled separately).
Gratuity Calculation
Gratuity is a statutory benefit under the Payment of Gratuity Act, 1972. It applies to employees who have completed five or more years of continuous service.
Eligibility
| Criterion | Requirement |
|---|---|
| Minimum service | 5 years of continuous service (4 years and 240 days is often treated as 5 years) |
| Applicability | Applies to establishments with 10 or more employees |
| Trigger | Resignation, retirement, superannuation, or death/disability |
Gratuity Formula
Gratuity = (Last drawn basic salary + Dearness Allowance) x 15 x (Years of service) / 26
Where:
- Last drawn basic salary + DA = The employee's basic pay plus dearness allowance as of the last working day
- 15 = 15 days of wages for each completed year of service
- Years of service = Total completed years (fractions above 6 months are rounded up)
- 26 = Number of working days in a month (as per the Act)
Gratuity Calculation Example
| Component | Value |
|---|---|
| Last drawn Basic + DA | INR 30,000 per month |
| Years of service | 7 years |
| Gratuity | (30,000 x 15 x 7) / 26 = INR 1,21,154 |
Tip: Udyamo HRMS automatically calculates gratuity based on the employee's salary components and service tenure when you initiate the F&F settlement. The system uses the basic salary and DA components from the employee's salary structure.
Warning: The maximum gratuity payable under the Act is INR 20,00,000 (twenty lakh rupees). Amounts exceeding this cap are subject to the employer's discretion and tax implications.

Generating the F&F Statement
Step-by-Step: Initiate Full-and-Final Settlement
-
Navigate to Employees > Resignations.
-
Click on the employee whose resignation is Approved and whose last working day has arrived (or is approaching).
-
Click Initiate F&F Settlement (or navigate to the Full & Final tab).
-
The system auto-populates the settlement components:
- Pending salary (calculated from the last payrun date to the last working day)
- Leave encashment (from the employee's current leave balances)
- Gratuity (if eligible, based on the formula above)
- Outstanding loans and advances (from the loan and advance modules)
- Pending reimbursements (from approved but unpaid claims)
- Notice period adjustment (if applicable)
-
Review each line item. You can manually adjust amounts if needed (e.g., for discretionary items).
-
Click Calculate to see the net F&F amount.

Step-by-Step: Finalize and Generate the Statement
- After reviewing the calculation, click Finalize F&F.
- The system generates a Full-and-Final Statement document.
- The statement includes:
- Employee details (name, ID, department, date of joining, last working day)
- Itemized earnings and deductions
- Net payable or recoverable amount
- Tax implications
- Click Download PDF to save the statement.
- Share the statement with the employee for acknowledgment.
Tip: Keep a signed copy of the F&F statement in the employee's document record for compliance and audit purposes.
Completing the Exit Process
Once the offboarding checklist is 100% complete and the F&F settlement is finalized, you can formally complete the exit.
Step-by-Step: Complete Employee Exit
- Navigate to Employees > Resignations.
- Click on the employee's approved resignation.
- Verify:
- All offboarding checklist items are marked complete.
- The F&F settlement has been finalized.
- The last working day has passed.
- Click Complete Exit (or Mark as Completed).
- Confirm the action in the dialog.
What Happens When You Complete the Exit
| Action | Description |
|---|---|
| Employee Status | Changes from On Notice to Terminated |
| Resignation Status | Changes from Approved to Completed |
| System Access | The employee can no longer log in to Udyamo HRMS |
| Payroll | The employee is excluded from future payrun processing |
| License | The employee's license is released and available for reassignment |
| Data Retention | All historical records (attendance, leave, payroll, documents) are preserved for reporting and compliance |
Warning: Completing the exit is a significant action. Ensure the F&F payment has been processed (or at least approved) before completing the exit, as the employee will lose system access.

Experience Letter and Relieving Letter
As part of the offboarding process, HR should issue the departing employee their experience letter and relieving letter.
Generating Letters
- Navigate to the employee's profile.
- Click Documents or Letters.
- Select Generate Experience Letter or Generate Relieving Letter.
- The system uses the configured HR template (see Chapter 41: Documents & HR Templates) to populate the letter with employee details.
- Review and edit the generated letter if needed.
- Click Download or Send to Employee.
Tip: Configure experience letter and relieving letter templates in advance under Settings > HR Templates so they are ready when needed. See Chapter 41 for template management.
Offboarding Timeline — Summary
| Day | Action | Responsible |
|---|---|---|
| Day 0 | Employee submits resignation | Employee |
| Day 1–3 | Manager reviews and approves/rejects | Manager / HR Admin |
| Day 1–Notice Period | Offboarding checklist tasks in progress | IT, Admin, Manager, HR |
| Last Working Day – 7 | Initiate F&F settlement calculation | HR / Finance |
| Last Working Day – 3 | Finalize F&F and generate statement | HR / Finance |
| Last Working Day | Exit interview, collect remaining assets, revoke access | HR / IT / Admin |
| Last Working Day + 1 | Complete exit in system, issue experience/relieving letters | HR Admin |
| Last Working Day + 30 | Process F&F payment (per policy) | Finance |
Common Errors and Solutions
| Problem | Cause | Solution |
|---|---|---|
| Cannot initiate F&F | Resignation not in Approved status | Ensure the resignation is approved before initiating F&F |
| Gratuity shows as zero | Employee has less than 5 years of service | Gratuity is only applicable for 5+ years of continuous service |
| Leave encashment amount seems wrong | Leave balance not updated or encashment policy not configured | Check the employee's leave balances and the leave encashment settings |
| Cannot complete exit | Offboarding checklist items are incomplete | Complete all checklist items or override with admin approval |
| F&F shows negative amount | Recoveries (loan, advance, buyout) exceed earnings | Review each component; the employee may need to make a separate payment |
Best Practices
- Start offboarding early. Begin checklist tasks on the day the resignation is approved, not on the last working day.
- Assign clear owners for each checklist item. Ambiguity leads to missed tasks.
- Run the F&F calculation a week before the last working day. This gives time to verify amounts and resolve discrepancies.
- Conduct the exit interview before the last day. Feedback is more candid when the employee still has a few days left.
- Archive documents. Upload the signed F&F statement, experience letter, and relieving letter to the employee's document record for future reference.
What Comes Next
With resignations and offboarding covered, the next chapter addresses document management and HR templates that support the entire employee lifecycle. Proceed to Chapter 41: Documents & HR Templates.
Documents & HR Templates
Udyamo HRMS provides a centralized document management system for storing, organizing, and retrieving employee documents — from identity proofs and tax declarations to offer letters and experience certificates. Alongside document storage, the platform includes an HR template system that lets you create reusable templates for payroll reports, offer letters, experience letters, and other standard HR correspondence.
This chapter covers both features in detail.
What You Will Learn
- How to navigate to the Documents section
- How to upload employee documents with proper categorization
- Supported file types and size limits
- How to view, download, search, and filter documents
- How to manage HR templates for payroll and correspondence
- Template creation, editing, and usage
- Document retention considerations
Prerequisites
Required: You must have an Administrator or HR Manager role to upload and manage organization-wide documents. Employees can upload their own documents through the self-service portal if enabled.
Document Management Overview
The Document model in Udyamo HRMS supports polymorphic document types — meaning documents can be associated with individual employees, departments, or the organization as a whole. Each document record stores the file, its category, a description, and metadata about who uploaded it and when.
Key Characteristics
| Feature | Details |
|---|---|
| Supported file formats | PDF, JPEG, PNG, GIF, Excel (.xlsx, .xls), CSV |
| Maximum file size | 5 MB per file |
| Storage | Cloud-based, encrypted at rest |
| Access control | Role-based — admins see all documents; employees see only their own |
| Polymorphic association | Documents can belong to an employee, a department, or the organization |
Navigating to Documents
Organization-Wide Documents
- Click Settings in the left sidebar.
- Select Documents (or navigate to Settings > HR > Documents).
- The Documents page displays all uploaded documents with filters.
Employee-Specific Documents
- Click Employees in the left sidebar.
- Click on the employee's name to open their profile.
- Click the Documents tab.
- The tab shows all documents associated with that employee.

Uploading Employee Documents
Step-by-Step: Upload a Document
- Navigate to the employee's profile by clicking Employees > [Employee Name].
- Click the Documents tab.
- Click Upload Document (or the + button).
- Fill in the upload form:
| Field | Description | Required |
|---|---|---|
| Document Type | Select the category of the document (see Document Categories below). | Yes |
| File | Click Browse or drag and drop the file. Must be PDF, image (JPEG/PNG/GIF), Excel, or CSV. Max 5 MB. | Yes |
| Description | A brief description of the document contents (e.g., "PAN Card front side"). | No |
| Expiry Date | If the document has an expiration (e.g., driving license), enter the date. | No |
- Click Upload or Save.
- The document appears in the employee's document list.

Warning: Files exceeding 5 MB will be rejected. If you need to upload a large file, compress it or split it into multiple files before uploading.
Tip: Encourage employees to upload clear, legible scans or photos. Blurry or illegible documents may need to be re-uploaded, delaying verification.
Document Categories
Udyamo HRMS organizes documents into predefined categories. These categories help with searching, filtering, and compliance.
Identity & Personal Documents
| Category | Examples |
|---|---|
| PAN Card | PAN card copy (front/back) |
| Aadhaar Card | Aadhaar card copy (masked as per UIDAI guidelines) |
| Passport | Passport first and last page |
| Driving License | Valid driving license copy |
| Voter ID | Election commission voter ID card |
| Photo | Passport-size photograph |
Employment Documents
| Category | Examples |
|---|---|
| Offer Letter | Signed offer letter from the organization |
| Appointment Letter | Formal appointment letter |
| Experience Letter | Experience or relieving letters from previous employers |
| Resignation Letter | Employee's resignation letter |
| Relieving Letter | Letter confirming release from the organization |
| Non-Disclosure Agreement | Signed NDA or confidentiality agreement |
Financial & Tax Documents
| Category | Examples |
|---|---|
| Bank Statement | Cancelled cheque or bank passbook first page |
| Form 16 | Annual TDS certificate issued by the employer |
| Tax Declaration | Employee's investment declaration for tax planning |
| Salary Slip (Previous) | Payslips from prior employment for CTC verification |
Educational Documents
| Category | Examples |
|---|---|
| Degree Certificate | University degree or diploma certificate |
| Marksheet | Academic transcripts and marksheets |
| Professional Certification | Industry certifications (e.g., PMP, AWS, CA) |
Medical Documents
| Category | Examples |
|---|---|
| Medical Certificate | Fitness certificate or medical leave certificate |
| Insurance Card | ESIC card or private health insurance card |
Tip: If you need a document category that is not listed, contact your administrator. Custom categories can be configured in Settings.
Viewing and Downloading Documents
Viewing a Document
- Navigate to the employee's Documents tab (or the organization Documents page).
- Locate the document in the list.
- Click the document name or the View icon.
- PDFs and images open in a preview pane within the browser.
- Excel and CSV files may prompt a download instead of a preview.
Downloading a Document
- Locate the document in the list.
- Click the Download icon (typically a down-arrow icon).
- The file downloads to your local device.
Tip: For bulk downloads, select multiple documents using the checkboxes and click Download Selected. The files will be downloaded as a ZIP archive.

Searching and Filtering Documents
The Documents page provides search and filter capabilities to quickly locate specific files.
Search
- Use the Search bar to search by document name, employee name, or description.
- The search is case-insensitive and supports partial matches.
Filters
| Filter | Options |
|---|---|
| Document Type | Select a specific category (e.g., PAN Card, Offer Letter) |
| Employee | Search by employee name or ID |
| Department | Filter by department |
| Upload Date | Filter by date range |
| Expiry Status | Show documents nearing expiry or already expired |
Tip: Use the Expiry Status filter regularly to identify documents like driving licenses, passports, or professional certifications that are about to expire. Proactively notify employees to upload renewed copies.
Employee Self-Service Document Upload
Employees can upload their own documents through the self-service portal, reducing the administrative burden on HR teams.
What Employees Can Do
- Upload personal documents (PAN, Aadhaar, bank details, etc.)
- View and download their own documents
- View documents shared by the organization (policies, handbooks)
What Employees Cannot Do
- View other employees' documents
- Delete documents uploaded by HR or admin
- Access organization-wide confidential documents
Step-by-Step: Employee Uploads a Document
- Log in to Udyamo HRMS.
- Navigate to My Profile > Documents.
- Click Upload Document.
- Select the Document Type, attach the file, and add a description.
- Click Upload.
- The document is saved and visible to the employee and their HR admin.
Warning: Remind employees to mask the first 8 digits of their Aadhaar number before uploading, in compliance with UIDAI guidelines. Udyamo HRMS stores documents securely, but masking is a regulatory best practice.
HR Templates
Udyamo HRMS includes a Template model that allows organizations to create reusable document templates for common HR correspondence and payroll outputs.
Template Types
| Template Type | Purpose | Common Use |
|---|---|---|
| Offer Letter | Template for new employee offer letters | Pre-fill with employee name, designation, CTC, joining date |
| Appointment Letter | Formal appointment confirmation | Pre-fill with employment terms and conditions |
| Experience Letter | Letter confirming employment tenure and role | Pre-fill with name, designation, dates of employment |
| Relieving Letter | Letter confirming release from the organization | Pre-fill with last working day and settlement status |
| Payslip Template | Layout and format for monthly payslips | Define which salary components appear and their order |
| Salary Certificate | Certificate confirming salary details for banks or visa applications | Pre-fill with current salary components |
| Bank Advice Template | Format for the monthly bank advice (salary transfer) file | Define bank-specific columns and format |
| Custom Template | Any other HR correspondence | User-defined content with placeholders |
Navigating to Templates
- Click Settings in the left sidebar.
- Select HR Templates (or navigate to Settings > Templates).
- The Templates page lists all configured templates.

Creating an HR Template
Step-by-Step: Create a New Template
- Navigate to Settings > HR Templates.
- Click Add Template (or Create New).
- Fill in the template form:
| Field | Description | Required |
|---|---|---|
| Template Name | A descriptive name (e.g., "Standard Offer Letter"). | Yes |
| Template Type | Select from Offer Letter, Experience Letter, Payslip, etc. | Yes |
| Content | The template body with placeholder variables. Use a rich text editor. | Yes |
| Description | Internal notes about when to use this template. | No |
- Insert placeholder variables where dynamic data should appear.
- Click Save.
Placeholder Variables
Templates use placeholder variables that are replaced with actual data when the template is used to generate a document.
| Placeholder | Replaced With |
|---|---|
{{employee_name}} | Employee's full name |
{{employee_id}} | Employee ID |
{{designation}} | Employee's current designation |
{{department}} | Employee's department |
{{date_of_joining}} | Date of joining |
{{last_working_day}} | Last working day (for exit letters) |
{{annual_ctc}} | Annual CTC in INR |
{{basic_pay}} | Monthly basic pay |
{{gross_pay}} | Monthly gross pay |
{{organization_name}} | Organization name |
{{current_date}} | Today's date |
{{years_of_service}} | Completed years of service |
Example: Offer Letter Template
Date: {{current_date}}
Dear {{employee_name}},
We are pleased to offer you the position of {{designation}} in the
{{department}} department at {{organization_name}}.
Your annual compensation (CTC) will be INR {{annual_ctc}}.
Your date of joining is {{date_of_joining}}. Please report to our
office at 9:00 AM on your joining date.
This offer is contingent upon successful completion of background
verification and submission of all required documents.
We look forward to welcoming you to the team.
Regards,
HR Department
{{organization_name}}
Tip: Create multiple versions of the same template type if needed — for example, separate offer letter templates for different departments or seniority levels.
Editing and Deleting Templates
Editing a Template
- Navigate to Settings > HR Templates.
- Click the template name or the Edit icon.
- Modify the content, name, or type as needed.
- Click Save.
Warning: Editing a template does not retroactively change documents that were previously generated using that template. It only affects future document generation.
Deleting a Template
- Navigate to Settings > HR Templates.
- Click the Delete icon next to the template.
- Confirm the deletion.
Warning: Deleting a template is permanent. If you may need the template again, consider renaming it to "(Archived)" instead of deleting it.
Using Templates to Generate Documents
Step-by-Step: Generate a Document from a Template
- Navigate to the employee's profile.
- Click Documents or Generate Letter.
- Select the template you want to use (e.g., "Standard Offer Letter").
- The system populates the placeholder variables with the employee's actual data.
- Review the generated document. Make any manual edits if needed.
- Click Download as PDF or Save to Employee Documents.
The generated document is automatically saved in the employee's document record with the appropriate category.

Document Retention Policies
Organizations should establish document retention policies that comply with Indian labor law and company policy.
Recommended Retention Periods
| Document Type | Recommended Retention | Reason |
|---|---|---|
| Employment records | 8 years after separation | Labour law compliance, potential disputes |
| Payroll records | 8 years | Income tax and PF audit requirements |
| Form 16 / TDS records | 8 years | Income tax assessment period |
| EPF / ESIC records | Until retirement or final settlement | Statutory compliance |
| Offer / Appointment letters | Duration of employment + 5 years | Employment verification |
| Experience / Relieving letters | Duration of employment + 5 years | Reference checks |
| Medical records | 5 years after separation | ESIC and insurance requirements |
| Identity documents | Duration of employment + 3 years | KYC compliance |
Tip: Udyamo HRMS retains all documents for terminated employees as part of the historical record. Documents are not automatically deleted when an employee exits. Review your retention policy annually and archive or purge documents that exceed the retention period.
File Validation Rules
Udyamo HRMS enforces the following validation rules when uploading documents:
| Rule | Constraint |
|---|---|
| Allowed file types | PDF (.pdf), JPEG (.jpg, .jpeg), PNG (.png), GIF (.gif), Excel (.xlsx, .xls), CSV (.csv) |
| Maximum file size | 5 MB per file |
| File name characters | Alphanumeric, hyphens, underscores, and dots only. Special characters are stripped. |
| Duplicate handling | Multiple files of the same type can be uploaded for the same employee. Each upload creates a separate record. |
Warning: Executable files (.exe, .bat, .sh), compressed archives (.zip, .rar), and other unsupported formats are rejected. If you need to upload a document in an unsupported format, convert it to PDF first.
Common Errors and Solutions
| Problem | Cause | Solution |
|---|---|---|
| "File type not supported" | Uploaded a file in an unsupported format | Convert to PDF, JPEG, PNG, Excel, or CSV |
| "File size exceeds limit" | File is larger than 5 MB | Compress the file or reduce image resolution |
| Upload button is disabled | User does not have upload permissions | Check the user's role; employees can only upload to their own profile |
| Template placeholders not replaced | Incorrect placeholder syntax | Verify placeholders match the format {{variable_name}} exactly |
| Generated letter has missing data | Employee profile fields are incomplete | Complete the employee's profile before generating the letter |
Best Practices
- Standardize naming conventions. Use consistent document names (e.g., "PAN_Card_EMP001.pdf") for easy searching.
- Verify documents at onboarding. Collect and upload all required identity and financial documents during the onboarding process.
- Use templates for consistency. Generate offer letters, experience letters, and other correspondence from templates rather than creating them from scratch each time.
- Review document expiry dates. Set up a monthly review of documents nearing expiry and notify employees to provide updated copies.
- Limit access appropriately. Ensure that sensitive documents (medical records, salary details) are only accessible to authorized personnel.
What Comes Next
With documents and templates covered, the next part of the guide addresses communication and reporting features. Proceed to Chapter 42: Announcements & Notifications.
Announcements & Notifications
Effective internal communication keeps employees informed, aligned, and engaged. Udyamo HRMS provides two complementary communication tools: Announcements for broadcasting important messages and Notifications for real-time, event-driven alerts. This chapter covers how to create and manage announcements, target specific audiences, and use the notification system to stay on top of HR events.
What You Will Learn
- How to navigate to the Announcements section
- How to create, publish, and manage announcements
- How to target announcements to specific recipients (organization, department, or individual)
- How announcement priority works
- How the notification system operates (bell icon, read/unread tracking)
- How to view announcement history
- How to edit and delete announcements
Prerequisites
Required: You must have an Administrator or HR Manager role to create and manage announcements. All employees can view announcements targeted to them.
Announcements vs. Notifications
Before diving into features, it is important to understand the distinction between these two communication tools:
| Feature | Announcements | Notifications |
|---|---|---|
| Purpose | Broadcast messages to groups of employees | Alert individual users about specific events |
| Who creates | Administrators and HR managers | Generated automatically by the system (and manually for announcements) |
| Audience | Configurable: entire org, department, or individuals | The specific user the event pertains to |
| Persistence | Stored permanently in announcement history | Stored with read/unread tracking |
| Examples | Policy updates, holiday announcements, company news | Leave approved, payslip generated, checklist reminder |
Navigating to Announcements
- Click Announcements in the left sidebar (or navigate to Communication > Announcements).
- The Announcements page displays a list of all announcements, sorted by date with the most recent at the top.

Creating an Announcement
Step-by-Step: Create a New Announcement
- Navigate to Announcements.
- Click Create Announcement (or the + button).
- Fill in the announcement form:
| Field | Description | Required |
|---|---|---|
| Title | A concise, descriptive title for the announcement. Appears in the announcement list and notifications. | Yes |
| Body | The full content of the announcement. Supports rich text formatting (bold, italic, lists, links). | Yes |
| Priority | Set to High or Low. High-priority announcements are visually highlighted. | Yes |
| Recipients | Choose the target audience (see Recipient Selection below). | Yes |
| Publish Date | The date and time the announcement becomes visible. Leave blank to publish immediately. | No |
| Attachments | Attach files (PDF, images) if the announcement includes supporting documents. | No |
- Review the announcement preview.
- Click Publish to make it live immediately, or Schedule to publish at the specified date.

Tip: Write clear, action-oriented titles. Instead of "Important Update," use "Office Closed on Republic Day — January 26." This helps employees quickly understand the announcement without opening it.
Recipient Selection
Udyamo HRMS uses the AnnouncementRecipient model to support flexible targeting of announcements. You can send an announcement to the entire organization, specific departments, or individual employees.
Audience Options
| Audience | Description | When to Use |
|---|---|---|
| Entire Organization | All active employees in the organization receive the announcement. | Company-wide policy changes, holiday announcements, general news |
| Specific Department(s) | Only employees in the selected department(s) receive the announcement. | Department-specific updates, team events, departmental policy changes |
| Specific Employee(s) | Only the individually selected employees receive the announcement. | Targeted communications, role-specific updates, individual notices |
Step-by-Step: Select Recipients
- In the announcement creation form, locate the Recipients section.
- Choose the audience type:
- All Employees — Select this option for organization-wide announcements.
- By Department — A department selector appears. Select one or more departments.
- By Employee — An employee search field appears. Search and add individual employees.
- The recipient count updates to show how many employees will receive the announcement.
Tip: You can combine department and individual selection. For example, send to the entire Engineering department plus two specific employees from Finance.
Warning: Only active employees are included in the recipient list. Employees with Inactive or Terminated status do not receive announcements.

Announcement Priority
Each announcement has a priority level that affects how it is displayed to recipients.
| Priority | Visual Indicator | Behavior |
|---|---|---|
| High | Highlighted with a colored banner (e.g., red or orange). Appears at the top of the announcement list. | May trigger a push notification or prominent alert in the notification bell. |
| Low | Standard styling. Appears in chronological order in the list. | Appears in the notification bell as a regular notification. |
When to Use High Priority
- Office closures or emergency announcements
- Critical policy changes that require immediate attention
- Compliance deadlines (e.g., tax declaration submission)
- Safety or security alerts
When to Use Low Priority
- General company news and updates
- Social events, celebrations, or milestones
- Informational updates that do not require immediate action
- Newsletter-style communications
Tip: Reserve high priority for genuinely urgent matters. Overusing high priority diminishes its impact and causes employees to ignore future high-priority announcements.
Publishing and Visibility
Immediate Publishing
When you click Publish without setting a future publish date, the announcement is immediately visible to all selected recipients.
Scheduled Publishing
- Set the Publish Date to a future date and time.
- Click Schedule.
- The announcement is saved in Scheduled status and will automatically become visible at the specified time.
Announcement Visibility States
| State | Description |
|---|---|
| Draft | The announcement is saved but not published. Only visible to the creator and admins. |
| Scheduled | The announcement is set to publish at a future date. |
| Published | The announcement is live and visible to the selected recipients. |
| Archived | The announcement has been removed from the active list but retained for history. |
Tip: Use drafts for announcements that need review or approval from leadership before publishing. Share the draft link with approvers for feedback.
Notification System
Udyamo HRMS includes a real-time notification system powered by the HrmsNotification and HrmsNotificationRecipient models. Notifications appear through the bell icon in the top navigation bar.
How Notifications Work
- When an event occurs (e.g., a leave is approved, a payslip is generated, an announcement is published), the system creates an HrmsNotification record.
- For each intended recipient, an HrmsNotificationRecipient record is created, tracking the read/unread status.
- The notification appears in the recipient's notification bell with an unread badge count.
- Clicking the bell icon opens the notification panel, showing recent notifications.
Notification Bell
The bell icon in the top-right corner of the navigation bar shows:
- Badge count — The number of unread notifications.
- Notification list — Click the bell to see a dropdown of recent notifications.
- Mark as read — Click a notification to mark it as read and navigate to the related page.
- Mark all as read — Click the option to mark all notifications as read at once.

Notification Types
| Event | Notification Sent To | Description |
|---|---|---|
| Leave request submitted | Reporting manager | An employee has requested leave |
| Leave request approved/rejected | Employee | The manager has acted on a leave request |
| Payslip generated | Employee | A new payslip is available for download |
| Announcement published | Selected recipients | A new announcement is available |
| Resignation submitted | Reporting manager, HR admin | An employee has submitted a resignation |
| Offboarding task assigned | Assigned person | A task on the offboarding checklist needs attention |
| Reimbursement approved/rejected | Employee | The reimbursement claim has been processed |
| Loan EMI reminder | Employee | An upcoming EMI deduction reminder |
| Overtime request submitted | Reporting manager | An employee has requested overtime |
Read/Unread Status Tracking
Every notification has a read status tracked per recipient:
| Status | Meaning |
|---|---|
| Unread | The recipient has not opened or acknowledged the notification. Appears highlighted in the notification panel. |
| Read | The recipient has clicked on or viewed the notification. Appears in standard styling. |
Tip: Regularly check your notification bell. Unacted-upon notifications (such as pending leave approvals) can delay processes for your team members.
Viewing Announcement History
All published announcements are retained in the system for reference.
Step-by-Step: View Past Announcements
- Navigate to Announcements.
- Use the filter options to narrow results:
- Date Range — View announcements from a specific period.
- Priority — Filter by High or Low priority.
- Status — Filter by Published or Archived.
- Author — View announcements created by a specific admin or HR manager.
- Click on an announcement title to view its full content and recipient details.
Announcement Details View
The detail view of an announcement shows:
| Section | Information |
|---|---|
| Title | The announcement heading |
| Body | Full content of the announcement |
| Author | Who created the announcement |
| Published Date | When it was published |
| Priority | High or Low |
| Recipients | Target audience (All, departments, or individual names) |
| Read Statistics | Number of recipients who have viewed the announcement vs. total recipients |
Tip: Use the read statistics to gauge engagement. If a high-priority announcement has low read rates, consider resending it or following up through another channel.

Editing Announcements
You can edit a published announcement to correct errors or update information.
Step-by-Step: Edit an Announcement
- Navigate to Announcements.
- Locate the announcement to edit.
- Click the Edit icon (pencil icon) or open the announcement and click Edit.
- Modify the title, body, priority, or recipients as needed.
- Click Save or Update.
Warning: Editing a published announcement does not resend notifications to recipients. If the update is significant, consider creating a new announcement referencing the correction.
Deleting Announcements
Step-by-Step: Delete an Announcement
- Navigate to Announcements.
- Locate the announcement to remove.
- Click the Delete icon (trash icon).
- Confirm the deletion in the dialog.
Warning: Deleting an announcement permanently removes it from the system, including from employees' announcement feeds. If you want to remove it from the active list but retain it for records, use Archive instead of Delete.
Archiving Announcements
Archiving moves an announcement out of the active list while preserving it in the system.
- Navigate to Announcements.
- Locate the announcement to archive.
- Click the Archive button or select Archive from the actions menu.
- The announcement moves to the Archived state and no longer appears in the default announcement list.
- Archived announcements can be viewed by setting the Status filter to Archived.
Common Errors and Solutions
| Problem | Cause | Solution |
|---|---|---|
| Employees say they did not see the announcement | Incorrect recipient selection or employee is inactive | Verify the recipient list and the employee's status |
| Notification bell not updating | Browser cache or session issue | Hard-refresh the page (Ctrl+Shift+R) or log out and back in |
| Scheduled announcement did not publish | Server time zone mismatch or scheduling error | Check the publish date and the organization's timezone settings |
| Cannot edit a published announcement | Insufficient permissions | Only administrators and the announcement creator can edit |
| Attachment upload fails | File type or size not supported | Check that the attachment meets the file type and 5 MB size limits |
Best Practices
- Keep announcements concise. Lead with the most important information. Use the body for details.
- Use appropriate priority levels. Reserve High priority for genuinely urgent items.
- Target your audience. A department-specific policy change should go to that department, not the entire organization.
- Track engagement. Review read statistics for important announcements and follow up if needed.
- Archive rather than delete. Maintain a historical record of all communications.
- Use scheduling for time-sensitive announcements. Schedule holiday announcements or policy changes to go live at the right moment.
What Comes Next
With communication tools covered, the next chapter addresses the reporting capabilities of Udyamo HRMS. Proceed to Chapter 43: Reports.
Reports
Udyamo HRMS provides a comprehensive reporting suite that covers attendance, leave, payroll, compliance, and employee data. Reports help administrators, HR managers, and finance teams make informed decisions, identify trends, and meet statutory filing requirements.
This chapter explains how to navigate to reports, describes each available report type, and covers filtering, exporting, and using reports for compliance.
What You Will Learn
- How to navigate to the Reports section
- The 11 report types available in Udyamo HRMS
- How to filter reports by department, office, date range, and employee
- How to export reports in CSV and Excel format
- How to use reports for statutory compliance filing
- Tips for effective report usage
Prerequisites
Required: You must have an Administrator or HR Manager role to access most reports. Some reports (e.g., Salary Report, CTC Report) may be restricted to administrators and finance roles based on your organization's permission settings.
Navigating to Reports
- Click Reports in the left sidebar.
- The Reports page displays the available report types as cards or a list.
- Click on a report type to open it.

Available Report Types
Udyamo HRMS offers 11 report types, each addressing a specific area of HR operations.
Report Types Summary
| # | Report | Purpose | Key Data Points |
|---|---|---|---|
| 1 | Attendance Report | Track employee attendance patterns | Check-in/out times, late arrivals, early departures, absent days |
| 2 | Leave Report | Analyze leave usage across the organization | Leave requests by category, approval/denial rates, leave balance consumption |
| 3 | Loan Report | Monitor employee loan status and repayment | Active loans, EMI schedules, outstanding balances, repayment progress |
| 4 | Reimbursement Report | Track expense claims and disbursement | Claims submitted, approved amounts, pending claims, category breakdown |
| 5 | Salary Report | View monthly salary details for all employees | Gross pay, net pay, deductions, earnings breakdown by employee |
| 6 | CTC Report | Analyze cost-to-company across the organization | Annual CTC, monthly CTC, component-wise breakdown, department-level aggregation |
| 7 | EPF Report | Generate EPF compliance data | Employee PF contribution, employer PF contribution, EPS, EDLI, admin charges |
| 8 | ESIC Report | Generate ESIC compliance data | Employee ESI contribution, employer ESI contribution, eligible employees |
| 9 | Professional Tax Report | Track professional tax liability | PT deductions by state, employee-wise PT amounts, monthly totals |
| 10 | TDS Report | Monitor tax deduction at source | Monthly TDS deductions, employee-wise tax projections, Form 16 data |
| 11 | Active Users Report | Audit license usage | Active employees, licensed users, unused licenses, last login dates |
Report Details
1. Attendance Report
The Attendance Report provides detailed or summarized views of employee attendance for a selected date range.
Available Views:
| View | Description |
|---|---|
| Daily Detail | Shows each employee's check-in time, check-out time, total hours worked, and status (Present, Absent, Half Day, On Leave, Holiday, Weekly Off) for each day. |
| Summary | Aggregates attendance data for the period: total present days, absent days, late arrivals, early departures, overtime hours, and leave days. |
Filters:
- Date range (required)
- Department
- Office
- Individual employee
- Status (Present, Absent, Late, etc.)
Use Cases:
- Identify employees with chronic late arrivals
- Calculate overtime hours for overtime-eligible employees
- Verify attendance data before running payroll
- Audit attendance for compliance with shift schedules

Tip: Run the Attendance Report at the end of each pay period before initiating the payrun. This ensures all attendance corrections have been applied and LOP days are accurate.
2. Leave Report
The Leave Report shows leave usage, approvals, and rejections across the organization.
Available Views:
| View | Description |
|---|---|
| Leave Usage | Total leave days consumed by category (Casual Leave, Sick Leave, Privilege Leave, etc.) for each employee. |
| Approval Summary | Count of approved, rejected, and pending leave requests by department and category. |
| Balance Report | Current leave balances for all employees, showing available, consumed, and carried-over days per category. |
Filters:
- Date range
- Leave category
- Department
- Office
- Approval status (Approved, Rejected, Pending)
Use Cases:
- Understand leave patterns across departments
- Identify departments with high leave consumption
- Plan for year-end leave encashment or carry-over processing
- Audit leave policy compliance
3. Loan Report
The Loan Report tracks all employee loans, their repayment status, and outstanding balances.
Columns:
| Column | Description |
|---|---|
| Employee Name | The loan recipient |
| Loan Type | Category of the loan |
| Loan Amount | Total sanctioned amount |
| EMIs Paid | Number of installments paid |
| EMIs Remaining | Number of installments left |
| Amount Paid | Total amount repaid |
| Outstanding Balance | Remaining amount to be repaid |
| Status | Active, Completed, or Defaulted |
Filters:
- Loan status (Active, Completed)
- Department
- Loan type
- Date range (loan sanction date)
Use Cases:
- Track outstanding loan liability
- Identify loans nearing completion
- Prepare data for F&F settlements (outstanding loan recovery)
- Audit loan disbursement and repayment compliance
4. Reimbursement Report
The Reimbursement Report provides a comprehensive view of expense claims submitted, approved, and paid.
Columns:
| Column | Description |
|---|---|
| Employee Name | The claimant |
| Claim Date | When the claim was submitted |
| Category | Expense category (travel, medical, etc.) |
| Claimed Amount | The amount requested |
| Approved Amount | The amount approved (may differ from claimed) |
| Status | Pending, Approved, Rejected, Paid |
| Payment Date | When the reimbursement was disbursed |
Filters:
- Date range
- Department
- Status (Pending, Approved, Rejected, Paid)
- Category
Use Cases:
- Monitor reimbursement spending by department
- Identify pending claims that need action
- Reconcile reimbursement payments with payroll
- Analyze expense patterns for budget planning
5. Salary Report
The Salary Report shows detailed salary information for a selected payroll period.
Columns:
| Column | Description |
|---|---|
| Employee Name | Employee receiving the salary |
| Employee ID | Unique identifier |
| Department | Department name |
| Basic Pay | Monthly basic pay component |
| HRA | House Rent Allowance |
| Other Earnings | Sum of all other earning components |
| Gross Pay | Total earnings before deductions |
| EPF Deduction | Employee PF contribution |
| ESI Deduction | Employee ESI contribution |
| Professional Tax | PT deduction |
| TDS | Income tax deduction |
| Other Deductions | Sum of other deductions (loans, advances, etc.) |
| Net Pay | Amount credited to the employee |
Filters:
- Payroll month/period (required)
- Department
- Office
- Individual employee
Use Cases:
- Verify salary calculations after a payrun
- Reconcile salary payments with bank disbursements
- Identify discrepancies in individual salary components
- Provide salary data for auditors

6. CTC Report
The CTC (Cost to Company) Report provides an organization-wide view of employee compensation costs.
Columns:
| Column | Description |
|---|---|
| Employee Name | Employee name |
| Department | Department |
| Designation | Current designation |
| Annual CTC | Annual cost-to-company |
| Monthly CTC | Annual CTC divided by 12 |
| Basic Pay | Monthly basic component |
| Employer PF | Employer's PF contribution |
| Employer ESI | Employer's ESI contribution |
| Gratuity Provision | Monthly gratuity accrual (if applicable) |
Filters:
- Department
- Office
- Designation
- CTC range (min/max)
Use Cases:
- Budget planning and workforce cost analysis
- Department-wise compensation comparison
- Benchmarking compensation against market rates
- Headcount and cost reporting for leadership
7. EPF Report
The EPF (Employees' Provident Fund) Report generates compliance-ready data for PF filing.
Columns:
| Column | Description |
|---|---|
| Employee Name | Employee name |
| UAN | Universal Account Number |
| EPF Number | PF member ID |
| PF Wages | Wages on which PF is calculated (capped at INR 15,000 for statutory rate) |
| Employee PF (12%) | Employee's contribution |
| Employer PF (3.67%) | Employer's contribution to EPF |
| EPS (8.33%) | Employer's contribution to Employee Pension Scheme |
| EDLI | Employer's contribution to Employees' Deposit Linked Insurance |
| Admin Charges | Employer's administrative charges |
Filters:
- Payroll month (required)
- Department
- Office
Use Cases:
- Prepare the Electronic Challan-cum-Return (ECR) for EPFO filing
- Verify PF calculations before submission
- Reconcile PF contributions with the PF trust
- Generate data for the annual PF return
Tip: Use the EPF Report alongside the EPFO portal to cross-check contribution amounts before submitting the ECR. See Chapter 31: EPF for compliance details.
8. ESIC Report
The ESIC (Employees' State Insurance Corporation) Report generates data for ESI compliance filing.
Columns:
| Column | Description |
|---|---|
| Employee Name | Employee name |
| ESIC Number | ESI member number |
| Gross Wages | Total wages for ESI calculation |
| Employee ESI (0.75%) | Employee's contribution |
| Employer ESI (3.25%) | Employer's contribution |
| Total Contribution | Combined employee and employer contribution |
Filters:
- Payroll month (required)
- Department
- Office
Use Cases:
- Prepare ESIC contribution data for filing on the ESIC portal
- Verify ESI-eligible employees (those with gross wages up to the ESI ceiling)
- Reconcile ESI payments with statutory requirements
9. Professional Tax Report
The Professional Tax Report tracks PT deductions by state and employee.
Columns:
| Column | Description |
|---|---|
| Employee Name | Employee name |
| State | The state whose PT slab applies |
| Gross Salary | Monthly gross salary for slab determination |
| PT Amount | Professional tax amount deducted |
Filters:
- Payroll month (required)
- State
- Department
- Office
Use Cases:
- Prepare state-wise PT returns
- Verify PT slab application is correct for each employee
- Reconcile PT collections with state government payments
- Handle employees working across multiple states
Tip: Professional tax slabs vary by state. Ensure your PT configuration is up to date for each state where you have employees. See Chapter 33: Professional Tax.
10. TDS Report
The TDS (Tax Deducted at Source) Report monitors income tax deductions for all employees.
Columns:
| Column | Description |
|---|---|
| Employee Name | Employee name |
| PAN | Permanent Account Number |
| Taxable Income (Projected) | Estimated annual taxable income |
| Tax Liability (Projected) | Estimated total tax for the financial year |
| TDS Deducted (YTD) | Year-to-date TDS already deducted |
| TDS This Month | TDS deducted in the selected month |
| Remaining TDS | Tax still to be deducted in remaining months |
Filters:
- Financial year (required)
- Payroll month
- Department
- Tax regime (Old/New)
Use Cases:
- Monitor monthly TDS deductions for accuracy
- Prepare quarterly TDS returns (Form 24Q)
- Generate Form 16 data for year-end distribution
- Identify employees with tax shortfalls requiring catch-up deductions
11. Active Users Report
The Active Users Report provides a license utilization audit, showing which employees are actively using the system.
Columns:
| Column | Description |
|---|---|
| Employee Name | Employee name |
| Employee ID | Unique identifier |
| Department | Department |
| Status | Active, Inactive, Terminated, On Notice |
| License Assigned | Yes/No |
| Last Login | Date and time of the employee's last login |
| Days Since Last Login | Number of days since the last activity |
Filters:
- Status (Active, Inactive)
- Department
- License status (Assigned, Unassigned)
- Last login range
Use Cases:
- Audit license utilization to optimize subscription costs
- Identify inactive users who may not need a license
- Review security by finding accounts that have not logged in recently
- Plan license purchases for new hires
Tip: Run the Active Users Report monthly to ensure your license count matches your active employee count. Unused licenses can be reassigned to new employees. See Chapter 47: License Management.
Filtering Reports
All reports share a consistent filtering interface.
Common Filter Options
| Filter | Available In | Description |
|---|---|---|
| Date Range | All date-based reports | Select a start and end date for the reporting period |
| Payroll Month | Salary, EPF, ESIC, PT, TDS | Select the specific payroll period |
| Department | All reports | Filter by one or more departments |
| Office | All reports | Filter by office location |
| Employee | All reports | Search for a specific employee by name or ID |
| Status | Leave, Loan, Reimbursement, Active Users | Filter by record status |
Applying Filters
- Open a report.
- Set the desired filter values in the filter panel at the top.
- Click Apply or Generate Report.
- The report refreshes with filtered data.
- To clear filters, click Reset or Clear Filters.
Tip: Save frequently used filter combinations as presets (if available) to avoid reconfiguring filters each time you run the report.
Exporting Reports
All reports can be exported for offline analysis, record-keeping, or sharing with stakeholders.
Export Formats
| Format | Description | Best For |
|---|---|---|
| CSV | Comma-separated values file. Opens in any spreadsheet application. | Data analysis, bulk processing, importing into other systems |
| Excel (.xlsx) | Microsoft Excel format with formatting preserved. | Sharing with stakeholders, formatted reports, presentations |
Step-by-Step: Export a Report
- Open the desired report and apply your filters.
- Click the Export button (typically in the top-right corner of the report).
- Select the export format: CSV or Excel.
- The file downloads to your local device.
- Open the file in your preferred spreadsheet application.

Tip: For large reports with thousands of rows, CSV export is faster and produces smaller files. Use Excel export when formatting and readability matter more than file size.
Using Reports for Compliance Filing
Several reports in Udyamo HRMS are designed to directly support statutory compliance filing.
Compliance Report Mapping
| Compliance Requirement | Udyamo HRMS Report | Filing Platform | Filing Frequency |
|---|---|---|---|
| EPF contributions (ECR) | EPF Report | EPFO Unified Portal | Monthly |
| ESI contributions | ESIC Report | ESIC Portal | Monthly (half-yearly return) |
| Professional Tax | Professional Tax Report | State government portal | Monthly or half-yearly (varies by state) |
| TDS (Form 24Q) | TDS Report | TRACES / Income Tax Portal | Quarterly |
| Form 16 | TDS Report (annual) | TRACES / Income Tax Portal | Annually (by June 15) |
Workflow: Using Reports for Monthly PF Filing
- Navigate to Reports > EPF Report.
- Select the payroll month.
- Review the report for accuracy — verify UAN numbers, PF wages, and contribution amounts.
- Export the report as Excel or CSV.
- Log in to the EPFO Unified Portal.
- Upload the ECR file or manually enter the data using the exported report as reference.
- Make the PF payment and record the transaction reference.
Warning: Always verify report data against actual payroll records before filing with statutory authorities. Errors in EPF or ESI filings can result in penalties and interest charges.
Report Scheduling
For reports that you run regularly, Udyamo HRMS may support scheduling features (availability depends on your subscription plan).
Setting Up a Scheduled Report
- Open the desired report.
- Configure the filters for the report you want to schedule.
- Click Schedule (if available).
- Set the frequency:
| Frequency | Description |
|---|---|
| Daily | Report runs every day at the specified time |
| Weekly | Report runs once per week on the selected day |
| Monthly | Report runs on the selected day of each month |
- Set the delivery method — email delivery to specified recipients or save to the Reports archive.
- Click Save Schedule.
Tip: Schedule the Attendance Report to run daily at 10:00 AM for HR managers. This provides a daily snapshot of attendance without manual effort.
Common Errors and Solutions
| Problem | Cause | Solution |
|---|---|---|
| Report shows no data | Filters are too restrictive or no data exists for the period | Broaden filter criteria; check that payroll has been run for the selected month |
| Export file is empty | Same as above | Verify the report displays data on screen before exporting |
| Numbers do not match payroll records | Report uses a different calculation basis or period | Ensure the report period matches the exact payrun period |
| EPF report missing employees | Employees do not have UAN or EPF numbers assigned | Complete statutory details in the employee profile |
| Cannot access certain reports | Insufficient role permissions | Contact your administrator to check role-based report access |
Best Practices
- Run attendance and leave reports before payroll. This catches errors before they affect salary calculations.
- Export compliance reports monthly. Even if filing is quarterly, having monthly data ready simplifies the quarterly submission.
- Use the CTC report for budget reviews. Share with department heads during quarterly budget discussions.
- Audit active users quarterly. Align license counts with actual usage to optimize costs.
- Cross-check statutory reports. Compare EPF, ESIC, and TDS reports with payslip totals before filing.
- Archive exported reports. Save copies of exported compliance reports in your document management system for audit trails.
What Comes Next
With reporting capabilities covered, the next part of the guide addresses security and integrations. Proceed to Chapter 44: Two-Factor Authentication & OTP.
Two-Factor Authentication & OTP
Security is a critical concern for any system that handles employee personal data, salary information, and statutory records. Udyamo HRMS supports two additional layers of authentication beyond the standard email/password login: TOTP-based two-factor authentication (2FA) and OTP-based passwordless login. This chapter explains how to set up, use, and manage both features.
What You Will Learn
- Why two-factor authentication matters for HR systems
- How to enable TOTP-based 2FA on your account
- How to use an authenticator app to generate codes
- How to generate and safely store recovery codes
- How to log in with 2FA enabled
- How to disable 2FA
- How OTP-based login works
- How administrators manage 2FA policies for the organization
- Security best practices
Prerequisites
Required: A smartphone or device capable of running an authenticator app (Google Authenticator, Microsoft Authenticator, Authy, or similar TOTP-compatible app).
Required: Access to your Udyamo HRMS account with a valid email and password.
Why Two-Factor Authentication Matters
Standard email/password authentication is vulnerable to several attack vectors:
| Threat | Description | How 2FA Helps |
|---|---|---|
| Password theft | Passwords stolen via phishing, data breaches, or keyloggers | Even with the password, an attacker cannot log in without the second factor |
| Credential stuffing | Attackers try stolen credentials from other services | The TOTP code changes every 30 seconds and is unique to Udyamo HRMS |
| Social engineering | Attackers trick users into revealing passwords | The authenticator app generates codes locally — they cannot be extracted remotely |
| Brute force | Automated tools try thousands of password combinations | Even if a password is guessed, the TOTP code provides an additional barrier |
Warning: HR systems contain highly sensitive data — Aadhaar numbers, PAN details, bank account information, salary records, and personal addresses. A compromised account can lead to data theft, financial fraud, and regulatory penalties. Enabling 2FA is one of the most effective steps you can take to protect this data.
Setting Up TOTP-Based Two-Factor Authentication
TOTP (Time-based One-Time Password) generates a 6-digit code that changes every 30 seconds. The code is generated by an authenticator app on your device and verified by the Udyamo HRMS server. Both the app and the server share a secret key, ensuring that only your device can generate valid codes.
Step-by-Step: Enable 2FA
- Log in to Udyamo HRMS with your email and password.
- Click your profile icon or name in the top-right corner.
- Select Security Settings (or navigate to Profile > Security).
- In the Two-Factor Authentication section, click Enable 2FA.

- The system displays a QR code and a text-based secret key.
- Open your authenticator app on your smartphone:
| App | Platform | Download |
|---|---|---|
| Google Authenticator | Android, iOS | Google Play Store / Apple App Store |
| Microsoft Authenticator | Android, iOS | Google Play Store / Apple App Store |
| Authy | Android, iOS, Desktop | twilio.com/authy |
- In the authenticator app, tap Add Account (or the + icon).
- Choose Scan QR Code and point your camera at the QR code displayed on screen.
- If you cannot scan the QR code, choose Enter Manually and type the text-based secret key shown below the QR code.
- The authenticator app adds the Udyamo HRMS account and displays a 6-digit code.
- Enter the current 6-digit code in the Verification Code field on the Udyamo HRMS screen.
- Click Verify and Enable.

Tip: If the verification fails, check that your device's clock is synchronized. TOTP relies on accurate time — even a 30-second discrepancy can cause codes to be rejected. On Android, go to Settings > Date & Time > Use network-provided time. On iOS, go to Settings > General > Date & Time > Set Automatically.
- Upon successful verification, 2FA is now active on your account.
Recovery Codes
When you enable 2FA, the system generates a set of recovery codes. These are single-use backup codes that you can use to log in if you lose access to your authenticator app (e.g., if your phone is lost, stolen, or factory reset).
Generating Recovery Codes
Recovery codes are displayed immediately after enabling 2FA. They typically consist of 8-10 alphanumeric codes.
Example recovery codes:
a1b2c-3d4e5
f6g7h-8i9j0
k1l2m-3n4o5
p6q7r-8s9t0
u1v2w-3x4y5
z6a7b-8c9d0
e1f2g-3h4i5
j6k7l-8m9n0
Storing Recovery Codes Safely
Warning: Recovery codes are shown only once when you enable 2FA. If you lose them and also lose access to your authenticator app, you will be locked out of your account and will need to contact your administrator.
Recommended storage methods:
| Method | Security Level | Notes |
|---|---|---|
| Password manager | High | Store in a secure password manager like 1Password, Bitwarden, or LastPass |
| Printed copy | Medium | Print and store in a locked drawer or safe |
| Encrypted file | High | Save in an encrypted document on your computer |
| Cloud note (encrypted) | Medium | Use an encrypted note in a secure cloud service |
Do NOT:
- Save recovery codes in plain text on your desktop
- Store them in an unencrypted email or chat message
- Share them with anyone
- Take an unprotected screenshot
Logging In with 2FA
Once 2FA is enabled, your login flow adds one additional step.
Step-by-Step: Log In with 2FA
- Navigate to the Udyamo HRMS login page.
- Enter your Email and Password.
- Click Log In.
- The system verifies your credentials and prompts for a Two-Factor Code.

- Open your authenticator app.
- Find the Udyamo HRMS entry and note the current 6-digit code.
- Enter the code in the Two-Factor Code field.
- Click Verify.
- If the code is correct, you are logged in to the dashboard.
Tip: The TOTP code refreshes every 30 seconds. If the code is about to expire (shown by a countdown timer in most authenticator apps), wait for the next code to avoid entering an expiring code.
Using a Recovery Code
If you do not have access to your authenticator app:
- On the Two-Factor Code screen, click Use a Recovery Code (or similar link).
- Enter one of your recovery codes.
- Click Verify.
- You are logged in. The used recovery code is invalidated and cannot be reused.
Warning: Each recovery code can only be used once. After using a recovery code, immediately re-configure your authenticator app and generate new recovery codes from Security Settings.
Disabling Two-Factor Authentication
You may need to disable 2FA temporarily (e.g., when switching phones) or permanently.
Step-by-Step: Disable 2FA
- Log in to Udyamo HRMS (using your authenticator app or a recovery code).
- Navigate to Profile > Security Settings.
- In the Two-Factor Authentication section, click Disable 2FA.
- Enter your current password to confirm the action.
- Click Confirm Disable.
- 2FA is now removed from your account. You will log in with only email and password going forward.
Warning: Disabling 2FA reduces your account security. Re-enable it as soon as possible after completing whatever task required disabling it (e.g., setting up a new phone).
Tip: When switching phones, you can usually transfer your authenticator app accounts using the app's built-in transfer feature (Google Authenticator has "Transfer Accounts," Authy syncs across devices). This avoids the need to disable and re-enable 2FA.
OTP-Based Login
Udyamo HRMS also supports One-Time Password (OTP) login as an alternative authentication method. Unlike TOTP-based 2FA (which supplements password login), OTP login replaces the password entirely — the user logs in using only their email/phone and a one-time code.
How OTP Login Differs from 2FA
| Aspect | TOTP 2FA | OTP Login |
|---|---|---|
| What it replaces | Nothing — it adds a second factor on top of password | Replaces the password entirely |
| Code delivery | Generated by an authenticator app | Sent via email or SMS |
| Code validity | Refreshes every 30 seconds | Valid for 5-10 minutes |
| Requires setup | Yes (QR code enrollment) | No setup required — works with registered email/phone |
| Security model | Something you know (password) + something you have (app) | Something you have (email/phone access) |
Step-by-Step: Log In with OTP
- Navigate to the Udyamo HRMS login page.
- Click Login with OTP.
- Enter your registered Email Address or Mobile Number.
- Click Send OTP.
- Check your email inbox or SMS for the one-time code.
- Enter the OTP in the verification field.
- Click Verify & Log In.

Tip: OTP codes are typically valid for 5-10 minutes. If you do not receive the OTP, check your spam folder (for email) or wait a minute for SMS delivery. Click Resend OTP if needed.
Admin Configuration for OTP Login
OTP login is managed through the OtpController and must be enabled by an administrator:
- Navigate to Settings > Security.
- Locate the OTP Login section.
- Toggle Enable OTP Login to on.
- Configure the OTP delivery method:
| Setting | Options |
|---|---|
| Delivery Method | Email only, SMS only, or Both |
| OTP Validity | Duration in minutes (default: 10 minutes) |
| OTP Length | Number of digits (default: 6) |
| Max Resend Attempts | Maximum number of OTP resends per session (default: 3) |
- Click Save.
Warning: SMS-based OTP requires an SMS gateway configuration. Ensure your SMS provider is set up and has sufficient credits before enabling SMS OTP for the organization.
Admin: Managing 2FA for the Organization
Administrators can enforce or encourage 2FA adoption across the organization through the TwoFactorSettingsController.
Organization-Wide 2FA Settings
- Navigate to Settings > Security > Two-Factor Authentication.
- Configure the following settings:
| Setting | Description | Options |
|---|---|---|
| 2FA Policy | Whether 2FA is optional, encouraged, or mandatory. | Optional, Encouraged (with reminders), Mandatory |
| Enforcement Scope | Which roles must use 2FA if mandatory. | All users, Administrators only, Admins + Managers |
| Grace Period | Days allowed after mandate before account lockout. | 7, 14, 30 days |
| Recovery Code Count | Number of recovery codes generated per user. | 8 (default), configurable |
- Click Save.
Mandatory 2FA Enforcement
When 2FA is set to Mandatory:
- Users who have not enabled 2FA see a setup prompt after login.
- During the grace period, they can dismiss the prompt and use the system normally.
- After the grace period expires, users are redirected to the 2FA setup page and cannot access other features until 2FA is configured.
Tip: Before mandating 2FA, send an organization-wide announcement explaining the change, providing setup instructions, and giving employees time to install an authenticator app. See Chapter 42: Announcements & Notifications.
Admin: Resetting an Employee's 2FA
If an employee is locked out because they lost their authenticator device and recovery codes:
- Navigate to Employees > [Employee Name] > Security.
- Click Reset 2FA.
- Confirm the action.
- The employee's 2FA is disabled. They can log in with just their password and set up 2FA again.
Warning: Only administrators should reset 2FA. Verify the employee's identity through a secondary channel (in-person, phone call) before resetting to prevent social engineering attacks.
Security Best Practices
For Employees
- Enable 2FA on your account. Even if not mandatory, it significantly enhances security.
- Use a reputable authenticator app. Avoid unknown or unverified apps.
- Store recovery codes securely. Use a password manager or a locked physical location.
- Do not share TOTP codes. Codes are generated for your device only. Never share them over chat, email, or phone.
- Keep your authenticator app updated. Install updates promptly for security patches.
For Administrators
- Mandate 2FA for admin accounts. At minimum, all administrator and HR manager accounts should have 2FA enabled.
- Monitor 2FA adoption. Use the Active Users report or security dashboard to track how many users have enabled 2FA.
- Educate employees. Provide clear instructions and support for 2FA setup, especially for non-technical staff.
- Have a recovery process. Document the steps for employees who lose their authenticator device so they know how to regain access.
- Review OTP settings periodically. Ensure OTP validity periods and delivery methods are appropriate for your security posture.
Common Errors and Solutions
| Problem | Cause | Solution |
|---|---|---|
| TOTP code rejected | Device clock out of sync | Sync your device time with the network (Settings > Date & Time > Automatic) |
| QR code does not scan | Screen glare, low resolution, or camera issue | Use the manual text key entry option instead |
| Recovery codes lost | Not saved properly after 2FA setup | Contact your administrator to reset 2FA |
| OTP not received (email) | Email delivery delay or spam filter | Check spam folder; wait 2-3 minutes; click Resend OTP |
| OTP not received (SMS) | SMS gateway issue or incorrect phone number | Verify phone number; contact admin if SMS gateway is misconfigured |
| Account locked after failed 2FA | Too many incorrect TOTP/OTP attempts | Wait for the lockout period (typically 30 minutes) or contact admin |
| Cannot disable 2FA | Forgot password required for confirmation | Use password reset flow first, then disable 2FA |
Quick Reference
| Action | Navigation | Notes |
|---|---|---|
| Enable 2FA | Profile > Security Settings > Enable 2FA | Requires authenticator app |
| View recovery codes | Profile > Security Settings > Recovery Codes | Only shown once at setup; regenerate if needed |
| Disable 2FA | Profile > Security Settings > Disable 2FA | Requires password confirmation |
| Log in with OTP | Login page > Login with OTP | Must be enabled by admin |
| Admin: Enforce 2FA | Settings > Security > Two-Factor Authentication | Can be optional, encouraged, or mandatory |
| Admin: Reset user 2FA | Employees > [Name] > Security > Reset 2FA | Verify identity before resetting |
What Comes Next
With two-factor authentication and OTP login covered, the next chapter addresses Single Sign-On integration with Azure AD and Google. Proceed to Chapter 45: Single Sign-On — Azure AD & Google.
Single Sign-On — Azure AD & Google
Single Sign-On (SSO) allows employees to log in to Udyamo HRMS using their existing organizational credentials — either a Google Workspace account or a Microsoft Azure Active Directory (Azure AD) account. SSO simplifies the login experience, improves security through centralized authentication, and reduces password fatigue for employees.
This chapter covers how SSO works in Udyamo HRMS, how to configure Google OAuth2 and Azure AD SSO, and how employees use SSO to log in.
What You Will Learn
- What Single Sign-On is and its benefits
- How Google OAuth2 SSO works in Udyamo HRMS
- How Azure AD SSO works for Microsoft 365 organizations
- How to configure each SSO provider (admin setup)
- The employee login flow for each SSO method
- How SSO interacts with existing password-based accounts
- Troubleshooting common SSO issues
Prerequisites
Required: You must have an Administrator role to configure SSO providers.
Required: For Google OAuth2: A Google Workspace organization with admin access to the Google Cloud Console.
Required: For Azure AD: A Microsoft 365 / Azure AD tenant with admin access to the Azure Portal.
What Is Single Sign-On?
Single Sign-On is an authentication mechanism that allows users to log in to multiple applications using a single set of credentials managed by an identity provider (IdP). Instead of maintaining a separate username and password for Udyamo HRMS, employees use their Google or Microsoft account.
Benefits of SSO
| Benefit | Description |
|---|---|
| Simplified login | Employees use one set of credentials for multiple applications |
| Reduced password fatigue | Fewer passwords to remember means fewer weak or reused passwords |
| Centralized access control | IT admins manage access from one identity provider (Google Admin, Azure AD) |
| Automatic deprovisioning | When an employee is removed from Google Workspace or Azure AD, they lose access to Udyamo HRMS |
| Stronger security | Leverages the IdP's security features — MFA, conditional access, session management |
| Compliance | Audit trails from the IdP complement Udyamo HRMS's own logging |
SSO Architecture Overview
Udyamo HRMS implements SSO through the OmniauthCallbacksController, which handles the OAuth2/OpenID Connect flow for both Google and Azure AD.
Authentication Flow
- Employee clicks Sign in with Google or Sign in with Microsoft on the login page.
- Udyamo HRMS redirects the employee to the identity provider's login page.
- The employee enters their Google or Microsoft credentials (and completes MFA if required by their organization).
- The identity provider authenticates the user and redirects back to Udyamo HRMS with an authorization token.
- Udyamo HRMS verifies the token and matches the user's email address to an existing employee record.
- If a match is found, the employee is logged in. If no match is found, the login is rejected.

Warning: SSO login requires that the email address in the identity provider matches the email registered in Udyamo HRMS. If an employee's Google or Microsoft email differs from their Udyamo HRMS email, SSO login will fail.
Google OAuth2 SSO
Google OAuth2 SSO is ideal for organizations that use Google Workspace (formerly G Suite) for email and productivity tools.
Admin Setup: Configuring Google OAuth2
To configure Google OAuth2, you need to create an OAuth2 client in the Google Cloud Console and then enter the credentials in Udyamo HRMS.
Step 1: Create a Google Cloud OAuth2 Client
- Log in to the Google Cloud Console.
- Select your project (or create a new one).
- Navigate to APIs & Services > Credentials.
- Click Create Credentials > OAuth client ID.
- Select Web application as the application type.
- Configure the following:
| Field | Value |
|---|---|
| Name | Udyamo HRMS SSO |
| Authorized redirect URIs | https://your-domain.udyamo.com/users/auth/google_oauth2/callback |
- Click Create.
- Note the Client ID and Client Secret — you will need these in the next step.
Warning: Keep the Client Secret confidential. Do not share it in emails, chat messages, or public repositories.
Step 2: Configure Google OAuth2 in Udyamo HRMS
- Log in to Udyamo HRMS as an administrator.
- Navigate to Settings > Security > Single Sign-On.
- In the Google OAuth2 section, click Configure.
- Enter the following:
| Field | Description | Required |
|---|---|---|
| Client ID | The OAuth2 Client ID from Google Cloud Console | Yes |
| Client Secret | The OAuth2 Client Secret from Google Cloud Console | Yes |
| Allowed Domain(s) | Restrict SSO to specific email domains (e.g., yourcompany.com). Leave blank to allow any Google account. | Recommended |
- Click Save.
- Toggle Enable Google SSO to on.

Tip: Restricting to your company's email domain prevents external Google accounts from attempting to log in. This is strongly recommended for security.
Step 3: Test Google SSO
- Open an incognito/private browser window.
- Navigate to the Udyamo HRMS login page.
- Click Sign in with Google.
- Select a Google Workspace account that matches an employee email in Udyamo HRMS.
- Verify that you are successfully logged in.
Employee Login Flow: Google
- Navigate to the Udyamo HRMS login page.
- Click Sign in with Google.
- If not already signed in to Google, enter Google credentials.
- If the Google organization enforces MFA, complete the verification step.
- Upon successful authentication, Google redirects to Udyamo HRMS.
- Udyamo HRMS matches the Google email to an employee record and logs the user in.

Azure AD SSO
Azure AD SSO is designed for organizations that use Microsoft 365 (Office 365) and Azure Active Directory for identity management.
Admin Setup: Configuring Azure AD SSO
Configuring Azure AD SSO requires steps in both the Azure Portal and Udyamo HRMS.
Step 1: Register an Application in Azure AD
- Log in to the Azure Portal.
- Navigate to Azure Active Directory > App registrations.
- Click New registration.
- Fill in the registration form:
| Field | Value |
|---|---|
| Name | Udyamo HRMS |
| Supported account types | Accounts in this organizational directory only (Single tenant) |
| Redirect URI | Web — https://your-domain.udyamo.com/users/auth/azure_oauth2/callback |
- Click Register.
- On the application overview page, note the Application (client) ID and Directory (tenant) ID.
Step 2: Create a Client Secret
- In the registered application, navigate to Certificates & secrets.
- Click New client secret.
- Enter a description (e.g., "Udyamo HRMS SSO") and select an expiry period.
- Click Add.
- Copy the Secret Value immediately — it is shown only once.
Warning: The client secret is displayed only at the time of creation. If you lose it, you must create a new one.
Step 3: Configure API Permissions
- In the registered application, navigate to API permissions.
- Click Add a permission.
- Select Microsoft Graph.
- Choose Delegated permissions.
- Add the following permissions:
| Permission | Purpose |
|---|---|
openid | Required for OpenID Connect authentication |
email | Access the user's email address |
profile | Access the user's basic profile (name) |
- Click Add permissions.
- Click Grant admin consent for [Your Organization] to approve the permissions for all users.
Step 4: Configure Azure AD in Udyamo HRMS
- Log in to Udyamo HRMS as an administrator.
- Navigate to Settings > Security > Single Sign-On.
- In the Azure AD section, click Configure.
- Enter the following:
| Field | Description | Required |
|---|---|---|
| Tenant ID | The Directory (tenant) ID from Azure AD | Yes |
| Client ID | The Application (client) ID from Azure AD | Yes |
| Client Secret | The client secret value you created | Yes |
| Allowed Domain(s) | Restrict SSO to specific email domains | Recommended |
- Click Save.
- Toggle Enable Azure AD SSO to on.

Step 5: Test Azure AD SSO
- Open an incognito/private browser window.
- Navigate to the Udyamo HRMS login page.
- Click Sign in with Microsoft.
- Enter Microsoft 365 credentials for a user whose email matches an Udyamo HRMS employee record.
- Complete any MFA prompts from Azure AD.
- Verify that you are successfully logged in.
Employee Login Flow: Azure AD
- Navigate to the Udyamo HRMS login page.
- Click Sign in with Microsoft.
- If not already signed in to Microsoft 365, enter Microsoft credentials.
- Complete MFA if required by the Azure AD conditional access policy.
- Upon successful authentication, Azure AD redirects to Udyamo HRMS.
- Udyamo HRMS matches the Microsoft email to an employee record and logs the user in.
How SSO Works with Existing Accounts
When an employee first uses SSO to log in, Udyamo HRMS links their SSO identity to their existing account based on the email address match.
Account Linking
| Scenario | Result |
|---|---|
| Employee has a password-based account and the SSO email matches | SSO login succeeds. The account is linked to the SSO provider. The employee can still use password login. |
| Employee does not have an Udyamo HRMS account | SSO login is rejected. An admin must first create the employee record with the matching email. |
| Email in SSO provider does not match any Udyamo HRMS email | SSO login is rejected with an error message. |
| Employee uses both Google and Azure AD | Both can be linked to the same account if both emails match. |
Tip: When onboarding new employees, ensure their Udyamo HRMS email matches their Google Workspace or Azure AD email to enable SSO from day one.
SSO vs. Password Login
SSO does not disable password-based login unless the administrator explicitly configures it.
| Login Method | Availability | Notes |
|---|---|---|
| Email + Password | Always available (unless disabled) | Default method for all users |
| Google SSO | Available when configured and enabled | Requires Google Workspace account |
| Azure AD SSO | Available when configured and enabled | Requires Microsoft 365 account |
| OTP Login | Available when configured and enabled | Passwordless alternative |
Disabling Password Login
If your organization wants to enforce SSO-only login:
- Navigate to Settings > Security > Login Methods.
- Disable Email + Password Login.
- Ensure at least one SSO provider is configured and enabled.
Warning: Before disabling password login, verify that all employees can successfully log in via SSO. Keep at least one administrator account with password access as a fallback in case of SSO provider outages.
Managing SSO Providers
Viewing SSO Configuration
- Navigate to Settings > Security > Single Sign-On.
- The page shows the status of each SSO provider:
| Provider | Status | Details |
|---|---|---|
| Google OAuth2 | Enabled / Disabled | Client ID (masked), allowed domains |
| Azure AD | Enabled / Disabled | Tenant ID (masked), allowed domains |
Updating SSO Configuration
- Click Edit next to the provider you want to update.
- Modify the Client ID, Client Secret, Tenant ID, or allowed domains.
- Click Save.
- Test the updated configuration.
Disabling SSO
- Navigate to Settings > Security > Single Sign-On.
- Toggle the provider off.
- Employees will no longer see the SSO login button for that provider.
Warning: Disabling SSO does not delete the configuration — it only hides the login option. You can re-enable it at any time.
Troubleshooting SSO Issues
Common Problems and Solutions
| Problem | Possible Cause | Solution |
|---|---|---|
| "Account not found" after SSO login | Email in SSO provider does not match any Udyamo HRMS email | Verify the employee's email in both systems matches exactly |
| "Invalid redirect URI" error | The redirect URI in the SSO provider does not match the Udyamo HRMS callback URL | Correct the redirect URI in Google Cloud Console or Azure Portal |
| "Admin consent required" (Azure AD) | The Azure AD admin has not granted consent for the app permissions | Grant admin consent in Azure Portal > App Registrations > API Permissions |
| SSO button not visible on login page | SSO provider is not enabled in Udyamo HRMS settings | Enable the provider in Settings > Security > Single Sign-On |
| Login loops or redirects repeatedly | Cookie or session issue | Clear browser cookies, try incognito mode, or check third-party cookie settings |
| "Access denied" from Google | User's Google account is not in the allowed domain | Add the user's domain to the allowed domains list or check domain restrictions |
| Azure AD conditional access blocks login | Azure AD policy blocks the application | Review Azure AD conditional access policies to allow the Udyamo HRMS app |
Diagnostic Checklist
When troubleshooting SSO, verify the following:
- The SSO provider is enabled in Udyamo HRMS settings.
- The Client ID and Client Secret are correct and not expired.
- The redirect URI in the identity provider matches the Udyamo HRMS callback URL exactly (including https:// and the path).
- The employee's email address in the identity provider matches their Udyamo HRMS email.
- The identity provider has granted the required permissions (API permissions for Azure AD, OAuth scopes for Google).
- The browser allows third-party cookies or the SSO domain is whitelisted.

Security Considerations
| Consideration | Recommendation |
|---|---|
| Client secret rotation | Rotate Azure AD client secrets before expiry. Google OAuth2 secrets do not expire by default but should be rotated periodically. |
| Domain restriction | Always configure allowed domains to prevent unauthorized accounts from attempting SSO. |
| MFA at the IdP | Enable multi-factor authentication in Google Workspace or Azure AD for an additional security layer. |
| Conditional access (Azure AD) | Use Azure AD conditional access policies to restrict login by device, location, or risk level. |
| Account deprovisioning | When an employee leaves, removing them from the identity provider automatically prevents SSO access to Udyamo HRMS. |
| SSO + 2FA | SSO and TOTP 2FA can coexist. If an organization uses SSO with IdP-level MFA, additional 2FA in Udyamo HRMS may be redundant but can be enabled for extra security. |
Quick Reference
| Action | Navigation | Notes |
|---|---|---|
| Configure Google SSO | Settings > Security > SSO > Google OAuth2 | Requires Google Cloud Console setup |
| Configure Azure AD SSO | Settings > Security > SSO > Azure AD | Requires Azure Portal setup |
| Enable/disable SSO | Settings > Security > SSO > Toggle | Immediate effect on login page |
| Test SSO | Open incognito window > Login page > SSO button | Use a matching employee email |
| Disable password login | Settings > Security > Login Methods | Ensure SSO works for all users first |
What Comes Next
With SSO configured, the next chapter covers integrating Udyamo HRMS with Microsoft Teams for in-chat HR actions. Proceed to Chapter 46: MS Teams Integration.
MS Teams Integration
Microsoft Teams is a widely adopted collaboration platform in Indian organizations, particularly those using Microsoft 365. Udyamo HRMS integrates with MS Teams through a dedicated bot that brings key HR actions — leave applications, overtime requests, and attendance — directly into the Teams interface. This chapter covers how to install, configure, and use the Udyamo HRMS Teams bot.
What You Will Learn
- What the Udyamo HRMS Teams bot can do
- How to install the bot in your MS Teams environment
- How the bot authenticates with Udyamo HRMS (token-based)
- How to submit a leave request from Teams
- How to request overtime from Teams
- How to view attendance information from Teams
- How adaptive cards provide interactive forms
- How to troubleshoot common integration issues
Prerequisites
Required: Your organization must have a Microsoft Teams subscription (Microsoft 365 Business Basic or higher).
Required: You must have an Administrator role in Udyamo HRMS to install and configure the Teams integration.
Required: Employees must have matching email addresses in both Udyamo HRMS and Microsoft 365.
Overview of the MS Teams Bot
The Udyamo HRMS bot for Microsoft Teams provides a conversational interface for common HR actions. Instead of opening the Udyamo HRMS web application, employees can perform quick tasks directly in their Teams chat window.
Bot Capabilities
| Capability | Description | Available To |
|---|---|---|
| Submit Leave Request | Apply for leave by specifying the category, dates, and reason — all within Teams | All employees |
| Request Overtime | Submit an overtime request with date, hours, and justification | All employees |
| View Attendance | Check today's attendance status, check-in/out time, and recent attendance summary | All employees |
| Leave Approval Notifications | Receive a notification in Teams when a leave request needs approval | Managers |
| Overtime Approval Notifications | Receive a notification when an overtime request needs approval | Managers |
| Approval Actions | Approve or reject leave and overtime requests directly from the Teams notification | Managers |
How the Bot Communicates
The bot uses adaptive cards — interactive, structured UI elements within Teams messages. Adaptive cards allow the bot to render forms, buttons, and data tables directly in the chat, providing a richer experience than plain text messages.

Installing the Udyamo HRMS Bot in Teams
Step 1: Obtain the Teams App Package
- Log in to Udyamo HRMS as an administrator.
- Navigate to Settings > Integrations > Microsoft Teams.
- Click Download Teams App Package.
- A
.zipfile containing the Teams app manifest is downloaded to your device.
Tip: The app package is a standard Teams app manifest that describes the bot, its permissions, and its capabilities. It does not contain any sensitive data.
Step 2: Upload to Microsoft Teams Admin Center
If your organization uses the Teams Admin Center for app management:
- Log in to the Microsoft Teams Admin Center.
- Navigate to Teams apps > Manage apps.
- Click Upload new app.
- Select the
.zipfile downloaded from Udyamo HRMS. - Review the app details and permissions.
- Click Allow to make the app available to your organization.
Step 3: Alternative — Sideload for Testing
For smaller organizations or testing purposes, you can sideload the app directly:
- Open Microsoft Teams (desktop or web).
- Click the Apps icon in the left sidebar.
- Click Manage your apps at the bottom.
- Click Upload an app > Upload a custom app.
- Select the
.zipfile. - Click Add to install the bot.
Warning: Sideloading must be enabled in your Teams admin settings. If the option is not available, contact your Microsoft 365 administrator.
Step 4: Configure the Integration in Udyamo HRMS
- Navigate to Settings > Integrations > Microsoft Teams in Udyamo HRMS.
- Enter the required configuration details:
| Field | Description | Required |
|---|---|---|
| Bot ID | The Microsoft Bot Framework bot ID (from the Azure Bot registration) | Yes |
| Bot Secret | The bot's client secret for token-based authentication | Yes |
| Tenant ID | Your Microsoft 365 tenant ID | Yes |
| Service URL | The Teams service URL for sending proactive messages | Yes |
- Click Save.
- Click Test Connection to verify the bot can communicate with Teams.

Tip: The Bot ID and Bot Secret are obtained when you register a bot with the Azure Bot Service. Your IT administrator may need to complete this step if it has not been done already.
Token-Based Authentication
The Udyamo HRMS Teams bot uses token-based authentication to securely link a Teams user to their Udyamo HRMS employee account.
How Authentication Works
- When an employee first interacts with the bot in Teams, the bot sends an authentication card asking the employee to sign in.
- The employee clicks Sign In on the adaptive card.
- A browser window opens, directing the employee to the Udyamo HRMS login page.
- The employee logs in using their Udyamo HRMS credentials (email/password, SSO, or OTP).
- Upon successful login, Udyamo HRMS generates a secure token and returns it to the bot.
- The bot stores the token for the Teams user's session.
- All subsequent bot interactions are authenticated using this token.
Token Details
| Property | Value |
|---|---|
| Token type | Bearer token |
| Expiry | Configurable (default: 24 hours) |
| Refresh | Automatic refresh when the token nears expiry, if the user has an active Teams session |
| Revocation | Token is revoked when the employee's Udyamo HRMS account is deactivated |
Warning: The authentication token links a specific Teams user to a specific Udyamo HRMS account. If an employee uses a shared Teams account (not recommended), the bot will associate actions with whichever Udyamo HRMS account authenticated last.

Using the Bot: Submit a Leave Request
Employees can apply for leave directly from Microsoft Teams without opening the Udyamo HRMS web application.
Step-by-Step: Apply for Leave in Teams
- Open Microsoft Teams.
- Find the Udyamo HRMS bot in your chat list (or search for it in the Apps section).
- Type "apply leave" or "leave" in the chat.
- The bot responds with an adaptive card containing a leave application form:
| Field | Description |
|---|---|
| Leave Category | Dropdown to select the leave type (Casual Leave, Sick Leave, etc.) |
| Start Date | Date picker for the first day of leave |
| End Date | Date picker for the last day of leave |
| Half Day | Toggle if applying for a half day |
| Reason | Text field for the leave reason |
- Fill in the form fields on the adaptive card.
- Click Submit.
- The bot confirms the submission and shows the leave request details.
- The leave request appears in Udyamo HRMS with Pending status, just as if it had been submitted through the web application.

Tip: The leave categories shown in the Teams form match the leave categories configured in Udyamo HRMS. If a category is missing, check your leave category settings in the web application.
Using the Bot: Request Overtime
Employees who need to log overtime hours can submit requests through the Teams bot.
Step-by-Step: Request Overtime in Teams
- Open the Udyamo HRMS bot chat in Teams.
- Type "overtime" or "request overtime".
- The bot responds with an overtime request adaptive card:
| Field | Description |
|---|---|
| Date | The date of the overtime work |
| Hours | Number of overtime hours to claim |
| Reason | Justification for the overtime work |
- Fill in the details.
- Click Submit.
- The bot confirms the submission.
- The overtime request appears in Udyamo HRMS for manager approval.
Using the Bot: View Attendance
Employees can quickly check their attendance status without leaving Teams.
Step-by-Step: Check Attendance in Teams
- Open the Udyamo HRMS bot chat in Teams.
- Type "attendance" or "my attendance".
- The bot responds with an attendance summary card showing:
| Information | Description |
|---|---|
| Today's Status | Present, Absent, On Leave, or Not Checked In |
| Check-In Time | Time of today's check-in (if recorded) |
| Check-Out Time | Time of today's check-out (if recorded) |
| Hours Worked | Total hours worked today |
| This Month | Summary — present days, absent days, leave days, late arrivals |

Tip: The attendance data shown by the bot is read from the same database as the web application. Any corrections made in the web application are immediately reflected in the bot's responses.
Manager Notifications and Approvals
The Teams bot also serves managers by delivering actionable notifications for leave and overtime requests.
Leave Approval Notifications
When an employee submits a leave request, the reporting manager receives a Teams notification:
- The bot sends an adaptive card to the manager's chat with the following details:
- Employee name
- Leave category
- Date range
- Reason
- Current leave balance
- The card includes two action buttons: Approve and Reject.
- The manager clicks Approve or Reject directly on the card.
- If rejecting, an optional text field appears for the rejection reason.
- The bot confirms the action and notifies the employee of the decision.
Overtime Approval Notifications
Similar to leave approvals:
- The manager receives an adaptive card with overtime request details.
- The card includes Approve and Reject buttons.
- The manager takes action directly from Teams.

Tip: Approving or rejecting through the Teams bot has the exact same effect as doing it through the Udyamo HRMS web application. The action is logged in the system's audit trail.
Adaptive Cards Reference
Adaptive cards are the primary UI mechanism for the Teams bot. They provide structured, interactive content within Teams messages.
What Adaptive Cards Support
| Element | Description | Used For |
|---|---|---|
| Text blocks | Display text with formatting | Showing information, instructions |
| Input fields | Text boxes, date pickers, dropdowns | Collecting user input (leave dates, reasons) |
| Action buttons | Clickable buttons that trigger actions | Submit, Approve, Reject, Cancel |
| Fact sets | Key-value pairs displayed in a table format | Attendance summary, leave balance |
| Image | Display images | Avatars, status icons |
Card Types Used by Udyamo HRMS Bot
| Card | Trigger | Content |
|---|---|---|
| Authentication Card | First interaction with the bot | Sign-in button and instructions |
| Leave Application Card | Employee types "apply leave" | Form with leave category, dates, reason |
| Overtime Request Card | Employee types "overtime" | Form with date, hours, reason |
| Attendance Summary Card | Employee types "attendance" | Today's status and monthly summary |
| Leave Approval Card | Employee submits a leave request | Request details with Approve/Reject buttons (sent to manager) |
| Overtime Approval Card | Employee submits an overtime request | Request details with Approve/Reject buttons (sent to manager) |
| Confirmation Card | After any submission or action | Success/failure message with details |
Bot Commands Reference
| Command | Aliases | Response |
|---|---|---|
help | hi, hello | Displays available commands and a brief description of each |
apply leave | leave, request leave | Opens the leave application adaptive card |
overtime | request overtime, ot | Opens the overtime request adaptive card |
attendance | my attendance, status | Displays the attendance summary card |
balance | leave balance | Shows current leave balances by category |
sign out | logout | Revokes the bot's authentication token for the current user |
Setting Up the Integration — Summary Checklist
Use this checklist to ensure all setup steps are completed:
| Step | Action | Status |
|---|---|---|
| 1 | Register a bot with Azure Bot Service | |
| 2 | Download the Teams app package from Udyamo HRMS | |
| 3 | Upload the app package to Teams Admin Center (or sideload) | |
| 4 | Enter Bot ID, Bot Secret, and Tenant ID in Udyamo HRMS | |
| 5 | Test the connection from Udyamo HRMS settings | |
| 6 | Have a test employee authenticate with the bot in Teams | |
| 7 | Test leave submission, overtime request, and attendance query | |
| 8 | Test manager notification and approval flow | |
| 9 | Roll out to the organization via Teams app policy |
Troubleshooting
Common Issues and Solutions
| Problem | Possible Cause | Solution |
|---|---|---|
| Bot does not respond | Bot is not installed or authentication has expired | Reinstall the bot or type "sign out" and re-authenticate |
| "Authentication failed" | Token has expired or employee account is deactivated | Re-authenticate by clicking Sign In; check account status in Udyamo HRMS |
| Leave categories not showing | Leave module not enabled or no categories configured | Enable the Leave feature and configure categories in Udyamo HRMS |
| Manager not receiving approval notifications | Reporting manager not assigned to the employee | Assign a reporting manager in the employee's profile |
| Bot not found in Teams | App not uploaded or not approved by Teams admin | Upload the app package or contact your Microsoft 365 admin |
| Adaptive card buttons not working | Teams client version too old | Update Microsoft Teams to the latest version |
| "Service URL invalid" error | Incorrect service URL in Udyamo HRMS configuration | Verify the service URL matches the Teams environment (commercial, GCC, etc.) |
| Bot works for some users but not others | Inconsistent email matching | Ensure all employees have matching emails in both Teams and Udyamo HRMS |
Checking Bot Logs
- Navigate to Settings > Integrations > Microsoft Teams in Udyamo HRMS.
- Click View Logs (if available).
- Review recent bot interactions for errors or authentication failures.
Security Considerations
| Consideration | Details |
|---|---|
| Data in transit | All communication between Teams and Udyamo HRMS is encrypted via HTTPS/TLS |
| Token storage | Authentication tokens are stored securely and scoped to individual users |
| No password storage | The bot never stores or transmits Udyamo HRMS passwords — authentication is token-based |
| Audit trail | All actions performed via the bot are logged in Udyamo HRMS just like web actions |
| Deprovisioning | When an employee is terminated in Udyamo HRMS, their bot token is automatically revoked |
Best Practices
- Roll out in phases. Start with a pilot group to test the bot before deploying to the entire organization.
- Train employees on bot commands. Share the command reference so employees know what they can do.
- Ensure email consistency. The bot relies on email matching — mismatched emails will cause authentication failures.
- Monitor usage. Track how many employees use the bot vs. the web app to gauge adoption.
- Keep the Teams app updated. When Udyamo HRMS releases bot updates, download the new app package and upload it to Teams.
- Use the bot for quick actions. For complex tasks (e.g., salary configuration, report generation), continue using the web application.
What Comes Next
With security and integrations covered, the final part of the guide addresses subscription and license management. Proceed to Chapter 47: License Management.
License Management
Udyamo HRMS operates on a subscription-based licensing model. Your organization's subscription determines which features are available, how many employees can use the system, and how long the service remains active. This chapter covers subscription plans, license assignment, renewal, and administration.
What You Will Learn
- How to navigate to the Subscriptions section
- The available subscription plans and their features
- How to view your current subscription details
- How license assignment works (manual vs. auto-assignment)
- How to assign and unassign licenses to employees
- How to manage license quantity
- How subscription renewal and auto-renewal work
- How to upgrade or downgrade your plan
- The subscription request workflow
- How to audit license usage with the Active Users report
Prerequisites
Required: You must have an Administrator role to view and manage subscriptions and licenses.
Navigating to Subscriptions
- Click Settings in the left sidebar.
- Select Subscription (or navigate to Settings > Billing > Subscription).
- The Subscription page displays your current plan details, license usage, and billing information.

Subscription Plans
Udyamo HRMS offers four subscription tiers, each designed for organizations at different stages of growth.
Plan Comparison
| Feature | Free Trial | Basic | Pro | Enterprise |
|---|---|---|---|---|
| Duration | 14 days | Monthly / Annual | Monthly / Annual | Custom |
| Employee Limit | 25 | Based on purchased licenses | Based on purchased licenses | Unlimited (negotiated) |
| Employee Management | Yes | Yes | Yes | Yes |
| Attendance & Shifts | Yes | Yes | Yes | Yes |
| Leave Management | Yes | Yes | Yes | Yes |
| Payroll | Yes | Yes | Yes | Yes |
| Statutory Compliance | Limited | Yes | Yes | Yes |
| Loans & Advances | No | Yes | Yes | Yes |
| Reimbursements | No | Yes | Yes | Yes |
| Reports | Basic | Standard | Advanced | Advanced + Custom |
| Announcements | Yes | Yes | Yes | Yes |
| Document Management | Limited | Yes | Yes | Yes |
| SSO (Google / Azure AD) | No | No | Yes | Yes |
| MS Teams Integration | No | No | Yes | Yes |
| Two-Factor Authentication | Yes | Yes | Yes | Yes |
| API Access | No | No | Limited | Full |
| Priority Support | No | Email + Chat | Dedicated account manager | |
| Custom Branding | No | No | No | Yes |
Tip: The Free Trial includes most features so you can evaluate the platform comprehensively before committing to a paid plan. No credit card is required for the trial.
Plan Details
Free Trial
- Duration: 14 days from registration
- Employee limit: 25
- Purpose: Evaluate Udyamo HRMS features and suitability for your organization
- Conversion: At the end of the trial, you can upgrade to a paid plan. If you do not upgrade, the account enters a read-only state — data is preserved but no new actions can be performed.
Basic Plan
- Best for: Small businesses with 10-50 employees
- Core features: Employee management, attendance, leave, payroll, statutory compliance
- Support: Email support during business hours
Pro Plan
- Best for: Growing organizations with 50-500 employees
- Enhanced features: Everything in Basic, plus SSO, MS Teams integration, advanced reports, loans, reimbursements, advances
- Support: Email and chat support with faster response times
Enterprise Plan
- Best for: Large organizations with 500+ employees or complex requirements
- Full features: Everything in Pro, plus custom branding, API access, dedicated support, custom report builders
- Support: Dedicated account manager, phone support, SLA-backed response times
- Pricing: Custom pricing based on negotiated terms
Viewing Current Subscription Details
The Subscription page shows all relevant details about your current plan.
Subscription Information Fields
| Field | Description |
|---|---|
| Plan Name | Your current subscription plan (Free Trial, Basic, Pro, Enterprise) |
| Status | Current status — Active, Trial, Expired, Cancelled |
| Term Start Date | The date your current billing term began |
| Term End Date | The date your current billing term ends |
| Billing Cycle | Monthly or Annual |
| License Quantity | Total number of employee licenses purchased |
| Licenses Used | Number of licenses currently assigned to employees |
| Licenses Available | Remaining licenses available for assignment |
| Auto-Renewal | Whether the subscription automatically renews at term end |
| Next Billing Date | The date of the next billing charge |
| Amount | The subscription cost per billing cycle |

Understanding Licenses
A license in Udyamo HRMS represents the right for one employee to access the system. Each active employee consumes one license. The total number of licenses purchased determines how many employees can use the platform simultaneously.
License States
| State | Description |
|---|---|
| Assigned | The license is allocated to a specific employee. That employee can log in and use the system. |
| Unassigned | The license is available in the pool. It can be assigned to a new or existing employee. |
| Over-limit | The organization has more active employees than licenses. Excess employees may have restricted access. |
License vs. Employee Count
| Count | Description |
|---|---|
| Total Employees | All employee records in the system (Active, Inactive, On Notice, Terminated) |
| Active Employees | Employees with Active or On Notice status who require system access |
| Licensed Employees | Employees who have a license assigned and can fully use the system |
| License Quantity | The number of licenses purchased in the subscription |
Warning: If you have more active employees than licenses, some employees may not be able to log in or access certain features. Monitor your license count closely, especially during hiring periods.
License Assignment
Udyamo HRMS supports two modes of license assignment: automatic and manual.
Automatic License Assignment
When automatic assignment is enabled, the system automatically assigns a license to every new employee added to the organization (provided licenses are available in the pool).
Enabling Auto-Assignment
- Navigate to Settings > Subscription.
- Locate the License Assignment section.
- Toggle Auto-Assign Licenses to on.
- Click Save.
How auto-assignment works:
| Event | System Action |
|---|---|
| New employee added (Active status) | A license is automatically assigned from the available pool |
| Employee status changed to Terminated | The license is automatically released back to the pool |
| Employee status changed to Inactive | The license may be retained or released (configurable) |
| No licenses available in the pool | The new employee is created but without a license. Admin receives a notification. |
Tip: Auto-assignment is recommended for most organizations. It ensures new employees get immediate access without manual intervention.
Manual License Assignment
When automatic assignment is disabled, administrators must explicitly assign licenses to employees.
Assigning a License Manually
- Navigate to Settings > Subscription > Licenses (or Employees > License Management).
- The page shows a list of employees and their license status.
- Locate the employee who needs a license.
- Click Assign License next to their name.
- The employee's license status changes to Assigned.
Unassigning a License
- Navigate to the license management page.
- Locate the employee whose license you want to remove.
- Click Unassign License.
- Confirm the action.
- The license is returned to the available pool.
Warning: Unassigning a license prevents the employee from logging in and using Udyamo HRMS. Use this for employees who are temporarily inactive or who do not require system access (e.g., contractors managed outside the system).
License Assignment Table
The license management page displays:
| Column | Description |
|---|---|
| Employee Name | The employee's full name |
| Employee ID | Their unique identifier |
| Department | Their department |
| Status | Active, Inactive, On Notice, Terminated |
| License Status | Assigned or Unassigned |
| Last Login | Date and time of the employee's last login |
| Actions | Assign / Unassign buttons |

Managing License Quantity
As your organization grows, you may need to purchase additional licenses.
Adding Licenses
- Navigate to Settings > Subscription.
- Click Change Quantity (or Add Licenses).
- Enter the new total license quantity.
- The system calculates the prorated cost for the remainder of the current billing term.
- Review the cost summary.
- Click Confirm to process the purchase.
- The new licenses are immediately available for assignment.
Reducing Licenses
- Navigate to Settings > Subscription.
- Click Change Quantity.
- Enter a lower total license quantity.
- The system checks that the new quantity is not less than the current number of assigned licenses.
- If valid, the reduction takes effect at the next billing renewal (you retain current licenses until term end).
- If the new quantity is less than assigned licenses, you must first unassign licenses from some employees.
Tip: Plan your license purchases quarterly. Review your headcount forecast and adjust licenses proactively to avoid disruptions.
Subscription Renewal
Auto-Renewal
By default, subscriptions auto-renew at the end of each billing term.
| Setting | Description |
|---|---|
| Auto-Renewal Enabled | The subscription automatically renews for the same plan and quantity. Payment is charged on the renewal date. |
| Auto-Renewal Disabled | The subscription expires at the term end date. You must manually renew to continue using the service. |
Managing Auto-Renewal
- Navigate to Settings > Subscription.
- Locate the Auto-Renewal toggle.
- Switch it on or off.
- Click Save.
Warning: If auto-renewal is off and the subscription expires, the system enters a read-only state. Employees can log in and view data, but cannot perform actions (submit leave, run payroll, etc.). Renew promptly to restore full functionality.
Manual Renewal
If auto-renewal is disabled:
- Navigate to Settings > Subscription before the term end date.
- Click Renew Subscription.
- Confirm the plan and license quantity.
- Process the payment.
- The subscription is renewed for a new term.
Upgrading or Downgrading Plans
Upgrading
You can upgrade from a lower-tier plan to a higher-tier plan at any time.
- Navigate to Settings > Subscription.
- Click Change Plan (or Upgrade).
- Select the desired plan (e.g., Basic to Pro, or Pro to Enterprise).
- Review the feature differences and cost changes.
- The system calculates the prorated cost for the remaining term.
- Click Confirm Upgrade.
- New features are available immediately.
Downgrading
Downgrading to a lower-tier plan is also possible, but with restrictions.
- Navigate to Settings > Subscription.
- Click Change Plan (or Downgrade).
- Select the target plan.
- The system checks for feature dependencies:
| Check | Description |
|---|---|
| SSO configured | If downgrading from Pro to Basic, SSO will be disabled |
| Teams integration active | Teams bot will be disconnected on downgrade |
| License count | If the lower plan supports fewer employees, you may need to reduce licenses |
- Acknowledge the feature changes.
- The downgrade takes effect at the next billing renewal. You retain current features until the term ends.
Warning: Downgrading does not delete data. Features that are no longer available are simply hidden. If you upgrade again later, the data is still there.
Subscription Request Workflow
For organizations with procurement processes, Udyamo HRMS supports a subscription request workflow using the SubscriptionRequest model.
How It Works
- An administrator initiates a subscription change (new plan, additional licenses, renewal).
- Instead of processing immediately, the system creates a Subscription Request.
- The request is routed to an approver (e.g., finance manager or procurement head).
- The approver reviews the request details — plan, quantity, cost, and term.
- The approver approves or rejects the request.
- If approved, the subscription change is processed.
- If rejected, the administrator is notified with the rejection reason.
Request Statuses
| Status | Description |
|---|---|
| Pending | The request has been submitted and is awaiting approval |
| Approved | The request has been approved and the subscription change is being processed |
| Rejected | The request was declined |
| Completed | The approved request has been fully processed |
| Cancelled | The request was withdrawn before approval |
Tip: The subscription request workflow is optional and configurable. Smaller organizations may choose to skip the approval step and process subscription changes immediately.
Viewing Subscription History
Udyamo HRMS maintains a complete history of all subscription-related events.
Accessing Subscription History
- Navigate to Settings > Subscription.
- Click History (or scroll to the Subscription History section).
- The history log shows:
| Column | Description |
|---|---|
| Date | When the event occurred |
| Event | Type of event (Creation, Renewal, Upgrade, Downgrade, License Change, Cancellation) |
| Previous Plan | The plan before the change |
| New Plan | The plan after the change |
| License Change | Any change in license quantity |
| Amount | The cost associated with the event |
| Status | Completed, Pending, Failed |

Active Users Report for License Audit
The Active Users Report (detailed in Chapter 43: Reports) is your primary tool for auditing license usage.
Running a License Audit
- Navigate to Reports > Active Users Report.
- Review the report columns:
- Employee name and ID
- Account status (Active, Inactive, Terminated)
- License assigned (Yes/No)
- Last login date
- Days since last login
- Identify:
- Unused licenses: Employees with assigned licenses who have not logged in for 30+ days
- Unneeded licenses: Terminated or inactive employees who still have licenses assigned
- License shortfall: Active employees without assigned licenses
- Take action:
- Unassign licenses from inactive or terminated employees
- Assign available licenses to active employees who need them
- Purchase additional licenses if the shortfall cannot be resolved by reallocation
Tip: Run the Active Users Report monthly. Align it with your monthly headcount review to ensure license counts stay in sync with your workforce.
Subscription Status Reference
| Status | Description | User Experience |
|---|---|---|
| Active | Subscription is current and paid. All features are available. | Full access |
| Trial | Organization is in the 14-day free trial period. | Full access with trial limitations (employee cap) |
| Past Due | Payment is overdue. Grace period in effect. | Full access, but payment reminders are shown |
| Expired | The subscription term has ended and was not renewed. | Read-only mode — view data but cannot perform actions |
| Cancelled | The subscription was explicitly cancelled by the administrator. | Read-only mode; data retained for the data retention period |
| Suspended | The account has been suspended (e.g., for policy violations or extended non-payment). | No access; contact support |
Common Errors and Solutions
| Problem | Cause | Solution |
|---|---|---|
| "License limit reached" when adding an employee | All purchased licenses are assigned | Purchase additional licenses or unassign from inactive users |
| Employee cannot log in | No license assigned | Assign a license from Settings > Subscription > Licenses |
| Subscription shows "Expired" | Auto-renewal was off and the term ended | Renew the subscription from Settings > Subscription |
| Payment failed | Credit card expired or insufficient funds | Update payment method in Settings > Billing |
| Cannot downgrade | Current usage exceeds the lower plan's limits | Reduce license count or disable features that are not in the target plan |
| Subscription request stuck in Pending | Approver has not reviewed the request | Contact the approver or escalate through your procurement process |
Best Practices
- Start with the Free Trial. Evaluate all features before committing to a paid plan.
- Choose annual billing for savings. Annual subscriptions typically offer a discount compared to monthly billing.
- Enable auto-assignment. Reduce administrative overhead by letting the system handle license assignment.
- Audit licenses monthly. Use the Active Users Report to keep license counts aligned with your workforce.
- Plan for growth. Purchase licenses slightly ahead of hiring to avoid delays when onboarding new employees.
- Keep auto-renewal on. Avoid service interruptions caused by forgotten renewals.
- Use the subscription request workflow for larger organizations where procurement approval is required for purchases.
Quick Reference
| Action | Navigation | Notes |
|---|---|---|
| View subscription | Settings > Subscription | Shows plan, term, and license usage |
| Assign licenses | Settings > Subscription > Licenses | Manual or auto-assignment |
| Change license quantity | Settings > Subscription > Change Quantity | Prorated billing for mid-term changes |
| Upgrade plan | Settings > Subscription > Change Plan | Immediate feature activation |
| Downgrade plan | Settings > Subscription > Change Plan | Takes effect at next renewal |
| View history | Settings > Subscription > History | All subscription events logged |
| Audit licenses | Reports > Active Users Report | Monthly review recommended |
What Comes Next
This is the final chapter of the Udyamo HRMS User Guide. For quick reference on terms and concepts used throughout this guide, see the Glossary.
Glossary
This glossary defines key terms, abbreviations, and concepts used throughout the Udyamo HRMS User Guide. Terms are organized alphabetically for quick reference.
Accrual
The gradual accumulation of leave balance over time. For example, an employee may accrue 1.5 days of Privilege Leave per month, resulting in 18 days over a full year. Accrual rules are defined in leave policies.
Annual CTC
See Cost to Company (CTC).
Attendance Policy
A set of rules that govern how attendance is tracked and evaluated for employees. Attendance policies define acceptable check-in/check-out times, grace periods for late arrivals, half-day thresholds, and penalties for absences. Policies are assigned to employees based on their department, office, or shift.
Bank Advice
A file or report generated by the payroll system that lists all salary payments for a given payrun period. The bank advice file is uploaded to the organization's bank to process bulk salary transfers to employee bank accounts. Formats vary by bank (typically CSV or Excel).
Basic Pay
The fixed, base component of an employee's salary, before any allowances or deductions are applied. Basic pay is typically 40-50% of the CTC and serves as the calculation basis for several statutory components, including EPF, gratuity, and leave encashment.
Carry-Over
The transfer of unused leave balance from one fiscal year (or leave period) to the next. Carry-over limits are configured in the leave policy — for example, a policy may allow up to 10 days of Privilege Leave to be carried forward. Any balance exceeding the carry-over limit is forfeited or encashed, depending on the policy.
Check-In
The act of recording an employee's arrival at work. In Udyamo HRMS, check-in can be performed via the web application, a biometric device, facial recognition, or the MS Teams bot. The check-in time is used for attendance calculation and overtime tracking.
Check-Out
The act of recording an employee's departure from work. Check-out captures the end of the work day and is used to calculate total hours worked. Missed check-outs may require manual correction by an administrator.
Compensatory Off (Comp Off)
A paid day off granted to an employee who has worked on a scheduled holiday or weekly off day. Compensatory off is earned (not allocated in advance) and typically has an expiry period within which it must be used.
Cost to Company (CTC)
The total annual expenditure an organization incurs for an employee. CTC includes gross salary (basic pay + all allowances), employer contributions to EPF and ESI, gratuity provisions, and any other benefits. CTC is the headline compensation figure used in offer letters and HR reporting.
DA (Dearness Allowance)
A salary component designed to offset the impact of inflation on employees' purchasing power. DA is calculated as a percentage of basic pay and is common in government and public-sector organizations. In the private sector, DA may be included or substituted by other allowances.
Deduction
Any amount subtracted from an employee's gross pay to arrive at net pay. Deductions include statutory items (EPF employee contribution, ESI employee contribution, Professional Tax, TDS) and non-statutory items (loan EMIs, advance recovery, voluntary PF contributions).
Department
An organizational unit that groups employees by function or business area (e.g., Engineering, Human Resources, Finance, Sales). Departments are used for filtering, reporting, leave policy assignment, and approval routing.
Designation
The job title or position held by an employee within a department (e.g., Software Engineer, HR Manager, Accounts Executive). Designations may be linked to specific salary structures, leave policies, or notice period configurations.
Earning
Any amount added to an employee's compensation. Earnings include basic pay, HRA, DA, special allowances, bonuses, overtime pay, and other variable components. Total earnings before deductions constitute the gross pay.
ECR (Electronic Challan-cum-Return)
The monthly return filed by employers with the EPFO (Employees' Provident Fund Organisation) that details employee-wise PF contributions. The ECR is uploaded to the EPFO Unified Portal and triggers the PF payment challan.
EMI (Equated Monthly Installment)
A fixed monthly payment made by an employee to repay a loan. In Udyamo HRMS, EMIs for employee loans are automatically deducted from salary during payroll processing. Each EMI consists of principal and interest components (if interest is applicable).
Employee ID
A unique alphanumeric identifier assigned to each employee within the organization. The Employee ID is used across all modules — attendance, leave, payroll, and reporting — as the primary reference for the employee. It is distinct from the system-generated database ID.
EPF (Employees' Provident Fund)
A mandatory retirement savings scheme under the Employees' Provident Funds and Miscellaneous Provisions Act, 1952. Both the employee and employer contribute 12% of the employee's basic pay (plus DA, if applicable) to the fund. The employee's contribution goes to the EPF account; the employer's contribution is split between EPF (3.67%) and EPS (8.33%).
ESIC (Employees' State Insurance Corporation)
The statutory body that administers the Employees' State Insurance (ESI) scheme — a social security program providing medical, sickness, maternity, disability, and dependent benefits. Applicable to employees earning below the ESI wage ceiling.
ESI (Employees' State Insurance)
A social security scheme providing medical and cash benefits to employees and their dependents. Employees contribute 0.75% and employers contribute 3.25% of the employee's gross wages. Applicable to employees earning up to the ESI wage ceiling (currently INR 21,000 per month).
Facial Recognition
A biometric attendance method that identifies employees by scanning their facial features. Udyamo HRMS supports facial recognition through compatible attendance devices and the mobile application, providing a contactless check-in/check-out mechanism.
Fiscal Year
The 12-month accounting period used by the organization for financial reporting, tax calculations, and leave year processing. In India, the standard fiscal year runs from April 1 to March 31. Udyamo HRMS uses the configured fiscal year for payroll, TDS calculations, and leave year-end processing.
Full-and-Final Settlement (F&F)
The financial closure process when an employee exits the organization. The F&F calculation accounts for all pending earnings (salary, leave encashment, gratuity, reimbursements) and all recoveries (outstanding loans, advances, notice period buyout). The net amount determines the final payment or recovery.
Geo-Fencing
A location-based attendance feature that restricts employee check-in to a defined geographic area around the office. When geo-fencing is enabled, the system uses the employee's device GPS to verify they are within the permitted radius before accepting the check-in.
Gratuity
A statutory benefit payable to employees who have completed five or more years of continuous service, as per the Payment of Gratuity Act, 1972. Gratuity is calculated as: (Last drawn basic + DA) x 15 x (Years of service) / 26. The current maximum gratuity payable under the Act is INR 20,00,000.
Gross Pay
The total earnings of an employee before any deductions are applied. Gross pay is the sum of all earning components — basic pay, HRA, DA, special allowances, overtime pay, bonuses, and other variable earnings for the payroll period.
Half Day
An attendance status indicating that the employee worked for only half of the scheduled shift duration. Half days may be voluntary (half-day leave) or marked by the system when the employee's working hours fall below the full-day threshold but above the absent threshold defined in the attendance policy.
Holiday
A calendar date on which employees are not required to work, as declared by the organization. Holidays include national holidays (Republic Day, Independence Day), state-specific holidays, and company-specific days off. Holidays are configured in the holiday calendar and affect attendance tracking, leave calculations, and notice period computations.
HRA (House Rent Allowance)
A salary component provided to employees to meet rental housing expenses. HRA is partially or fully exempt from income tax under Section 10(13A) of the Income Tax Act, subject to conditions. HRA is typically calculated as a percentage of basic pay (commonly 40-50%).
IFSC (Indian Financial System Code)
An 11-character alphanumeric code assigned by the Reserve Bank of India to every bank branch in India. The IFSC is required in employee bank details for processing salary transfers via NEFT, RTGS, or IMPS. Format: first four characters identify the bank, fifth is 0, and the last six identify the branch.
Leave Balance
The number of leave days available to an employee under a specific leave category at any given point. Leave balance is determined by the leave policy (accrual rules, carry-over), reduced by approved leave consumption, and may increase through accruals or carry-over credits.
Leave Category
A classification of time off available to employees (e.g., Casual Leave, Sick Leave, Privilege Leave, Maternity Leave). Each leave category has a name, type (paid or unpaid), and is associated with leave policies that define entitlement, accrual, and usage rules.
Leave Policy
A set of rules governing how leave is earned, consumed, and managed for a specific leave category. Leave policies define annual entitlement, accrual frequency, carry-over limits, maximum accumulation, encashment eligibility, and other leave behavior rules.
LOP (Loss of Pay)
A payroll deduction that occurs when an employee is absent without available paid leave balance. LOP days reduce the employee's gross pay on a pro-rata basis: the salary is calculated for actual paid days (working days minus LOP days). LOP may also result from unapproved absences or exhausted leave balances.
Net Pay
The amount credited to the employee's bank account after all deductions are subtracted from gross pay. Net Pay = Gross Pay - (EPF + ESI + Professional Tax + TDS + Loan EMI + Other Deductions). This is the take-home salary.
Notice Period
The duration an employee must continue working after submitting their resignation, as defined by the employment contract and the organization's resignation settings. Common notice periods in India range from 30 to 90 days. The notice period allows the organization to plan for knowledge transfer and replacement hiring.
Off-Cycle Payroll
A payroll run conducted outside the regular monthly payroll schedule. Off-cycle payrolls are used for one-time payments (bonuses, incentives), salary corrections, arrears, or final settlement payouts for departing employees.
Office
A physical location or branch where employees are based. Offices are configured with an address, timezone, and may have location-specific settings (holiday calendars, professional tax slabs, attendance policies). Employees are assigned to one or more offices.
One-Time Payment
A non-recurring payment made to an employee outside the regular salary structure. Examples include performance bonuses, festival allowances, referral bonuses, or ad-hoc reimbursements. One-time payments are typically processed through off-cycle payroll.
Overtime
Hours worked by an employee beyond their scheduled shift duration. Overtime may be voluntary or mandatory and is subject to approval. Overtime compensation is calculated based on the overtime policy (e.g., 1.5x or 2x the hourly rate). Overtime requests are submitted by employees and approved by managers.
PAN (Permanent Account Number)
A 10-character alphanumeric identifier issued by the Indian Income Tax Department to individuals and entities. PAN is mandatory for salary payments exceeding the taxable threshold and is used for TDS filing, Form 16 generation, and income tax return filing. Format: ABCDE1234F.
Pay Schedule
The frequency at which an organization processes payroll and pays employees. The most common pay schedule in India is monthly (typically at the end of each calendar month). Udyamo HRMS supports monthly payroll processing.
Payroll Record
The detailed salary calculation for a single employee for a specific payroll period. Each payroll record contains the employee's earnings (each component), deductions (each component), gross pay, net pay, LOP days, paid days, and any special adjustments.
Payrun
The process of calculating and finalizing salaries for all employees for a given payroll period. A payrun involves computing each employee's earnings and deductions, applying statutory rules, generating payroll records, and producing payslips and bank advice files. See Chapter 28: Running Payroll.
Payslip
A document issued to each employee after a payrun that itemizes their earnings, deductions, and net pay for the payroll period. Payslips are accessible through the employee self-service portal and can be downloaded as PDF files.
Permission
A granular access right assigned to a role that determines what actions a user can perform in the system. Examples include "can approve leave," "can run payroll," "can view salary reports," and "can manage employees." Permissions are grouped into roles for easier administration.
Professional Tax (PT)
A state-level tax levied on salaried individuals and professionals in India. Professional tax rates and slabs vary by state. The employer is responsible for deducting PT from the employee's salary and remitting it to the respective state government. The maximum PT in any state is INR 2,500 per year.
Pro-Rata
A proportional calculation based on the number of days or months actually worked versus the full period. Pro-rata calculations are used for salary (when an employee joins or leaves mid-month), leave accrual (when joining mid-year), and other time-dependent computations.
Reimbursement
A payment made by the organization to an employee for expenses incurred on behalf of the company. Reimbursement categories include travel, medical, communication, and other business expenses. Employees submit claims with receipts, which are reviewed and approved before disbursement.
Resignation
A formal notice by an employee of their intention to leave the organization. In Udyamo HRMS, resignations follow a workflow: submission, review (pending), approval or rejection, notice period, offboarding, and completion. See Chapter 39: Resignations & Notice Period.
Role
A named collection of permissions that defines what a user can do in Udyamo HRMS. Standard roles include Administrator, HR Manager, Team Manager, and Employee. Custom roles can be created with specific permission combinations. See Chapter 9: Roles & Permissions.
Salary Component
An individual element of an employee's compensation structure. Components are classified as earnings (basic pay, HRA, DA, special allowance, bonus) or deductions (EPF, ESI, PT, TDS, loan EMI). Each component has a name, type, calculation method (fixed or percentage-based), and statutory/non-statutory classification.
Salary Structure
A template that defines which salary components apply to a group of employees and how each component is calculated relative to the CTC. For example, a salary structure might specify that Basic Pay is 40% of CTC, HRA is 20% of CTC, and Special Allowance is the remaining balance. Salary structures are assigned to employees based on department, designation, or grade.
Self-Service
The capability for employees to perform common HR tasks themselves through the Udyamo HRMS web portal or MS Teams bot, without requiring HR staff intervention. Self-service actions include applying for leave, viewing payslips, submitting reimbursements, updating personal details, and checking attendance records.
Shift
A defined work schedule specifying the start time, end time, and break duration for a group of employees. Organizations may have multiple shifts (e.g., Day Shift: 9:00 AM - 6:00 PM, Night Shift: 10:00 PM - 7:00 AM). Shifts are assigned to employees and used for attendance tracking and overtime calculations.
SSO (Single Sign-On)
An authentication mechanism that allows users to log in to Udyamo HRMS using credentials from an external identity provider (Google Workspace or Azure Active Directory) instead of a separate Udyamo HRMS password. SSO simplifies login, reduces password fatigue, and enables centralized access control. See Chapter 45: Single Sign-On.
Statutory Bonus
A mandatory annual bonus payable to employees under the Payment of Bonus Act, 1965. The Act applies to establishments with 20 or more employees and to employees earning up to INR 21,000 per month. The minimum bonus is 8.33% of the employee's salary or INR 100, whichever is higher. The maximum bonus is 20% of the employee's salary.
Statutory Component
A salary component mandated by Indian labor law that must be included in the payroll calculation. Statutory components include EPF (employer and employee contributions), ESI (employer and employee contributions), Professional Tax, and TDS. These components have government-defined calculation rules, rates, and filing requirements.
Subscription
The licensing agreement between an organization and Udyamo HRMS that defines the plan (Free Trial, Basic, Pro, Enterprise), the number of employee licenses, the billing term, and the features available. See Chapter 47: License Management.
TDS (Tax Deducted at Source)
Income tax deducted by the employer from the employee's salary before payment, as mandated by Section 192 of the Income Tax Act, 1961. TDS is calculated based on the employee's projected annual taxable income and the applicable tax slab (Old Regime or New Regime). Monthly TDS is deposited with the government and reported through quarterly TDS returns (Form 24Q).
TOTP (Time-based One-Time Password)
A two-factor authentication method that generates a 6-digit code that changes every 30 seconds. The code is produced by an authenticator app (Google Authenticator, Microsoft Authenticator, Authy) using a shared secret key. TOTP provides an additional layer of security beyond passwords. See Chapter 44: Two-Factor Authentication & OTP.
Two-Factor Authentication (2FA)
A security mechanism that requires two forms of verification to log in: something you know (password) and something you have (TOTP code from an authenticator app). 2FA significantly reduces the risk of unauthorized access from stolen passwords.
UAN (Universal Account Number)
A 12-digit unique number assigned to each EPF member by the EPFO. The UAN remains constant throughout the employee's career, even when they change employers. It links all member IDs (one per employer) under a single umbrella number, enabling seamless PF transfer and tracking.
Work Week
The organization's standard working days configuration. A work week defines which days of the week are working days and which are weekly off days. Common configurations in India include Monday-Friday (5-day), Monday-Saturday (6-day), or alternate Saturdays (5.5-day). The work week affects attendance tracking, leave calculations, and notice period computation.
Worker Type
A classification that distinguishes between regular employees and external workers. Udyamo HRMS supports two worker types: Employee (on the organization's payroll, subject to all statutory deductions) and Contractor (external worker, may be excluded from standard payroll and statutory compliance).