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:

RoleWhat You Will Find
HR AdministratorsComplete setup instructions, payroll configuration, statutory compliance, and system administration
ManagersAttendance oversight, leave approvals, team reports, and employee management
EmployeesSelf-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:

  1. Getting Started — sign up, first login, and initial setup
  2. Organization Setup — configure your company structure
  3. Employee Management — add and manage employees
  4. Shifts & Attendance — track work hours
  5. Leave Management — configure and manage time off
  6. Payroll — run payroll and generate payslips
  7. Statutory Compliance — meet Indian regulatory requirements
  8. Loans & Reimbursements — manage financial requests
  9. Employee Lifecycle — handle exits and documents
  10. Communication & Reports — announcements and analytics
  11. Security & Integrations — protect your data and connect tools
  12. 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.

Udyamo HRMS platform overview


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

ModuleDescriptionFeature Toggle
Employee ManagementMaintain employee profiles, personal details, bank information, documents, and employment history.Always enabled
AttendanceTrack daily check-in/check-out, manage shifts, set up geo-fencing, and connect biometric or face-recognition devices.attendance
Leave ManagementDefine leave categories, configure accrual policies, manage holiday calendars, and process leave requests.leave
PayrollConfigure salary components and structures, run monthly payroll, generate payslips, and produce bank advice files.payroll
Statutory ComplianceManage EPF, ESIC, Professional Tax, TDS, bonus, and gratuity calculations per Indian labor law.Linked to payroll
LoansIssue employee loans, define repayment schedules, and integrate EMI deductions into payroll.loan
AdvancesProcess salary advance requests with approval workflows.advance
ReimbursementsSubmit, review, and approve expense claims with receipt uploads.reimbursement
ReportsGenerate detailed reports across attendance, leave, payroll, and compliance data.Always enabled
AnnouncementsBroadcast 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

User roles overview


Architecture and Technology

Udyamo HRMS is built on a modern web application stack:

ComponentTechnology
Backend frameworkRuby on Rails 7
AuthenticationDevise with support for Google OAuth2, Azure AD SSO, and OTP login
Multi-tenancyOrganization-scoped data isolation
SecurityTwo-factor authentication (TOTP), token-based employee invitations
IntegrationsMicrosoft 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

BrowserMinimum Version
Google ChromeVersion 90 or later
Mozilla FirefoxVersion 90 or later
Microsoft EdgeVersion 90 or later
Apple SafariVersion 14 or later

Additional Requirements

RequirementDetails
Internet connectionStable broadband connection recommended
Screen resolutionMinimum 1280 x 720 pixels; 1920 x 1080 recommended
JavaScriptMust be enabled in your browser
CookiesMust be enabled for authentication
PDF viewerRequired 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.

PartTitleWhat You Will Learn
Part 1Getting StartedPlatform overview, signing up, navigating the dashboard, and first-time setup
Part 2Setting Up Your OrganizationOrganization profile, departments, offices, work week, roles, and permissions
Part 3Managing EmployeesAdding employees, profiles, bulk import, and employee self-service
Part 4Shifts & AttendanceShift management, check-in/check-out, attendance policies, devices, and overtime
Part 5Leave ManagementLeave categories, policies, holidays, and leave request workflows
Part 6PayrollSalary components, structures, payrun process, payslips, and corrections
Part 7Statutory ComplianceEPF, ESIC, Professional Tax, TDS, bonus, and gratuity
Part 8Loans, Reimbursements & AdvancesEmployee loans, expense claims, and salary advances
Part 9Employee LifecycleResignations, offboarding, full-and-final settlement, and document management
Part 10Communication & ReportsAnnouncements, notifications, and reporting
Part 11Security & IntegrationsTwo-factor authentication, SSO, and MS Teams integration
Part 12Subscriptions & AdministrationLicense 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

TopicWhere to Find It
Sign up for an accountChapter 2: Signing Up & First Login
Navigate the dashboardChapter 3: Your Dashboard
Complete initial setupChapter 4: First-Time Setup Checklist
Configure your organizationPart 2: Setting Up Your Organization
Add employeesChapter 10: Adding Your First Employee
Run payrollChapter 28: Running Payroll
Udyamo HRMS websiteudyamo.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

  1. Open your browser and navigate to udyamo.com/hrms.
  2. Click the Sign Up or Get Started button on the landing page.
  3. Fill in the registration form:
FieldDescriptionRequired
Full NameYour first and last nameYes
Work EmailYour business email addressYes
PasswordMust meet password requirements (see below)Yes
Organization NameYour company or business nameYes
  1. Review and accept the Terms of Service and Privacy Policy.
  2. Click Create Account.

Sign-up form

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:

RequirementDetails
Minimum length8 characters
Character varietyMust include at least one uppercase letter, one lowercase letter, and one number
Special charactersRecommended but not mandatory
Reuse restrictionCannot 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

  1. Check your inbox for an email from Udyamo HRMS with the subject line "Confirmation Instructions" (or similar).
  2. Click the Confirm My Account link in the email.
  3. 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.

Email verification screen


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.

  1. Navigate to the Udyamo HRMS login page.
  2. Enter your Email address.
  3. Enter your Password.
  4. Click Log In.
  5. 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.

Email/password login form

Method 2: OTP Login

For users who prefer passwordless authentication, Udyamo HRMS supports one-time password (OTP) login.

  1. Navigate to the login page.
  2. Click Login with OTP (or the equivalent link).
  3. Enter your registered Email address or Mobile Number.
  4. Click Send OTP.
  5. Check your email or phone for the one-time code.
  6. Enter the OTP in the verification field.
  7. 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.

  1. Navigate to the login page.
  2. Click the Sign in with Google button.
  3. Select your Google Workspace account (or enter your Google email).
  4. Grant the requested permissions if prompted (first-time only).
  5. 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.

  1. Navigate to the login page.
  2. Click the Sign in with Microsoft button.
  3. Enter your Microsoft 365 credentials if prompted.
  4. Complete any multi-factor authentication required by your Azure AD policy.
  5. 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.

SSO login options

Login Methods Comparison

MethodBest ForRequirements
Email + PasswordAll users, default methodRegistered email and password
OTP LoginUsers who prefer passwordless accessRegistered email or mobile number; OTP feature enabled
Google OAuth2Google Workspace organizationsGoogle account matching registered email; OAuth2 configured
Azure AD SSOMicrosoft 365 organizationsAzure 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

  1. Check your inbox for an email from Udyamo HRMS with the subject "Invitation Instructions" (or similar).
  2. Click the Accept Invitation link in the email.
  3. You will be taken to a setup page where you need to create your password.
FieldDescription
PasswordCreate a password meeting the requirements listed above
Confirm PasswordRe-enter the same password
  1. Click Set My Password (or the equivalent button).
  2. 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.

Invitation acceptance page


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

  1. Navigate to the Udyamo HRMS login page.
  2. Click the Forgot Your Password? link below the login form.
  3. Enter your registered Email address.
  4. Click Send Reset Instructions.
  5. Check your inbox for a password reset email.
  6. Click the Change My Password link in the email.
  7. Enter your new password and confirm it.
  8. Click Change Password.
  9. 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:

  1. You log in with your email and password as usual.
  2. After entering valid credentials, you are prompted for a 6-digit TOTP code.
  3. Open your authenticator app (such as Google Authenticator, Microsoft Authenticator, or Authy) and enter the current code.
  4. 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.

First login dashboard


Troubleshooting Login Issues

ProblemPossible CauseSolution
"Invalid email or password"Incorrect credentialsDouble-check email spelling and password. Use Forgot Password if unsure.
No confirmation email receivedEmail in spam folder, or typo in email during registrationCheck spam/junk folder. Contact support if the email address was entered incorrectly.
Invitation link expiredLink was not used within the validity periodAsk your HR admin to resend the invitation.
OTP not receivedSMS or email delivery delayWait 2-3 minutes. Check spam folder for email OTPs. Click Resend OTP.
Google SSO errorEmail mismatch or OAuth2 not configuredEnsure your Google email matches your Udyamo HRMS email. Contact your admin.
Azure AD SSO errorSSO not configured or Azure AD policy blockContact your IT administrator to verify SSO configuration.
"Account locked"Too many failed login attemptsWait 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

ActionNavigation / StepsNotes
Sign upudyamo.com/hrms > Sign UpCreates a new organization
Verify emailClick link in confirmation emailCheck spam folder if not found
Log in (password)Login page > Enter email & passwordDefault method for all users
Log in (OTP)Login page > Login with OTPMust be enabled by admin
Log in (Google)Login page > Sign in with GoogleRequires Google OAuth2 config
Log in (Azure AD)Login page > Sign in with MicrosoftRequires Azure AD SSO config
Accept invitationClick link in invitation email > Set passwordSingle-use, time-limited link
Reset passwordLogin page > Forgot Your Password?Reset link expires in ~6 hours
Enable 2FAProfile > Security SettingsSee 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.

Dashboard overview with labeled regions

RegionLocationPurpose
Top Menu BarTop of the screenOrganization switcher, search, notifications, profile menu
Navigation SidebarLeft sideLinks to all modules and settings
Main Content AreaCenterDashboard widgets, metrics, and summaries
Quick ActionsWithin main contentShortcuts 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.

  1. Click the current organization name in the top menu bar.
  2. A dropdown list appears showing all organizations you belong to.
  3. Click the organization you want to switch to.
  4. The page reloads with the selected organization's data.

Tip: The organization switcher uses the org_selects mechanism. 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.

Organization switcher dropdown

The search bar in the top menu allows you to quickly find employees, settings, or pages.

  1. Click the Search icon or field in the top menu bar.
  2. Type a name, employee ID, or keyword.
  3. 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.

  1. Click the bell icon in the top menu bar.
  2. A dropdown panel shows recent notifications, such as:
    • Leave requests submitted or approved
    • Attendance anomalies
    • Payroll processing updates
    • Announcement postings
  3. Click a notification to navigate to the relevant page.
  4. 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.

  1. Click your profile icon or name.
  2. A dropdown menu appears with options:
OptionDescription
My ProfileView and edit your personal details
Change PasswordUpdate your login password
Security SettingsManage two-factor authentication
PreferencesSet language and display preferences
Log OutEnd your current session

Top menu bar with all elements labeled


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.

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 SectionMenu ItemsFeature Toggle
DashboardDashboard (Home)Always visible
EmployeesEmployee List, Add EmployeeAlways visible
AttendanceDaily Attendance, Attendance Calendar, Shiftsattendance enabled
LeaveLeave Requests, Leave Balances, Holidaysleave enabled
PayrollPayrun, Payslips, Salary Components, Salary Structurespayroll enabled
LoansLoan List, Loan Requestsloan enabled
AdvancesAdvance Requestsadvance enabled
ReimbursementsReimbursement Claimsreimbursement enabled
ReportsVarious report categoriesAlways visible
AnnouncementsCompany AnnouncementsAlways visible
SettingsOrganization, Departments, Designations, Offices, Roles, and moreAdmin/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.

Sidebar in expanded and collapsed states


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.

MetricDescription
Total EmployeesCount 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.

MetricDescription
PresentNumber of employees who have checked in today
AbsentNumber of employees not checked in and without approved leave
On LeaveNumber of employees on approved leave today
Late ArrivalsNumber 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.

Attendance summary widget

Leave Requests Pending Widget

Displays the count of leave requests awaiting approval, broken down by urgency.

MetricDescription
Pending ApprovalTotal 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.

ColumnDescription
DateThe holiday date
Holiday NameName of the holiday
TypeNational, 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.

ColumnDescription
Employee NameName of the employee
EventBirthday or Work Anniversary
DateThe event date

Employee Dashboard Widgets

Employees see a personalized dashboard focused on their own data.

WidgetDescription
My AttendanceToday's check-in/check-out status, hours worked
My Leave BalancesSummary of available leave days by category
My Pending RequestsAny leave or reimbursement requests awaiting approval
Upcoming HolidaysNext few holidays relevant to the employee
Recent AnnouncementsLatest company announcements
My Team (Managers only)Team attendance and leave summary

Employee dashboard view


Quick Actions

Quick action buttons on the dashboard allow you to perform common tasks without navigating through menus.

Common Quick Actions

Quick ActionRoleWhat It Does
Check InEmployeeRecords your attendance check-in for the day
Check OutEmployeeRecords your attendance check-out for the day
Apply for LeaveEmployeeOpens the leave application form
Submit ReimbursementEmployeeOpens the reimbursement claim form
Add EmployeeAdmin, HROpens the new employee form
Run PayrollAdminNavigates to the payrun initiation page
Post AnnouncementAdmin, HROpens 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.


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.

ShortcutAction
/ or Ctrl+KFocus the search bar
EscClose 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.

Administrators can change the sidebar color to match the organization's brand or to visually distinguish between multiple organizations.

  1. Navigate to Settings > Organization.
  2. Find the Sidebar Color setting.
  3. Select a color from the palette or enter a hex color code.
  4. Click Save.

The sidebar color updates immediately for all users in the organization.

Sidebar color customization


Multi-Organization Usage

If you are a member of multiple organizations in Udyamo HRMS, here is how to manage them effectively.

Switching Organizations

  1. Click the organization name in the top menu bar.
  2. Select the target organization from the dropdown.
  3. 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

ActionNavigation PathRole
View dashboard/ (root path)All users
Switch organizationTop menu bar > Organization name > Select orgMulti-org users
View notificationsTop menu bar > Bell iconAll users
Access profile settingsTop menu bar > Profile icon > My ProfileAll users
Log outTop menu bar > Profile icon > Log OutAll users
Navigate to a moduleSidebar > Module nameBased on role and feature toggles
Collapse sidebarClick hamburger iconAll users
Change sidebar colorSettings > Organization > Sidebar ColorAdmin
Quick check-inDashboard > Check In buttonEmployee

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.

First-time setup checklist overview

StepTaskEstimated TimeDetailed Chapter
1Complete Organization Profile5 minutesChapter 5
2Set Work Week, Timezone & Date Format5 minutesChapter 8
3Set Fiscal Year Start Month2 minutesChapter 8
4Create Departments & Designations10-20 minutesChapter 6
5Add Offices & Locations10-15 minutesChapter 7
6Configure Roles & Permissions15-30 minutesChapter 9
7Set Up Leave Categories & Policies20-30 minutesChapter 21
8Configure Salary Components20-30 minutesChapter 26
9Add EmployeesVariesChapter 10
10Enable/Disable Feature Toggles5 minutesThis 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

SettingDescriptionExample
Organization NameYour registered company name"Acme Technologies Pvt. Ltd."
IndustryYour business sector"Information Technology"
LogoCompany logo image filePNG or JPG, recommended 200x200 px
Sidebar ColorTheme color for the navigation sidebarHex 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

SettingDescriptionCommon Value
Work WeekWhich days of the week are working daysMonday through Saturday (6-day week) or Monday through Friday (5-day week)
TimezoneYour organization's primary timezoneAsia/Kolkata (IST)
Date FormatHow dates are displayed across the platformDD/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

SettingDescriptionCommon Value
Fiscal Start MonthThe first month of your organization's financial yearApril (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

FieldDescription
Office NameA descriptive name for the office
CityCity where the office is located
AddressFull street address
StateState (important for Professional Tax calculation)
Latitude / LongitudeGPS coordinates for geo-fenced attendance tracking
PT NumberProfessional 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

RoleDescription
AdminFull access to all settings and data
HRAccess to employee management, leave, attendance, payroll
ManagerAccess to team-level data and approvals
EmployeeSelf-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 CategoryTypical Annual EntitlementCommon Accrual
Earned Leave (EL) / Privilege Leave (PL)15-21 daysMonthly accrual
Casual Leave (CL)7-12 daysCredited upfront or monthly
Sick Leave (SL)7-12 daysCredited upfront or monthly
Maternity LeaveAs per statuteEvent-based
Paternity LeaveAs per company policyEvent-based
Compensatory OffEarned against extra workManual 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:

ComponentTypeTaxable
Basic SalaryFixedYes
House Rent Allowance (HRA)FixedPartially exempt
Conveyance AllowanceFixedExempt up to limit
Special AllowanceFixedYes
Performance BonusVariableYes

Deductions:

ComponentTypeStatutory
Provident Fund (Employee)Fixed percentageYes (EPF)
Professional TaxSlab-basedYes
ESI (Employee)Fixed percentageYes (ESIC)
TDSCalculatedYes

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

MethodBest ForReference
Add individuallySmall teams, new hiresChapter 10
Bulk import (CSV)Initial setup with many employeesChapter 12
Send invitationsEmployees who will self-registerChapter 13

Minimum Required Information per Employee

FieldDescription
Full NameEmployee's legal name
EmailWork email address (used for login and notifications)
DepartmentMust be created in Step 4
DesignationMust be created in Step 4
OfficeMust be created in Step 5
Date of JoiningEmployment start date
RoleAssigned 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 ToggleModuleDefault
payrollPayroll processing, payslips, salary structuresVaries
leaveLeave management, leave categories, leave balancesVaries
attendanceAttendance tracking, shifts, check-in/check-outVaries
loanEmployee loan managementVaries
advanceSalary advance requestsVaries
reimbursementExpense reimbursement claimsVaries

How to Enable or Disable a Feature

  1. Navigate to Settings > Organization (or the dedicated Features section).
  2. Find the feature toggles section.
  3. Toggle each feature on or off as needed.
  4. 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.

Feature toggle settings


Setup Progress Tracking

Since Udyamo HRMS saves your settings as you go, you can track your progress manually.

StepTaskStatus
1Organization profile complete[ ]
2Work week, timezone, and date format set[ ]
3Fiscal year start month configured[ ]
4Departments and designations created[ ]
5Offices and locations added[ ]
6Roles and permissions configured[ ]
7Leave categories and policies defined[ ]
8Salary components configured[ ]
9Employees added and invited[ ]
10Feature 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.

ActionChapter
Configure shifts for attendance trackingChapter 14: Creating & Assigning Shifts
Set up holiday calendarsChapter 23: Holidays
Create salary structures and assign to employeesChapter 27: Salary Structures
Configure statutory compliance (EPF, ESIC, PT, TDS)Part 7: Statutory Compliance
Post a welcome announcementChapter 42: Announcements & Notifications
Enable two-factor authentication for adminsChapter 44: Two-Factor Authentication
Set up MS Teams integrationChapter 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

ActionNavigation PathPermission
Update organization profileSettings > OrganizationAdmin
Set work week / timezoneSettings > OrganizationAdmin
Create departmentsSettings > DepartmentsAdmin
Create designationsSettings > DesignationsAdmin
Add officesSettings > OfficesAdmin
Manage rolesSettings > RolesAdmin
Configure leave categoriesSettings > Leave CategoriesAdmin
Configure salary componentsSettings > Salary ComponentsAdmin
Add employeesEmployees > Add EmployeeAdmin, HR
Manage feature togglesSettings > OrganizationAdmin

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

  1. Log in to Udyamo HRMS.
  2. Click Settings in the navigation sidebar.
  3. Click Organization from the settings menu.

The Organization settings page displays all configurable fields related to your company's identity and operational parameters.

Organization settings page


Organization Name

The organization name is the official name of your company as it will appear throughout Udyamo HRMS.

Where the Organization Name Appears

LocationExample
Dashboard header"Welcome to Acme Technologies Pvt. Ltd."
PayslipsCompany name in the header
ReportsOrganization name on all generated reports
Employee portalDisplayed when employees log in
Organization switcherListed in the multi-org dropdown

Updating the Organization Name

  1. Navigate to Settings > Organization.
  2. Locate the Organization Name field.
  3. Enter or update the name.
  4. 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

  1. Navigate to Settings > Organization.
  2. Locate the Industry field.
  3. Select your industry from the dropdown list or type it in.
  4. 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.


The company logo adds brand identity to the Udyamo HRMS interface and official documents.

Logo Requirements

RequirementSpecification
File formatPNG, JPG, or JPEG
Recommended size200 x 200 pixels
Maximum file size2 MB
BackgroundTransparent PNG recommended for best appearance
Aspect ratioSquare (1:1) recommended
  1. Navigate to Settings > Organization.
  2. Locate the Logo section.
  3. Click the Upload button or drag and drop your logo file onto the upload area.
  4. Preview the logo to ensure it displays correctly.
  5. Click Save.

Logo upload section

  1. Navigate to Settings > Organization.
  2. In the Logo section, click the Change or Remove button next to the current logo.
  3. Upload the new logo file.
  4. 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

LocationSize
Navigation sidebar (top)Small icon
Login pageMedium
Payslip headerMedium
Report headersMedium
Email notificationsSmall

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

  1. Navigate to Settings > Organization.
  2. Locate the Sidebar Color setting.
  3. Choose a color using one of these methods:
    • Click a color from the preset palette.
    • Enter a hex color code (e.g., #1a73e8 for a blue, #34a853 for a green).
    • Use the color picker tool if available.
  4. Preview the sidebar color change.
  5. Click Save.

The sidebar color updates immediately for all users in the organization.

Sidebar color picker

ColorHex CodeBest For
Corporate Blue#1a73e8Professional, technology companies
Forest Green#2e7d32Healthcare, sustainability-focused orgs
Dark Gray#424242Neutral, works with any brand
Deep Purple#6a1b9aCreative industries
Teal#00796bFinance, consulting
Maroon#880e4fTraditional 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

ScenarioExample
Multiple subsidiariesA parent company with separate entities for different business lines
Franchise operationsA franchise network where each location is a separate organization
Consulting firmsA firm that manages HR for multiple client companies
Test and productionA 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.

  1. Click the current organization name displayed in the top menu bar.
  2. A dropdown appears listing all organizations associated with your account.
  3. Click the organization you want to switch to.
  4. The page reloads, and all data now reflects the selected organization.

Organization switcher in top menu bar

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:

  1. Log in to the target organization as an Administrator.
  2. Navigate to Employees > Add Employee.
  3. Enter the user's email address (the same email they use for their other organization).
  4. Complete the employee profile for this organization.
  5. 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.

FieldDescriptionChapter
Organization NameCompany legal nameThis chapter
IndustryBusiness sector categoryThis chapter
LogoCompany logo imageThis chapter
Sidebar ColorNavigation sidebar theme colorThis chapter
Work WeekWorking days (Mon-Sun)Chapter 8
TimezoneOrganization timezoneChapter 8
Date FormatDisplay format for datesChapter 8
Pay Schedule (Pay Day)Day of month for salary paymentChapter 8
Fiscal Start MonthFirst month of the financial yearChapter 8
Feature TogglesEnabled/disabled modulesChapter 4

Updating Organization Details

All organization profile changes follow the same workflow:

  1. Navigate to Settings > Organization.
  2. Modify the desired field(s).
  3. Click Save at the bottom of the form.
  4. 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

ActionNavigation PathPermission
View organization profileSettings > OrganizationAdmin
Update organization nameSettings > Organization > Organization NameAdmin
Change industrySettings > Organization > IndustryAdmin
Upload/change logoSettings > Organization > LogoAdmin
Set sidebar colorSettings > Organization > Sidebar ColorAdmin
Switch organizationTop menu bar > Organization nameMulti-org users
Add user to another orgTarget org > Employees > Add EmployeeAdmin (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.

ConceptDefinitionExample
DepartmentA functional division of the organizationEngineering, Finance, Human Resources, Marketing
DesignationA job title or position held by an employeeSoftware 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.

Departments and designations relationship diagram


Managing Departments

  1. Log in to Udyamo HRMS.
  2. Click Settings in the navigation sidebar.
  3. Click Departments.

The Departments page displays a list of all departments in your organization.

Departments list page

Creating a New Department

  1. Navigate to Settings > Departments.
  2. Click the Add Department button.
  3. Fill in the department form:
FieldDescriptionRequired
Department NameThe name of the departmentYes
  1. 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

  1. Navigate to Settings > Departments.
  2. Find the department you want to edit in the list.
  3. Click the Edit button (pencil icon) next to the department name.
  4. Update the Department Name field.
  5. 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

  1. Navigate to Settings > Departments.
  2. Find the department you want to delete.
  3. Click the Delete button (trash icon) next to the department.
  4. 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

ColumnDescription
Department NameThe name of the department
Employee CountNumber of employees currently assigned to this department
ActionsEdit and Delete buttons

Managing Designations

  1. Log in to Udyamo HRMS.
  2. Click Settings in the navigation sidebar.
  3. Click Designations.

The Designations page displays a list of all designations (job titles) in your organization.

Designations list page

Creating a New Designation

  1. Navigate to Settings > Designations.
  2. Click the Add Designation button.
  3. Fill in the designation form:
FieldDescriptionRequired
Designation NameThe job title or position nameYes
  1. Click Save or Create.

The new designation appears in the designation list and is immediately available for assignment to employees.

Editing a Designation

  1. Navigate to Settings > Designations.
  2. Find the designation you want to edit in the list.
  3. Click the Edit button (pencil icon) next to the designation name.
  4. Update the Designation Name field.
  5. 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

  1. Navigate to Settings > Designations.
  2. Find the designation you want to delete.
  3. Click the Delete button (trash icon) next to the designation.
  4. 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

ColumnDescription
Designation NameThe job title or position name
Employee CountNumber of employees currently holding this designation
ActionsEdit 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

  1. Navigate to Employees > Add Employee.
  2. In the employee form, locate the Department and Designation dropdown fields.
  3. Select the appropriate department from the Department dropdown.
  4. Select the appropriate designation from the Designation dropdown.
  5. Complete the rest of the employee form and click Save.

Updating an Existing Employee

  1. Navigate to Employees and find the employee.
  2. Click on the employee's name to open their profile.
  3. Click Edit on the employment details section.
  4. Change the Department and/or Designation dropdown selections.
  5. 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

FeatureHow They Are Used
Employee listFilter employees by department or designation
Attendance reportsGroup attendance data by department
Leave reportsView leave utilization per department
Payroll reportsSummarize payroll costs by department
Dashboard widgetsDepartment-wise employee counts and attendance
Salary structuresTarget salary structures to specific departments or designations
Leave policiesApply different leave policies per department
Approval workflowsRoute 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

LevelExample Designations
Entry LevelAssociate, Trainee, Junior Engineer, Intern
Mid LevelSoftware Engineer, Accountant, HR Executive, Sales Executive
Senior LevelSenior Engineer, Senior Accountant, Lead HR, Senior Sales Executive
Lead / SpecialistTech Lead, Team Lead, Principal Engineer, Subject Matter Expert
ManagementEngineering Manager, Finance Manager, HR Manager, Sales Manager
DirectorDirector of Engineering, Director of Sales, Head of HR
ExecutiveVP 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.

PracticeGood ExampleAvoid
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

MistakeProblemSolution
Duplicate departments with different spelling"HR" and "Human Resources" both existStandardize to one name
Overly granular departmentsEvery team of 2-3 people is a departmentCombine small teams into broader departments
Designations that are too specific"React Frontend Developer for Mobile Banking"Use "Frontend Developer" and note specialization elsewhere
Missing departmentsSome employees have no department assignedEnsure 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

ActionNavigation PathPermission
View departmentsSettings > DepartmentsAdmin
Add departmentSettings > Departments > Add DepartmentAdmin
Edit departmentSettings > Departments > Edit (pencil icon)Admin
Delete departmentSettings > Departments > Delete (trash icon)Admin
View designationsSettings > DesignationsAdmin
Add designationSettings > Designations > Add DesignationAdmin
Edit designationSettings > Designations > Edit (pencil icon)Admin
Delete designationSettings > Designations > Delete (trash icon)Admin
Assign to employeeEmployees > [Employee] > Edit > Department / DesignationAdmin, HR
Filter employeesEmployees > Filter by Department / DesignationAdmin, 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 FeatureHow the Office Is Used
Professional TaxThe office's state determines which PT slab applies to employees at that location
Attendance Geo-TrackingGPS coordinates define the geo-fence boundary for mobile check-in
Holiday CalendarsHolidays can be assigned to specific offices (e.g., regional holidays)
Employee RecordsEvery employee is assigned to a primary office
ReportsFilter 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.


  1. Log in to Udyamo HRMS.
  2. Click Settings in the navigation sidebar.
  3. Click Offices.

The Offices page displays a list of all registered offices with their key details.

Offices list page


Creating a New Office

Step-by-Step: Add an Office

  1. Navigate to Settings > Offices.
  2. Click the Add Office button.
  3. Fill in the office form (see field reference below).
  4. Click Save or Create.

Office Form Fields

FieldDescriptionRequiredExample
Office NameA descriptive name for this officeYes"Mumbai Head Office"
CityThe city where the office is locatedYes"Mumbai"
AddressFull street addressYes"101, Business Tower, Andheri East"
StateState where the office is locatedYes"Maharashtra"
LatitudeGPS latitude coordinateNo19.1136
LongitudeGPS longitude coordinateNo72.8697
PT NumberProfessional Tax registration number for this stateNo"PTRC/MH/2023/000123"

Office creation form

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 PatternExample
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.

StateProfessional Tax Applicability
MaharashtraYes — slab-based deduction
KarnatakaYes — slab-based deduction
West BengalYes — slab-based deduction
Tamil NaduNo Professional Tax
Andhra PradeshYes — slab-based deduction
TelanganaYes — slab-based deduction
GujaratYes — slab-based deduction
Madhya PradeshYes — 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

  1. Open Google Maps in your browser.
  2. Search for your office address.
  3. Right-click on the exact location of your office on the map.
  4. The latitude and longitude are displayed in the context menu. Click to copy them.
  5. Enter the Latitude and Longitude values in the office form.
CoordinateFormatExample (Mumbai)
LatitudeDecimal degrees19.1136
LongitudeDecimal degrees72.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

  1. Navigate to Settings > Offices.
  2. Find the office you want to edit in the list.
  3. Click the Edit button (pencil icon) next to the office.
  4. Update the desired fields.
  5. 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

  1. Navigate to Settings > Offices.
  2. Find the office you want to delete.
  3. Click the Delete button (trash icon) next to the office.
  4. 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

  1. Navigate to Employees > Add Employee.
  2. In the employee form, locate the Office dropdown field.
  3. Select the appropriate office.
  4. Complete the rest of the form and click Save.

Updating an Existing Employee's Office

  1. Navigate to Employees and find the employee.
  2. Click on the employee's name to open their profile.
  3. Click Edit on the employment details section.
  4. Change the Office dropdown selection.
  5. 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.

  1. Navigate to Settings > Holidays (or the holiday management section).
  2. When adding or editing a holiday, look for the Applicable Offices field.
  3. Select which offices observe this holiday.
  4. Click Save.
HolidayApplicable Offices
Republic Day (Jan 26)All offices (national holiday)
Ganesh ChaturthiMumbai Office, Pune Office
PongalChennai Office
Durga PujaKolkata 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:

  1. An employee attempts to check in using the mobile browser or app.
  2. The system reads the employee's current GPS position.
  3. The system compares the employee's position with their assigned office's coordinates.
  4. If the employee is within the configured radius (e.g., 200 meters), check-in succeeds.
  5. If the employee is outside the radius, check-in is blocked or flagged.
Geo-Fence SettingDescription
Office coordinatesLatitude and longitude of the office
RadiusMaximum allowed distance from office (configurable)
EnforcementStrict (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 OfficeStatePT ApplicableMonthly Max
Mumbai Head OfficeMaharashtraYesRs. 2,500
Bangalore Tech HubKarnatakaYesRs. 2,400
Chennai Support CenterTamil NaduNoN/A
Kolkata Sales OfficeWest BengalYesRs. 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.

ColumnDescription
Office NameThe name assigned to the office
CityCity where the office is located
StateState where the office is located
Employee CountNumber of employees assigned to this office
PT NumberProfessional Tax registration number (if applicable)
ActionsEdit and Delete buttons

Example Office Setup

Here is an example multi-office setup for an organization with offices across India.

Office NameCityStateLatitudeLongitudePT Number
Mumbai - Head OfficeMumbaiMaharashtra19.076072.8777PTRC/MH/2023/000123
Bangalore - Tech CenterBengaluruKarnataka12.971677.5946PTEC/KA/2023/000456
Delhi - Sales OfficeNew DelhiDelhi28.613977.2090
Chennai - Support HubChennaiTamil Nadu13.082780.2707
Pune - Development CenterPuneMaharashtra18.520473.8567PTRC/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

ActionNavigation PathPermission
View officesSettings > OfficesAdmin
Add officeSettings > Offices > Add OfficeAdmin
Edit officeSettings > Offices > Edit (pencil icon)Admin
Delete officeSettings > Offices > Delete (trash icon)Admin
Assign office to employeeEmployees > [Employee] > Edit > OfficeAdmin, HR
Assign holiday to officeSettings > Holidays > Edit > Applicable OfficesAdmin
Configure geo-fence radiusSettings > 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.

  1. Log in to Udyamo HRMS.
  2. Click Settings in the navigation sidebar.
  3. Click Organization.
  4. Scroll to the relevant section for each setting.

Organization settings page with work week and timezone sections


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

FeatureImpact
AttendanceOnly working days appear in attendance reports; weekly offs are excluded from absent counts
Leave calculationsLeave days are counted only against working days (weekly offs are skipped)
PayrollWorking days in a month determine per-day salary calculation for LOP deductions
Holiday calendarHolidays falling on weekly offs may not generate an additional day off
ReportsAttendance percentage and working-day counts are based on the configured work week

Configuring the Work Week

  1. Navigate to Settings > Organization.
  2. Find the Work Week section.
  3. You will see a row of seven days: Monday through Sunday.
  4. For each day, mark it as a Working Day or Weekly Off.
  5. Click Save.

Common Work Week Patterns in India

PatternWorking DaysWeekly OffsCommon In
5-day weekMonday - FridaySaturday, SundayIT companies, MNCs
6-day weekMonday - SaturdaySundayManufacturing, retail, traditional firms
5.5-day weekMonday - Friday full, Saturday half-daySundaySome professional services firms
Alternate SaturdayMonday - Friday + alternate SaturdaysSunday + alternate SaturdaysGovernment 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:

DayStatus
MondayWorking Day
TuesdayWorking Day
WednesdayWorking Day
ThursdayWorking Day
FridayWorking Day
SaturdayWeekly Off
SundayWeekly Off

6-day work week:

DayStatus
MondayWorking Day
TuesdayWorking Day
WednesdayWorking Day
ThursdayWorking Day
FridayWorking Day
SaturdayWorking Day
SundayWeekly 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

  1. Navigate to Settings > Organization.
  2. Find the Timezone field.
  3. Select your timezone from the dropdown list.
  4. Click Save.

Common Timezones for Indian Organizations

TimezoneUTC OffsetWhen to Use
Asia/KolkataUTC +5:30All organizations operating in India (IST)
Asia/DubaiUTC +4:00Organizations with primary operations in UAE
America/New_YorkUTC -5:00US East Coast operations
America/Los_AngelesUTC -8:00US West Coast operations
Europe/LondonUTC +0:00UK 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

FeatureImpact
Attendance timestampsCheck-in and check-out times are recorded in the configured timezone
Shift timingShift start/end times reference this timezone
Leave datesLeave start and end dates are interpreted in this timezone
Payroll datesPay period start/end and pay day are in this timezone
NotificationsEmail and in-app notification timestamps
ReportsAll 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

  1. Navigate to Settings > Organization.
  2. Find the Date Format field.
  3. Select your preferred format from the dropdown.
  4. Click Save.

Available Date Formats

FormatExample (January 15, 2026)Common Usage
DD/MM/YYYY15/01/2026Most common in India
MM/DD/YYYY01/15/2026US-style
YYYY-MM-DD2026-01-15ISO 8601 standard
DD-MMM-YYYY15-Jan-2026Readable, unambiguous
DD.MM.YYYY15.01.2026European-style

Tip: For Indian organizations, DD/MM/YYYY or DD-MMM-YYYY are the most natural choices. The DD-MMM-YYYY format 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

  1. Navigate to Settings > Organization.
  2. Find the Pay Schedule or Pay Day field.
  3. Enter the day of the month (1-30) on which salaries are typically disbursed.
  4. Click Save.

Pay Day Options

Pay DayDescriptionCommon Usage
1Salary paid on the 1st of the following monthCommon in many Indian firms
7Salary paid by the 7th of the following monthAllows time for attendance processing
15Mid-month paymentRare; sometimes used for bi-monthly schedules
25Salary paid before month-endEarly payment preference
28End-of-month (approximate)Government and public sector
30Last business daySome organizations

How the Pay Schedule Affects Payroll

AspectImpact
Payrun initiationThe system uses the pay schedule to suggest when to start the payrun
Pay periodDefines the calendar month for which salaries are calculated
Payslip datesThe payment date shown on payslips
Bank adviceThe payment date used in bank advice files
Employee expectationsEmployees 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

  1. Navigate to Settings > Organization.
  2. Find the Fiscal Start Month field.
  3. Select the appropriate month from the dropdown.
  4. Click Save.

Common Fiscal Year Configurations

Fiscal Start MonthFiscal Year PeriodUsed By
AprilApril 1 - March 31India (standard financial year), most Indian companies
JanuaryJanuary 1 - December 31Calendar year; some MNCs operating in India
OctoberOctober 1 - September 30US 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

FeatureImpact
Leave accrualsAnnual leave balances reset at the start of the fiscal year
Leave carry-overCarry-over limits are evaluated at fiscal year boundary
TDS calculationsTax deducted at source is computed over the fiscal year
Payroll summariesAnnual payroll reports are grouped by fiscal year
Form 16Form 16 generation follows the fiscal year
EPF/ESIC reportsAnnual compliance reports follow the fiscal year
Financial reportsAll 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:

MonthAccrual (1.5/month)Cumulative Balance
April1.51.5
May1.53.0
June1.54.5
July1.56.0
August1.57.5
September1.59.0
October1.510.5
November1.512.0
December1.513.5
January1.515.0
February1.516.5
March1.518.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.

SettingField LocationDefault / Common ValueImpact Level
Work WeekSettings > Organization > Work Week5-day or 6-day weekHigh — affects attendance, leave, payroll
TimezoneSettings > Organization > TimezoneAsia/KolkataHigh — affects all timestamps
Date FormatSettings > Organization > Date FormatDD/MM/YYYYLow — display only
Pay DaySettings > Organization > Pay Schedule1-7 of next monthMedium — affects payroll timing
Fiscal Start MonthSettings > Organization > Fiscal Start MonthAprilHigh — affects leave, tax, reports

All settings on the organization page


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/YYYY or DD-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

ActionNavigation PathPermission
Set work weekSettings > Organization > Work WeekAdmin
Set timezoneSettings > Organization > TimezoneAdmin
Set date formatSettings > Organization > Date FormatAdmin
Set pay daySettings > Organization > Pay ScheduleAdmin
Set fiscal start monthSettings > Organization > Fiscal Start MonthAdmin
Verify settingsAttendance Calendar, Reports, PayslipsAny 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:

ComponentDescription
PermissionA specific action on a specific module (e.g., "View Employee", "Create Leave Request", "Approve Payrun")
RoleA 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.

Roles and permissions relationship diagram


  1. Log in to Udyamo HRMS.
  2. Click Settings in the navigation sidebar.
  3. Click Roles.

The Roles page displays a list of all roles in your organization, both default and custom.

Roles list page


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 AreaAccess Level
Organization SettingsFull (create, read, update, delete)
Employee ManagementFull
AttendanceFull
Leave ManagementFull
PayrollFull
Loans / Advances / ReimbursementsFull
ReportsFull
Roles & PermissionsFull
Feature TogglesFull

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 AreaAccess Level
Organization SettingsRead only
Employee ManagementFull (create, read, update)
AttendanceFull (manage for all employees)
Leave ManagementFull (manage for all employees)
PayrollFull (process payroll, view payslips)
Loans / Advances / ReimbursementsFull (manage for all employees)
ReportsFull (generate and view all reports)
Roles & PermissionsRead only
Feature TogglesNo 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 AreaAccess Level
Organization SettingsNo access
Employee ManagementRead (own team only)
AttendanceRead (own team); Approve attendance corrections
Leave ManagementRead (own team); Approve/reject leave requests
PayrollNo access (or read own payslip only)
Loans / Advances / ReimbursementsApprove requests from team members
ReportsTeam-level reports only
Roles & PermissionsNo access

Employee

The Employee role is the default self-service role with access only to the user's own data.

Permission AreaAccess Level
Own ProfileRead and update (limited fields)
AttendanceCheck in/out, view own records
LeaveApply for leave, view own balances
PayrollView own payslips
Loans / AdvancesSubmit requests
ReimbursementsSubmit claims, view own claims
ReportsNo access
SettingsNo 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

CategoryDescriptionExamples
EmployeesManaging employee recordsView employee, Create employee, Update employee, Delete employee
AttendanceAttendance tracking and managementView attendance, Mark attendance, Approve corrections, Export attendance
LeaveLeave request managementView leave, Apply for leave, Approve leave, Configure leave policies
PayrollSalary and payrun managementView payslips, Run payroll, Approve payrun, Configure salary components
LoansLoan managementView loans, Create loan, Approve loan, Process repayments
AdvancesSalary advance managementView advances, Request advance, Approve advance
ReimbursementsExpense claim managementView claims, Submit claims, Approve claims
ReportsReport generation and viewingView reports, Export reports
SettingsSystem configurationView settings, Modify settings
AnnouncementsCompany announcementsView announcements, Create announcements

Action-Based Permissions

Within each module, the following action types are available:

ActionDescriptionTypical Roles
ViewRead access to dataAll roles
CreateAbility to add new recordsAdmin, HR
UpdateAbility to modify existing recordsAdmin, HR
DeleteAbility to remove recordsAdmin only (in most cases)
ApproveAbility to approve pending requestsAdmin, HR, Manager
ExportAbility to download data as CSV/PDFAdmin, HR
ConfigureAbility to change settings and policiesAdmin

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

  1. Navigate to Settings > Roles.
  2. Click the Add Role button.
  3. Enter a Role Name (e.g., "Finance Manager", "Shift Supervisor", "Department Head").
  4. In the permissions section, you will see a matrix of modules and actions.
  5. Check or uncheck each permission as needed.
  6. Click Save or Create.

Custom role creation form with permission matrix

Role Name Guidelines

PracticeGood ExampleAvoid
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.

ModulePermissions
EmployeesView (limited to name, department, salary details)
PayrollView, Run payroll, Approve payrun, Export
Statutory ComplianceView, Configure
ReportsView financial reports, Export
Everything elseNo access

Shift Supervisor

Manages attendance for a team but has no access to leave, payroll, or employee management.

ModulePermissions
AttendanceView (own team), Mark attendance, Approve corrections
EmployeesView (own team, limited fields)
Everything elseNo access

Department Head

Extended manager permissions with access to department-level reports.

ModulePermissions
EmployeesView (own department)
AttendanceView (own department), Approve corrections
LeaveView (own department), Approve/reject
ReportsDepartment-level reports
AnnouncementsCreate department announcements
Everything elseNo access

Recruiter

Access to add new employees and send invitations, but no access to payroll or attendance.

ModulePermissions
EmployeesView, Create
Everything elseNo access

Editing a Role

  1. Navigate to Settings > Roles.
  2. Find the role you want to edit in the list.
  3. Click the Edit button (pencil icon).
  4. Modify the role name or adjust permissions.
  5. 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

  1. Navigate to Settings > Roles.
  2. Find the role you want to delete.
  3. Click the Delete button (trash icon).
  4. 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

  1. Navigate to Employees > Add Employee.
  2. In the employee form, locate the Role field.
  3. Select the appropriate role from the dropdown.
  4. Complete the rest of the form and click Save.

Changing an Employee's Role

  1. Navigate to Employees and find the employee.
  2. Click on the employee's name to open their profile.
  3. Click Edit on the role or access section.
  4. Change the Role dropdown selection.
  5. 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.

EmployeeRolesEffective Access
Priya SharmaHR + Payroll AdminAll HR permissions + all payroll permissions
Rahul VermaManager + Shift SupervisorTeam management + attendance management
Anita DesaiEmployeeSelf-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

PermissionAdminHRManagerEmployee
View all employeesYesYesTeam onlyOwn only
Create employeeYesYesNoNo
Update employeeYesYesNoOwn profile (limited)
Delete employeeYesNoNoNo
Send invitationYesYesNoNo
View salary detailsYesYesNoOwn only

Attendance Permissions

PermissionAdminHRManagerEmployee
View all attendanceYesYesTeam onlyOwn only
Mark attendance (for others)YesYesNoNo
Mark own attendanceYesYesYesYes
Approve correctionsYesYesTeam onlyNo
Export attendanceYesYesNoNo
Configure shiftsYesYesNoNo

Leave Permissions

PermissionAdminHRManagerEmployee
View all leave requestsYesYesTeam onlyOwn only
Apply for leaveYesYesYesYes
Approve/reject leaveYesYesTeam onlyNo
Configure leave policiesYesNoNoNo
View all leave balancesYesYesTeam onlyOwn only

Payroll Permissions

PermissionAdminHRManagerEmployee
View all payslipsYesYesNoOwn only
Run payrollYesYesNoNo
Approve payrunYesNoNoNo
Configure salary componentsYesNoNoNo
Export payroll dataYesYesNoNo

Settings Permissions

PermissionAdminHRManagerEmployee
View settingsYesYes (limited)NoNo
Modify settingsYesNoNoNo
Manage rolesYesNoNoNo
Manage feature togglesYesNoNoNo

Permission matrix in role settings


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.

PrincipleExplanation
Start minimalBegin with the Employee role and add permissions as needed
Function-specificEach role should map to a specific job function
Review regularlyAudit role assignments quarterly to remove unnecessary access
Separate dutiesEnsure no single role can both create and approve sensitive transactions

Separation of Duties Examples

Sensitive OperationShould Be Separated Between
Creating employees + Approving payrollHR role (creates employees) + Admin/Finance (approves payroll)
Submitting reimbursement + Approving reimbursementEmployee (submits) + Manager (approves)
Running payroll + Disbursing fundsPayroll Admin (runs payroll) + Finance (processes bank transfer)

Role Design Process

  1. List all job functions in your organization that interact with HRMS.
  2. Map each function to required permissions (what does this person need to see and do?).
  3. Check if a default role matches. If yes, use the default role.
  4. Create custom roles for functions that do not match any default role.
  5. Assign roles to employees based on their job function, not their seniority.
  6. 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

TriggerAction
Employee promotion or transferReview and update their role
Employee departureRemove all roles (done automatically if the employee is offboarded)
New module enabledReview which roles need access to the new module
Organizational restructuringReview all role assignments against new structure
Quarterly scheduleRoutine audit of all admin and HR role holders

Audit Checklist

CheckAction If Issue Found
Number of Admin usersReduce to minimum necessary
Inactive users with active rolesDeactivate or remove roles
Roles with unused permissionsTighten permissions
Employees with multiple rolesVerify each role is still needed
Custom roles not assigned to anyoneConsider deleting unused roles

Troubleshooting Permission Issues

ProblemPossible CauseSolution
Employee cannot see a moduleModule feature toggle is off, or role lacks permissionCheck feature toggle in Settings > Organization; check role permissions
Employee cannot approve leaveRole does not include "Approve leave" permissionEdit the role and add the approval permission
Manager sees all employees, not just their teamRole grants organization-wide view instead of team viewCheck the role's scope settings; use the Manager default role which limits to team
HR cannot run payrollHR role may not include payroll permissions by defaultEdit the HR role to add payroll permissions, or create a combined HR+Payroll role
New employee has no accessRole not assigned during employee creationEdit 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

ActionNavigation PathPermission
View all rolesSettings > RolesAdmin
Create custom roleSettings > Roles > Add RoleAdmin
Edit role permissionsSettings > Roles > Edit (pencil icon)Admin
Delete custom roleSettings > Roles > Delete (trash icon)Admin
Assign role to employeeEmployees > [Employee] > Edit > RoleAdmin
View own role/permissionsProfile > My ProfileAll users
Audit role assignmentsSettings > Roles > View employees per roleAdmin

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:


  1. From the sidebar, click Employees.
  2. On the Employees list page, click the Add New button in the top-right corner.
  3. The Add Employee form opens.

Add Employee navigation


Required Fields

The Add Employee form contains several sections. The table below lists every required field and what to enter.

FieldDescriptionExample
First NameEmployee's legal first namePriya
Last NameEmployee's legal last nameSharma
EmailWork email address. Must be unique across the organization. Used for login and invitation.priya.sharma@example.com
Employee IDA unique identifier you assign. Can follow any convention (numeric, alphanumeric).EMP-001
DepartmentSelect from your configured departments.Engineering
DesignationSelect from designations available under the chosen department.Software Engineer
OfficeThe primary office where this employee is based.Mumbai HQ
Date of JoiningThe date the employee officially starts. Affects leave accruals, payroll proration, and attendance tracking.2025-04-01
Worker TypeChoose Employee (regular, on payroll) or Contractor (external, may not be on payroll).Employee
Annual CTCThe employee's annual cost-to-company in INR. Used for salary structure calculations.600000
StatusThe current employment status.Active

Tip: The Employee ID field does not auto-generate. Establish a consistent naming convention (for example, EMP-001, ENG-042, or 2025-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 TypeDescriptionPayrollStatutory Compliance
EmployeeA regular, full-time or part-time employee on the organization's payroll.Included in payrunEPF, ESIC, PT, TDS apply
ContractorAn external worker, consultant, or freelancer. May receive payments outside the standard payrun.Excluded by defaultTDS 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.

StatusMeaning
ActiveCurrently employed. Included in payroll, attendance, and leave calculations.
InactiveTemporarily disabled. Employee cannot log in. Excluded from payroll runs.
TerminatedEmployment has ended. Record is retained for historical reporting but excluded from all active processes.
On NoticeEmployee 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

  1. Type the employee's First Name and Last Name.
  2. Enter their Email address. This must be a valid, unique email.
  3. Enter the Employee ID following your organization's convention.

Basic information fields

Step 2: Assign Department and Designation

  1. From the Department dropdown, select the appropriate department.
  2. 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

  1. From the Office dropdown, select the employee's primary office location.
  2. 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

  1. Select the Date of Joining using the date picker.
  2. Choose the Worker TypeEmployee or Contractor.
  3. Enter the Annual CTC in INR (whole numbers, no decimals needed).
  4. Confirm the Status is set to Active.

Employment details fields

Step 5: Save the Record

  1. Review all fields for accuracy.
  2. Click the Save button.
  3. 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:

  1. Employee Record Created — The employee appears in the Employees list with the status you selected.
  2. 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.
  3. OfficeEmployee Assignment — The employee is assigned to the selected office.
  4. 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

AspectAdmin-CreatedSelf-Registered
Who initiatesHR administrator adds the employee through the Add Employee formEmployee signs up using a registration link (if enabled)
Employee IDAssigned by admin at creation timeMay be assigned later by admin
Department & DesignationSet by adminMay need to be assigned later by admin
CTC & SalarySet by adminMust be set by admin after registration
InvitationSent automatically upon creationNot applicable — employee already has credentials
Profile completenessAll required fields filled at creationMay 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:

  1. Navigate to Employees from the sidebar.
  2. Locate the new employee in the list. Use the search bar or filter by department.
  3. Click the employee's name to open their profile.
  4. Confirm all details are correct: name, email, employee ID, department, designation, office, date of joining, worker type, CTC, and status.

Employee list with new entry


Adding Statutory Details

After creating the employee, you should add their statutory identifiers. Navigate to the employee's profile and enter:

FieldDescriptionFormat
EPF NumberEmployees' Provident Fund member IDState/Office/Establishment/Extension/Account (e.g., MH/BOM/12345/000/0001234)
ESIC NumberEmployees' State Insurance Corporation number17-digit numeric
UAN NumberUniversal Account Number for EPF12-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 MessageCauseSolution
"Email has already been taken"Another employee in the organization has the same emailUse a unique email address for each employee
"Employee ID has already been taken"The employee ID is not unique within the organizationChoose a different employee ID
"Department is required"No department was selectedSelect a department from the dropdown
"Date of Joining cannot be blank"The date of joining field was left emptySelect a valid date
"Annual CTC must be greater than 0"CTC was left blank or set to zeroEnter a positive value for the annual CTC

Next Steps

After adding your first employee:

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.


  1. From the sidebar, click Employees.
  2. On the Employees list page, locate the employee using the search bar or department filter.
  3. 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.

Employee profile overview


Profile Sections Overview

SectionData StoredModel
Basic InformationName, email, employee ID, department, designation, office, date of joining, worker type, CTC, statusEmployee, OrganizationEmployee
Personal DetailsDate of birth, gender, marital status, Aadhar number, PAN, blood group, address, emergency contactPersonalDetail
Bank DetailsBank name, branch, account number, IFSC code, PAN numberBankDetail
Statutory DetailsEPF number, ESIC number, UAN numberOrganizationEmployee
Profile PhotoEmployee photographProfile
DocumentsUploaded identity proofs, offer letters, and other HR documentsProfile attachments

Personal Details

The PersonalDetail model stores all personal and demographic information for an employee.

Viewing Personal Details

  1. Open the employee's profile.
  2. Navigate to the Personal Details tab or section.
  3. All filled fields are displayed in a read-only format.

Editing Personal Details

  1. On the Personal Details section, click the Edit button.
  2. Update the relevant fields.
  3. Click Save.

Personal Details Fields

FieldDescriptionRequiredFormat
Date of BirthEmployee's date of birthYesYYYY-MM-DD
GenderMale, Female, or OtherYesDropdown
Marital StatusSingle, Married, Divorced, WidowedNoDropdown
Aadhar Number12-digit Aadhaar unique identity numberYes (for statutory)1234 5678 9012
PANPermanent Account Number for income taxYes (for payroll)ABCDE1234F
Blood GroupEmployee's blood groupNoA+, B-, O+, etc.
Father's NameFather's full name (required for some statutory forms)NoText
NationalityCountry of citizenshipNoDropdown

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.

Personal details form


Address Information

Current Address

FieldDescription
Address Line 1Street address, house/flat number
Address Line 2Locality, landmark
CityCity or town
StateState or union territory
PIN Code6-digit postal code
CountryCountry (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

FieldDescription
Contact NameName of the emergency contact person
RelationshipRelationship to the employee (Spouse, Parent, Sibling, etc.)
Phone NumberContact phone number
EmailContact 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

  1. Open the employee's profile.
  2. Navigate to the Bank Details tab or section.

Editing Bank Details

  1. Click the Edit button on the Bank Details section.
  2. Fill in or update the fields.
  3. Click Save.

Bank Details Fields

FieldDescriptionRequiredFormat
Bank NameName of the bankYesText (e.g., State Bank of India)
Branch NameBranch where the account is heldYesText (e.g., Andheri West)
Account NumberBank account numberYesNumeric (9-18 digits)
Confirm Account NumberRe-enter account number for verificationYesMust match Account Number
IFSC CodeIndian Financial System Code for the branchYes11 characters (e.g., SBIN0001234)
PAN NumberPAN linked to the bank accountYesABCDE1234F
Account TypeSavings or CurrentNoDropdown

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.

Bank details form


Statutory Details

Statutory identifiers are stored on the OrganizationEmployee model and are required for Indian statutory compliance.

Statutory Fields

FieldDescriptionUsed ForFormat
EPF NumberEmployee's Provident Fund member IDMonthly EPF contributions, EPF returnsState/Office/Estab/Ext/Account
ESIC NumberEmployee State Insurance numberESIC contributions and claims17-digit numeric
UAN NumberUniversal Account NumberLinks EPF accounts across employers12-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

  1. Open the employee's profile.
  2. Click the photo placeholder or the Upload Photo button near the employee's name.
  3. Select an image file (JPG, PNG). Recommended size: 400x400 pixels, maximum 2 MB.
  4. 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

DocumentPurpose
Aadhar CardIdentity verification
PAN CardTax identification
PassportIdentity and travel document
Offer LetterEmployment offer record
Appointment LetterFormal appointment document
Educational CertificatesQualification verification
Previous Employment LettersExperience verification
Bank Passbook / Cancelled ChequeBank account verification

Uploading a Document

  1. Open the employee's profile.
  2. Navigate to the Documents section.
  3. Click Upload Document.
  4. Select the Document Type from the dropdown.
  5. Choose the file from your computer. Supported formats: PDF, JPG, PNG. Maximum size: 5 MB per file.
  6. Click Upload.

Document upload section

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

SectionEmployee Can EditRequires Admin Approval
Personal details (address, emergency contact, blood group)YesNo
Bank detailsYesYes (admin reviews before payroll uses new details)
Profile photoYesNo
DocumentsYes (upload)No
Department, designationNoN/A — admin only
CTC, salary structureNoN/A — admin only
Statutory numbers (EPF, ESIC, UAN)NoN/A — admin only

How Self-Service Editing Works

  1. The employee logs in to Udyamo HRMS.
  2. Clicks their profile icon or navigates to My Profile.
  3. Edits the allowed fields.
  4. Clicks Save.
  5. 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

  1. Open the employee's profile.
  2. Navigate to the Office Assignment section.
  3. Click Add Office.
  4. Select the additional office from the dropdown.
  5. 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.

  1. Open the employee's profile.
  2. Navigate to the Activity Log or Change History section.
  3. 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

ErrorCauseSolution
"Aadhar number is invalid"The Aadhar number is not exactly 12 digitsEnter a valid 12-digit Aadhar number without spaces
"PAN format is invalid"PAN does not match the 10-character formatEnter PAN in the format ABCDE1234F
"IFSC code is invalid"IFSC does not match the 11-character formatVerify the IFSC code with the bank or an online IFSC lookup
"Account number is required"Bank account number was left blankEnter the full bank account number
"File too large"Uploaded document exceeds the 5 MB limitCompress the file or use a lower-resolution scan

Next Steps

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

  1. From the sidebar, click Employees.
  2. Click the Import button in the top-right area of the Employees list page.
  3. The Import page opens, displaying options for downloading templates and uploading files.

Import page navigation


Import Types

Udyamo HRMS supports importing several types of data:

Import TypeDescriptionTemplate Available
Employee ImportBulk-create employee records with personal details, department, designation, office, CTC, and moreYes
Attendance ImportUpload historical or corrected attendance records (date, check-in, check-out)Yes
Leave ImportImport leave balances or historical leave recordsYes

Employee Import — Step by Step

Step 1: Download the Import Template

  1. On the Import page, select Employee Import as the import type.
  2. Click Download Template.
  3. 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:

ColumnRequiredDescriptionExample
first_nameYesEmployee's first namePriya
last_nameYesEmployee's last nameSharma
emailYesUnique work emailpriya@example.com
emp_idYesUnique employee IDEMP-001
departmentYesMust match an existing department name exactlyEngineering
designationYesMust match an existing designation name under the departmentSoftware Engineer
officeYesMust match an existing office name exactlyMumbai HQ
date_of_joiningYesFormat: YYYY-MM-DD2025-04-01
worker_typeYesemployee or contractoremployee
annual_ctcYesAnnual CTC in INR (numeric, no commas)600000
statusNoactive, inactive, or terminated. Defaults to activeactive
date_of_birthNoFormat: YYYY-MM-DD1990-05-15
genderNomale, female, or otherfemale
aadhar_numberNo12-digit Aadhar number123456789012
panNo10-character PANABCDE1234F
phoneNoPhone number with country code+919876543210
bank_nameNoName of the bankState Bank of India
account_numberNoBank account number12345678901234
ifsc_codeNo11-character IFSC codeSBIN0001234
epf_numberNoEPF member IDMH/BOM/12345/000/0001234
esic_numberNo17-digit ESIC number12345678901234567
uan_numberNo12-digit UAN123456789012

Step 3: Fill In Employee Data

  1. Open the downloaded template in a spreadsheet application (Excel, Google Sheets, LibreOffice Calc).
  2. Enter one employee per row.
  3. Ensure all required fields are filled.
  4. 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.

Filled import template

Step 4: Upload the File

  1. On the Import page, click Choose File or drag and drop the file into the upload area.
  2. Select your prepared CSV or Excel file.
  3. 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:

ElementDescription
Total rowsNumber of employee records found in the file
Valid rowsRows that passed all validation checks and are ready to import
Rows with errorsRows that have validation issues and will be skipped unless corrected
Data tableA scrollable table showing each row with its parsed values
Error indicatorsRed highlighting or error icons on rows/cells with issues

Import preview screen

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:

ErrorCauseFix
"Email already exists"An employee with this email is already in the systemRemove the duplicate row or use a different email
"Employee ID already exists"The emp_id is already assigned to another employeeAssign a unique employee ID
"Department not found"The department name does not match any existing departmentCheck the spelling and capitalization; create the department if needed
"Designation not found"The designation does not exist under the specified departmentVerify the designation exists under the correct department
"Office not found"The office name does not match any existing officeCheck the spelling; create the office if needed
"Invalid date format"The date is not in YYYY-MM-DD formatCorrect 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 contractorUse one of the two accepted values

You have two options:

  1. Proceed with valid rows only — Click Import to import all valid rows and skip error rows.
  2. Fix and re-upload — Download the error report, correct the issues in your file, and upload again.

Step 7: Confirm and Execute Import

  1. After reviewing the preview, click the Import or Confirm Import button.
  2. The system processes the import in a batch.
  3. A progress indicator shows the import status.
  4. 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

ColumnRequiredDescriptionFormat
emp_idYesEmployee ID (must match an existing employee)EMP-001
dateYesAttendance dateYYYY-MM-DD
check_in_timeYesCheck-in timeHH:MM (24-hour)
check_out_timeNoCheck-out timeHH:MM (24-hour)
working_hourNoTotal working hours (auto-calculated if check-out is provided)Decimal (e.g., 8.5)

Steps

  1. On the Import page, select Attendance Import.
  2. Click Download Template to get the attendance import template.
  3. Fill in attendance records — one row per employee per date.
  4. Upload the file.
  5. Review the preview. The system validates that each emp_id exists and dates are valid.
  6. 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

ColumnRequiredDescriptionFormat
emp_idYesEmployee IDEMP-001
leave_categoryYesMust match an existing leave category nameEarned Leave
from_dateYesLeave start dateYYYY-MM-DD
to_dateYesLeave end dateYYYY-MM-DD
leave_typeNofull_day or half_dayfull_day
reasonNoReason for leavePersonal

Steps

  1. On the Import page, select Leave Import.
  2. Download the template.
  3. Fill in leave records.
  4. Upload and preview.
  5. Resolve any errors (e.g., leave category name mismatches, invalid employee IDs).
  6. Confirm the import.

Tips for Clean Data

Following these practices minimizes errors during import:

  1. Use exact names — Department, designation, office, and leave category names must match the system configuration exactly, including capitalization and spacing.
  2. Consistent date format — Always use YYYY-MM-DD. Avoid regional date formats like DD/MM/YYYY or MM/DD/YYYY.
  3. No commas in numbers — Enter 600000, not 6,00,000 or 600,000.
  4. Trim whitespace — Remove leading and trailing spaces from all cells.
  5. Validate emails — Ensure all email addresses are properly formatted and unique.
  6. Check for duplicates — Remove duplicate rows before uploading. The system will flag duplicates, but it is faster to clean them beforehand.
  7. Test with a small batch first — Before importing hundreds of records, test with 5-10 records to ensure your template is correctly formatted.
  8. 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 SizeEstimated TimeNotes
1-50 recordsUnder 30 secondsProcessed immediately
50-200 records1-2 minutesProcessed in background
200-500 records2-5 minutesProcessed in background with progress indicator
500+ records5-15 minutesProcessed 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:

  1. After the import completes, click Download Error Report.
  2. The report is a CSV file listing only the rows that failed, with an additional column showing the error message for each row.
  3. Correct the errors in the report file.
  4. Re-upload only the corrected rows.

Next Steps

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:

  1. Admin creates employee — When an employee record is saved, Udyamo HRMS generates a unique, time-limited invitation token.
  2. Invitation email sent — The system sends an email to the employee's registered email address containing a secure link with the token.
  3. Employee clicks the link — The link opens a page where the employee sets their password.
  4. 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:

  1. Navigate to Employees from the sidebar.
  2. Click the employee's name to open their profile.
  3. Locate the Invitation Status section or the Actions menu.
  4. Click Send Invitation or Resend Invitation.
  5. A confirmation message appears, and the invitation email is sent.

Send invitation from profile


Invitation Status

Each employee's invitation has one of the following statuses:

StatusMeaning
Invitation SentThe invitation email has been sent but the employee has not yet accepted
Invitation AcceptedThe employee has clicked the link and set their password
Invitation ExpiredThe invitation token has expired without being accepted
Not InvitedNo 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:

  1. Their browser opens the Udyamo HRMS acceptance page.
  2. The page displays the organization name and the employee's email (pre-filled).
  3. The employee enters a new password and confirms the password.
  4. Clicks Accept Invitation or Set Password.
  5. The system validates the token, sets the password (stored as encrypted_password on the Employee model), and activates the account.
  6. The employee is redirected to the dashboard.

Invitation acceptance page

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:

ScenarioAction
Employee did not receive the email (spam filter, wrong email)Verify the email address is correct, then resend
Invitation expired before employee acceptedResend to generate a new token
Employee accidentally deleted the emailResend the invitation
Email address was changed after initial invitationUpdate the email on the profile, then send a new invitation

Steps to Resend

  1. Open the employee's profile.
  2. Click Resend Invitation from the Actions menu or Invitation Status section.
  3. A new token is generated and a fresh email is sent.
  4. 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.

SettingDefaultWhere to Configure
Invitation token validityConfigured 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

Employee self-service dashboard

Available Self-Service Features

FeatureDescriptionNavigation
View PayslipsDownload monthly payslips in PDF formatMy Payslips or Payroll > Payslips
Apply for LeaveSubmit leave applications with date range, leave category, and reasonLeave > Apply
Check Leave BalanceView available, used, and total leave days for each categoryLeave > Balance
View AttendanceSee daily attendance records, check-in/check-out times, and working hoursAttendance > My Attendance
Check In / Check OutPerform daily check-in and check-out from the portal or mobileDashboard or Attendance > Check In
Update Personal DetailsEdit address, emergency contact, blood group, and other personal fieldsMy Profile > Personal Details
Update Bank DetailsSubmit bank account changes (requires admin approval before payroll use)My Profile > Bank Details
Upload DocumentsUpload identity documents, certificates, and other filesMy Profile > Documents
Upload Profile PhotoSet or change profile photographMy Profile
Submit ReimbursementsCreate expense reimbursement claims with receiptsReimbursements > New Claim
Submit Overtime RequestsRequest overtime approval for extra hours workedAttendance > Overtime > New Request
View AnnouncementsRead company-wide announcements and notificationsDashboard or Announcements
View HolidaysSee the holiday calendar for the current yearLeave > Holidays

Employee vs. Administrator Capabilities

The table below summarizes what employees can and cannot do compared to administrators.

ActionEmployeeAdministrator
View own profileYesYes (all employees)
Edit personal details (address, emergency contact)YesYes
Edit bank detailsYes (pending approval)Yes (immediate)
View own payslipsYesYes (all employees)
Apply for leaveYesYes (on behalf of any employee)
Approve/reject leaveNo (unless manager role)Yes
Check in / check outYesYes (manual entry for any employee)
View own attendanceYesYes (all employees)
Edit attendance recordsNoYes
Submit reimbursementsYesYes
Approve reimbursementsNo (unless manager role)Yes
Submit overtime requestsYesYes
Approve overtime requestsNo (unless manager role)Yes
Add/edit employeesNoYes
Configure departments, officesNoYes
Run payrollNoYes
Change CTC/salary structureNoYes
Configure policies (attendance, leave)NoYes

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.

  1. After accepting the invitation and logging in, the employee navigates to My Profile > Security.
  2. Clicks Enable Two-Factor Authentication.
  3. Scans the QR code with an authenticator app (Google Authenticator, Authy, etc.).
  4. Enters the OTP to confirm setup.
  5. 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

ProblemPossible CauseSolution
Employee did not receive the invitation emailEmail went to spam/junk folderAsk the employee to check spam; whitelist the sending domain
Employee did not receive the invitation emailIncorrect email address on the employee recordCorrect the email and resend the invitation
"Token is invalid or expired" when clicking the linkToken has expiredResend the invitation from the admin panel
"Token is invalid or expired" when clicking the linkEmployee clicked an older invitation link after a resendAsk the employee to use the most recent email
Employee cannot log in after acceptingPassword not meeting complexity requirementsAsk the employee to reset their password; verify password policy
Employee sees a blank page after clicking the linkBrowser compatibility issueTry a different browser (Chrome, Firefox, Edge)
Invitation status shows "Sent" but employee claims they acceptedThe employee may have set the password but not completed the processCheck 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

  1. 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.
  2. 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.
  3. Set a deadline — Ask employees to accept invitations within a specific number of days. Follow up with employees who have not accepted.
  4. 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).
  5. Monitor invitation status — Regularly check the Employees list filtered by invitation status to identify employees who have not accepted.

Next Steps

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:


  1. From the sidebar, click Attendance.
  2. Click Shifts from the submenu.
  3. The Shifts list page displays all configured shifts.

Shifts list page


Understanding the Shift Model

Each shift in Udyamo HRMS has the following attributes:

FieldDescriptionExample
NameA descriptive name for the shiftGeneral Shift
Start TimeThe time the shift begins09:00
End TimeThe time the shift ends18:00
Grace Period (minutes)Allowed buffer time after start before marking late15
Break Duration (minutes)Total break time within the shift (deducted from working hours)60
Is DefaultWhether this is the default shift assigned to new employeesYes/No
Applicable DaysWhich days of the week this shift applies toMon-Fri

Creating a New Shift

Step 1: Open the Create Form

  1. On the Shifts list page, click Add Shift or Create New Shift.
  2. The shift creation form opens.

Step 2: Enter Shift Details

  1. Name — Enter a descriptive name. Use names that clearly indicate the shift pattern (e.g., "Morning Shift", "Evening Shift", "Night Shift", "General 9-6").
  2. Start Time — Select the shift start time using the time picker. Use 24-hour format.
  3. 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).
  4. 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.
  5. Break Duration — Enter the total break time in minutes. This is deducted from the gross working hours to calculate net working hours.

Create shift form

Step 3: Configure Applicable Days

  1. Select the days of the week this shift applies to.
  2. Typically, this matches your work week configuration (e.g., Monday to Friday or Monday to Saturday).
  3. Deselect any days that should not use this shift.

Step 4: Save the Shift

  1. Review all fields.
  2. Click Save.
  3. 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

  1. Navigate to Attendance > Shifts.
  2. Locate the shift you want to make the default.
  3. Click the Actions menu (three dots or gear icon) for that shift.
  4. Select Set as Default.
  5. The shift is now marked with a "Default" badge.

Alternatively, when creating or editing a shift:

  1. Check the Is Default checkbox.
  2. 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 NameStart TimeEnd TimeGrace PeriodBreak DurationUse Case
General Shift09:0018:0015 min60 minStandard office hours
Morning Shift06:0014:0010 min30 minManufacturing, BPO (first shift)
Afternoon Shift14:0022:0010 min30 minManufacturing, BPO (second shift)
Night Shift22:0006:0010 min30 minManufacturing, BPO (third shift)
Flexible Shift08:0020:00120 min60 minIT companies with flexible hours
Half-Day Shift09:0013:0015 min0 minSaturday 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

  1. Navigate to Employees and open the employee's profile.
  2. Go to the Attendance or Shift section of the profile.
  3. Click Assign Shift or Edit Shift.
  4. Select the desired shift from the dropdown.
  5. Optionally, set an Effective Date from which this shift assignment begins.
  6. Click Save.

Assign shift to employee

Bulk Assignment

To assign a shift to multiple employees at once:

  1. Navigate to Attendance > Shifts.
  2. Click the shift you want to assign.
  3. On the shift detail page, click Assign Employees or Manage Assignments.
  4. A list of all employees appears. Use checkboxes to select employees.
  5. Use filters (department, office, designation) to narrow the list.
  6. 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):

  1. Open the employee's profile.
  2. Navigate to the Shift section.
  3. Change the shift assignment to the new shift.
  4. Set the Effective Date to the date the new shift starts.
  5. 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

  1. Create all the shifts that are part of the rotation (e.g., Morning Shift, Afternoon Shift, Night Shift).
  2. Assign the initial shift to each employee.
  3. 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

WeekGroup AGroup BGroup C
Week 1Morning (06:00-14:00)Afternoon (14:00-22:00)Night (22:00-06:00)
Week 2Night (22:00-06:00)Morning (06:00-14:00)Afternoon (14:00-22:00)
Week 3Afternoon (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 AspectHow Shift Affects It
On-time check-inCheck-in at or before (start time + grace period) is considered on time
Late check-inCheck-in after (start time + grace period) is marked late
Early check-outCheck-out before end time is flagged as early departure
Working hoursCalculated as (check-out - check-in - break duration)
Half-dayIf working hours fall below the minimum threshold, may be marked as half-day per attendance policy
AbsentIf no check-in is recorded for a working day, the employee is marked absent
OvertimeHours 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

  1. Navigate to Attendance > Shifts.
  2. Click the shift name to open its details.
  3. Click Edit.
  4. Modify the desired fields.
  5. 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

  1. Navigate to Attendance > Shifts.
  2. Click the Actions menu for the shift.
  3. Select Delete.
  4. 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

ErrorCauseSolution
"End time must be different from start time"Start and end times are the sameSet a different end time
"Shift name already exists"A shift with this name already existsUse a unique name
"Cannot delete shift with active assignments"Employees are still assigned to this shiftReassign employees to another shift first
"Grace period cannot exceed shift duration"Grace period is longer than the total shift lengthReduce the grace period

Next Steps

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:

FieldDescriptionExample
dateThe calendar date of the attendance record2025-06-15
check_in_timeThe timestamp when the employee checked in09:03
check_out_timeThe timestamp when the employee checked out18:15
working_hourCalculated 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

  1. The employee logs in to Udyamo HRMS.
  2. On the Dashboard, a prominent Check In button is displayed (if the employee has not yet checked in for the day).
  3. The employee clicks Check In.
  4. 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)
  5. The button changes to Check Out (or the status updates to "Checked In").
  6. A confirmation message displays the check-in time.

Check-in button on dashboard

Check-In via Mobile

  1. Open Udyamo HRMS on the mobile browser or app.
  2. Tap the Check In button on the dashboard.
  3. If location tracking is enabled, the app requests location permission. Grant it.
  4. 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

  1. At the end of the work day, the employee navigates to the Dashboard or Attendance section.
  2. Clicks the Check Out button.
  3. The system records the current timestamp as check_out_time.
  4. Working hours are automatically calculated: check_out_time - check_in_time - break_duration.
  5. The attendance status updates to "Completed" for the day.

Check-out confirmation

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

  1. After checking out mid-day, the employee can click Check In again.
  2. The system creates a new check-in entry for the same date.
  3. 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.

  1. Navigate to Attendance > Settings.
  2. Locate the Multiple Check-In section.
  3. Set the Maximum Check-Ins Per Day value (e.g., 4).
  4. Save.
SettingDescriptionDefault
Maximum Check-Ins Per DayThe maximum number of times an employee can check in on a single dayConfigurable (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-InCheck-OutHours
09:0012:303.50
13:3018:004.50
Total8.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

  1. While checked in, the employee clicks Start Break on the dashboard.
  2. The break start time is recorded.
  3. When the break ends, the employee clicks End Break.
  4. 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.
ModeWorking 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

  1. The system compares the check_in_time against the employee's assigned shift start time plus the configured grace period.
  2. 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

WhoWhere to See Late Check-Ins
EmployeeDashboard attendance widget shows a "Late" indicator
ManagerTeam attendance view highlights late entries
AdminAttendance 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

  1. The system compares check_out_time against the shift end time.
  2. 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:

DeviceMethodLocation Tracked
Desktop browserClick "Check In" on the web portalBased on IP (approximate)
Mobile browserClick "Check In" on the mobile webGPS location (if permitted)
Biometric deviceFingerprint or card swipeDevice location (fixed)
Face recognition terminalFacial scanDevice location (fixed)
Mobile appTap "Check In" in the appGPS 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

  1. Log in to Udyamo HRMS.
  2. 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

  1. Navigate to Attendance > Team Attendance or Dashboard > Team Overview.
  2. View a list of team members with their current attendance status.
  3. Filter by status: Present, Absent, Late, On Leave.

Administrator View

  1. Navigate to Attendance > Daily Attendance.
  2. View all employees' attendance for the current date.
  3. Use filters: department, office, status, shift.

Daily attendance admin view


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

  1. Navigate to Attendance > Daily Attendance or open the employee's attendance record.
  2. Locate the date that needs correction.
  3. Click Edit on the attendance entry.
  4. Modify the Check-In Time, Check-Out Time, or both.
  5. Optionally add a Reason for the correction (for audit trail).
  6. Click Save.
  7. The working hours are automatically recalculated.

Edit attendance record

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):

  1. Navigate to Attendance > Daily Attendance.
  2. Click Add Attendance or Manual Entry.
  3. Select the Employee from the dropdown.
  4. Select the Date.
  5. Enter the Check-In Time and Check-Out Time.
  6. 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 TypeDescription
check_inEmployee checked in
check_outEmployee checked out
break_startEmployee started a break
break_endEmployee ended a break
manual_editAdministrator modified the record
auto_checkoutSystem auto-checked out the employee based on policy
device_check_inCheck-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.

SettingDescription
Auto-Checkout EnabledWhen enabled, the system automatically records a check-out for employees at a specified time
Auto-Checkout TimeThe 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

IssueCauseSolution
"Already checked in" errorEmployee tries to check in when already checked inCheck out first, then check in again (if multiple check-ins are enabled)
"Maximum check-ins reached"Employee has reached the configured daily limitAdministrator can increase the limit or add a manual entry
Check-in time is wrongEmployee's device clock is incorrectCheck-in time is recorded server-side; if still wrong, admin can edit
No check-out recordedEmployee forgot to check outAdmin can add the check-out time manually
Working hours show 0 despite check-in and check-outBreak duration exceeds working timeVerify the shift break duration configuration
Check-in rejected (location)Employee is outside the geo-fence radiusEmployee must be within the configured radius, or admin can add a manual entry

Next Steps

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:


  1. From the sidebar, click Attendance.
  2. Click Calendar from the submenu.
  3. The calendar view opens, displaying the current month.

Attendance calendar view


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
  • 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)

  1. At the top of the calendar, use the Employee dropdown to select a specific employee.
  2. The calendar updates to show that employee's attendance.
  3. 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.

ColorStatusDescription
GreenPresentEmployee checked in and met the minimum working hours
RedAbsentNo check-in recorded on a working day
Yellow/OrangeHalf DayEmployee was present but working hours fell below the full-day threshold
BlueOn LeaveEmployee was on approved leave
GreyWeekendNon-working day as defined in the work week configuration
PurpleHolidayA public or organization-specific holiday
Light GreenLate ArrivalEmployee checked in but was late (after grace period)
White/No ColorFuture DateDate 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 color coding legend


Calendar Day Details

Clicking on a specific day opens a detail panel or popup showing:

FieldDescription
DateThe selected date
StatusPresent, Absent, Half Day, Leave, Holiday, Weekend
ShiftThe shift assigned to the employee on that date
Check-In TimeTime of first check-in
Check-Out TimeTime of last check-out
Working HoursTotal calculated working hours
Break DurationBreak time recorded or deducted
Late ByMinutes late (if applicable)
Early Departure ByMinutes left early (if applicable)
OvertimeExtra hours beyond shift end (if applicable)
LocationCheck-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.

MetricDescription
Total Working DaysNumber of working days in the month (excluding weekends and holidays)
Days PresentNumber of days the employee was present
Days AbsentNumber of working days with no attendance
Half DaysNumber of days marked as half-day
Leaves TakenNumber of leave days in the month
HolidaysNumber of holidays in the month
Late ArrivalsCount of days with late check-in
Early DeparturesCount of days with early check-out
Total Working HoursSum of working hours for the month
Average Working HoursAverage daily working hours
Overtime HoursTotal overtime hours (if tracked)

Monthly summary panel


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

  1. Navigate to Attendance > Reports.
  2. Select Daily Summary as the report type.
  3. Choose the Date using the date picker.
  4. Optionally filter by Department, Office, or Shift.
  5. Click Generate Report.

Daily Summary Report Columns

ColumnDescription
Employee NameFull name
Employee IDOrganization employee ID
DepartmentEmployee's department
ShiftAssigned shift for the day
Check-InCheck-in time
Check-OutCheck-out time
Working HoursCalculated working hours
StatusPresent, Absent, Half Day, Leave, Holiday
LateLate flag with minutes
Early DepartureEarly departure flag with minutes

Daily summary report

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

  1. Navigate to Attendance > Reports.
  2. Select Date Range Report as the report type.
  3. Choose the From Date and To Date.
  4. Optionally filter by Department, Office, Employee, or Shift.
  5. Click Generate Report.

Date Range Report Columns

ColumnDescription
Employee NameFull name
Employee IDOrganization employee ID
DepartmentDepartment name
Total Working DaysWorking days in the range
Days PresentDays with recorded attendance
Days AbsentDays without attendance (excluding leaves and holidays)
Half DaysDays marked as half-day
LeavesApproved leave days in the range
Late ArrivalsCount of late check-ins
Early DeparturesCount of early departures
Total Working HoursSum of working hours
Average Working HoursAverage daily working hours
Overtime HoursOvertime hours in the range

Exporting Attendance Data

All attendance reports can be exported for external analysis or record-keeping.

Export Formats

FormatUse Case
CSVImport into Excel, Google Sheets, or other spreadsheet tools
Excel (.xlsx)Direct use in Microsoft Excel with formatting preserved
PDFPrintable format for documentation and compliance records

How to Export

  1. Generate the desired report (daily summary or date range).
  2. Click the Export button above the report table.
  3. Select the format: CSV, Excel, or PDF.
  4. 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

FilterDescription
DepartmentShow only employees from a specific department
OfficeShow only employees assigned to a specific office
EmployeeShow data for a single employee
ShiftShow only employees on a specific shift
StatusFilter by attendance status (Present, Absent, Late, On Leave)
Date RangeSpecify the date range for reports

Using Filters

  1. On the report or calendar page, locate the filter panel (typically at the top).
  2. Select the desired filter values from the dropdowns.
  3. Click Apply or the report auto-refreshes.
  4. To clear filters, click Reset or Clear Filters.

Attendance Analytics

The analytics section provides visual summaries of attendance patterns.

Key Analytics

MetricVisualizationDescription
Attendance RatePercentage gaugePercentage of working days with attendance across the organization
Punctuality RatePercentage gaugePercentage of check-ins that were on time (not late)
Department-wise AttendanceBar chartAverage attendance rate by department
Late Arrival TrendLine chartCount of late arrivals over time (daily/weekly/monthly)
Absenteeism TrendLine chartCount of absent days over time
Working Hours DistributionHistogramDistribution of daily working hours across employees

Attendance analytics dashboard

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 TypeCalendar Display
National HolidayMarked in purple, applies to all employees
State HolidayMarked in purple, applies to employees in offices within that state
Optional HolidayMarked differently (e.g., lighter purple); employees may choose to take it
Organization HolidayCustom holidays defined by the organization

Common Issues and Solutions

IssueCauseSolution
Calendar shows all days as absentNo attendance data exists for the monthVerify employees are checking in; check shift assignments
Working hours show as 0Check-out not recordedAdd check-out time manually (admin)
Holidays not appearing on calendarHolidays not configured for the current yearAdd holidays in Settings > Leave & Attendance > Holidays
Report shows incorrect totalsDate range does not match the intended periodVerify the from and to dates in the filter
Export file is emptyNo data matches the current filtersClear or adjust filters and regenerate the report
Weekends are marked as absentWork week configuration is incorrectVerify the work week settings in Settings > Organization

Next Steps

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:


  1. From the sidebar, click Attendance.
  2. Click Settings or Policies from the submenu.
  3. The Attendance Policy configuration page opens.

Alternatively:

  1. Navigate to Settings > Leaves & Attendance.
  2. Select the Attendance Policies tab.

Attendance policy settings


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

  1. On the Attendance Policies page, click Add Policy or Create New Policy.
  2. The policy creation form opens.

Step 2: Enter Policy Details

FieldDescriptionExample
Policy NameA descriptive name for the policyStandard Office Policy
DescriptionOptional description of the policy's purposeDefault 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.

SettingDescriptionExample
Late Mark After (minutes)Minutes after shift start + grace period before marking as late0 (immediately after grace period)
Maximum Late Arrivals Per MonthNumber of late arrivals allowed per month before deductions3
Deduction After Exceeding Late LimitWhat happens when the late limit is exceededHalf-day deduction
Late Arrival Penalty TypeHow each excess late arrival is penalizedPer 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.

SettingDescriptionExample
Allow Early Check-InWhether employees can check in before the shift start timeYes
Early Check-In Limit (minutes)Maximum minutes before shift start that check-in is allowed60
Count Early Hours as WorkingWhether time before shift start counts toward working hoursNo
Count Early Hours as OvertimeWhether early hours count toward overtimeNo

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.

SettingDescriptionExample
Allow Late Check-OutWhether employees can check out after the shift end timeYes
Late Check-Out Limit (minutes)Maximum minutes after shift end before auto-checkout240
Count Late Hours as WorkingWhether time after shift end counts toward working hoursYes
Count Late Hours as OvertimeWhether 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

SettingDescriptionExample
Minimum Working Hours (Full Day)Minimum hours required for a full day of attendance8.0
Minimum Working Hours (Half Day)Minimum hours required for a half-day4.0
Absent Below (hours)Working hours below this threshold result in absent marking2.0

Working Hour Thresholds Explained:

Working HoursStatus
8.0 or moreFull Day (Present)
4.0 to 7.99Half Day
2.0 to 3.99Quarter Day or Absent (depends on configuration)
Below 2.0Absent

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

SettingDescriptionExample
Mark Absent if No Check-InAutomatically mark employees as absent on working days with no check-inYes
Mark Absent After (time)Time after which the system marks an employee absent if no check-in existsEnd of shift
Absent Working Days OnlyOnly mark absent on configured working days (not weekends or holidays)Yes

Step 6: Configure Auto-Checkout

SettingDescriptionExample
Auto-Checkout EnabledAutomatically check out employees who forget to check outYes
Auto-Checkout TimeThe time at which auto-checkout occurs23:59
Auto-Checkout Based on ShiftUse the shift end time instead of a fixed time for auto-checkoutYes
Auto-Checkout Working HoursWorking 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

  1. Review all configured rules.
  2. Click Save.
  3. The policy appears in the Attendance Policies list.

Holiday and Weekend Validation

These rules control attendance behavior on non-working days.

SettingDescriptionExample
Allow Check-In on HolidaysWhether employees can check in on declared holidaysYes
Allow Check-In on WeekendsWhether employees can check in on weekendsYes
Count Holiday AttendanceWhether attendance on holidays counts for any purpose (overtime, comp-off)Yes — as overtime
Count Weekend AttendanceWhether attendance on weekends counts for any purposeYes — 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

LevelDescription
Organization DefaultApplies to all employees unless overridden at a lower level
Department LevelApplies to all employees in a specific department
Office LevelApplies to all employees in a specific office
Individual EmployeeApplies to a specific employee, overriding department and office policies

Assigning a Policy

As Organization Default

  1. On the Attendance Policies page, locate the policy.
  2. Click the Actions menu.
  3. Select Set as Default.
  4. The policy applies to all employees who do not have a department, office, or individual assignment.

To a Department

  1. Navigate to Settings > Organization > Departments.
  2. Edit the department.
  3. In the Attendance Policy field, select the desired policy.
  4. Save.

To an Individual Employee

  1. Open the employee's profile.
  2. Navigate to the Attendance section.
  3. In the Attendance Policy field, select the desired policy.
  4. 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):

PriorityLevel
1 (Highest)Individual Employee assignment
2Department assignment
3Office 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

ScenarioLOP 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 hours0.5 or 1 LOP day (based on actual hours)

LOP in Payroll

During payroll processing:

  1. The system counts the number of LOP days for each employee based on attendance records and the applied policy.
  2. The per-day salary is calculated as: monthly_salary / total_working_days_in_month.
  3. LOP deduction = per_day_salary * LOP_days.
  4. 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

SettingValue
Grace Period (on shift)15 minutes
Max Late Arrivals/Month3
Late DeductionHalf-day after 3rd late
Min Working Hours (Full Day)8 hours
Min Working Hours (Half Day)4 hours
Auto-CheckoutAt shift end + 30 minutes
Weekend Check-InNot allowed
Holiday Check-InNot allowed

Manufacturing / Shift-Based Policy

SettingValue
Grace Period (on shift)5 minutes
Max Late Arrivals/Month2
Late DeductionLOP after 2nd late
Min Working Hours (Full Day)8 hours
Min Working Hours (Half Day)4 hours
Auto-CheckoutAt shift end
Weekend Check-InAllowed (as overtime)
Holiday Check-InAllowed (as overtime)

Flexible Hours Policy (IT/Services)

SettingValue
Grace Period (on shift)120 minutes
Max Late Arrivals/MonthUnlimited
Late DeductionNone
Min Working Hours (Full Day)8 hours
Min Working Hours (Half Day)4 hours
Auto-CheckoutAt midnight
Weekend Check-InAllowed
Holiday Check-InAllowed

Editing and Deleting Policies

Editing

  1. Navigate to the Attendance Policies page.
  2. Click the policy name.
  3. Click Edit.
  4. 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

  1. Click the Actions menu for the policy.
  2. Select Delete.
  3. 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

IssueCauseSolution
Employees not being marked lateGrace period is too generousReduce the grace period on the shift or the late-mark-after value on the policy
All employees showing as half-dayMinimum working hours threshold is too highAdjust the full-day minimum working hours to match actual expectations
LOP deductions are unexpectedPolicy rules are too strictReview the policy; increase the late arrival limit or adjust thresholds
Weekend attendance not countingWeekend check-in is disabled in the policyEnable weekend check-in and configure it to count as overtime
Auto-checkout not workingAuto-checkout is disabled in the policyEnable auto-checkout and set the trigger time

Next Steps

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

  1. From the sidebar, click Attendance.
  2. Click Devices from the submenu.
  3. The Devices page displays a list of all registered attendance devices.

Attendance devices list


Understanding the AttendanceDevice Model

Each registered device has the following attributes:

FieldDescriptionExample
NameA descriptive name for the deviceMain Entrance Biometric
TokenA unique authentication token used by the device to communicate with the Udyamo HRMS APId3f1a2b4-e5c6-7890-abcd-ef1234567890
Device TypeThe type of device (biometric, face recognition, card reader)Face Recognition
Location/OfficeThe office or location where the device is installedMumbai HQ — Lobby
StatusActive or InactiveActive
Last SyncTimestamp of the last successful communication with the server2025-06-15 18:30:00

Adding an Attendance Device

Step 1: Open the Add Device Form

  1. On the Devices page, click Add Device or Register New Device.
  2. The device registration form opens.

Step 2: Enter Device Details

  1. Name — Enter a descriptive name that identifies the device and its location (e.g., "Ground Floor Biometric", "Cafeteria Face Scanner").
  2. 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
  3. Office — Select the office where the device is installed.
  4. Description — Optional notes about the device (model number, serial number, placement details).

Step 3: Generate the Authentication Token

  1. Click Generate Token or the token is auto-generated upon saving.
  2. The system creates a unique, cryptographically secure token.
  3. 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

  1. Click Save.
  2. The device appears in the Devices list with an Active status.
  3. Copy the generated token for device configuration.

Device registration with token


Configuring the Physical Device

After registering the device in Udyamo HRMS, configure the physical device to communicate with the API.

Device Configuration Requirements

SettingValue
API EndpointYour Udyamo HRMS attendance API URL (e.g., https://yourcompany.udyamo.com/api/attendance)
Authentication TokenThe token generated in the previous step
Authentication MethodToken-based (Bearer token in HTTP header)
Data FormatJSON
Sync IntervalHow often the device pushes data to the server (typically real-time or every 1-5 minutes)

How Token-Based Authentication Works

  1. The physical device sends an HTTP request to the Udyamo HRMS API.
  2. The request includes the token in the Authorization header: Bearer <token>.
  3. The server validates the token against the registered AttendanceDevice records.
  4. If valid, the attendance data (employee identifier, timestamp, event type) is accepted and processed.
  5. 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:

FieldDescriptionExample
employee_identifierThe employee ID or face recognition match IDEMP-001
timestampThe date and time of the event (ISO 8601)2025-06-15T09:03:00+05:30
event_typeThe type of eventcheck_in or check_out
device_idThe device's registered name or IDmain-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

  1. Enrollment — The employee's face is scanned and converted into a numerical embedding (a vector of numbers representing facial features).
  2. Storage — The embedding is stored in the EmployeeFace model associated with the employee record.
  3. Recognition — When the device scans a face, it generates a real-time embedding and compares it against all stored embeddings.
  4. Match — If the similarity score exceeds the configured threshold, the employee is identified and the attendance event is recorded.
  5. Logging — An AttendanceEvent of type device_check_in is created with the employee, timestamp, and device information.

Registering Employee Faces

Step 1: Navigate to Face Registration

  1. Open the employee's profile.
  2. Navigate to the Attendance or Face Recognition section.
  3. Click Register Face.

Alternatively:

  1. Navigate to Attendance > Devices > Face Registration.
  2. Select the employee from the dropdown.

Step 2: Capture Face Images

  1. The system prompts the employee to face the camera (web camera or connected device camera).
  2. 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
  3. Each image is processed to extract facial embeddings.

Face registration capture screen

Step 3: Review and Save

  1. The system displays the captured images with quality indicators (good, poor, retake needed).
  2. Review the captures. Retake any images marked as poor quality.
  3. Click Save to store the facial embeddings.
  4. 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

PracticeReason
Register faces in the actual device environmentMatching lighting conditions improves accuracy
Update face data annuallyAppearance changes over time can degrade matching accuracy
Register faces for all shiftsDifferent lighting conditions in day vs. night shifts
Test after registrationHave the employee attempt a check-in to verify recognition works

Managing Employee Face Data

Viewing Registered Faces

  1. Open the employee's profile.
  2. Navigate to the Face Recognition section.
  3. View the registration status: Registered or Not Registered.
  4. 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):

  1. Open the employee's profile.
  2. Navigate to Face Recognition.
  3. Click Update Face Data or Re-Register.
  4. Capture new images following the same process as initial registration.
  5. The new embeddings replace the old ones.

Deleting Face Data

  1. Open the employee's profile.
  2. Navigate to Face Recognition.
  3. Click Delete Face Data.
  4. Confirm the deletion.
  5. 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:

ColumnDescription
Device NameThe registered name
TypeBiometric, Face Recognition, Card Reader
OfficeAssigned office location
StatusActive or Inactive
Last SyncWhen 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

  1. On the Devices list, click the Actions menu for the device.
  2. Select Deactivate.
  3. The device status changes to Inactive.
  4. The device's token is still valid but the server rejects attendance data from inactive devices.

Reactivating a Device

  1. Click the Actions menu for the inactive device.
  2. Select Activate.
  3. 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:

  1. Click the device name to open its details.
  2. Click Regenerate Token.
  3. Confirm the action. The previous token is immediately invalidated.
  4. 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

ProblemPossible CauseSolution
Device not syncingNetwork connectivity issueCheck the device's network connection; verify it can reach the API endpoint
"401 Unauthorized" errors in device logsInvalid or expired tokenRegenerate the token in Udyamo HRMS and reconfigure the device
Face recognition not matching employeesPoor lighting during enrollmentRe-register faces in conditions matching the device's environment
Face recognition not matching employeesOutdated face dataUpdate face registration for affected employees
High false-rejection rateRecognition threshold set too highContact your device vendor to adjust the matching sensitivity
High false-acceptance rateRecognition threshold set too lowContact your device vendor to increase the matching sensitivity
Duplicate attendance entriesDevice sending duplicate eventsCheck device sync interval; implement deduplication on the API side
Device registered but no data coming throughAPI endpoint misconfigured on the deviceVerify the URL, token, and data format on the device
Attendance recorded but employee not matchedEmployee identifier mismatch between device and HRMSEnsure the employee ID on the device matches the Employee ID in Udyamo HRMS

Security Considerations

ConsiderationRecommendation
Token storageStore device tokens securely. Do not share via email or messaging.
Face data privacyFacial embeddings are mathematical representations, not actual photographs. Communicate this to employees for privacy concerns.
Data in transitEnsure the API endpoint uses HTTPS to encrypt data between the device and server.
Physical device securityInstall devices in tamper-resistant enclosures. Restrict physical access to device configuration menus.
Employee consentObtain 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

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

  1. Employee initiates check-in on their device.
  2. The browser or app requests location permission from the device.
  3. The device provides GPS coordinates (latitude, longitude, accuracy).
  4. Udyamo HRMS records the coordinates with the attendance entry.
  5. If geo-fencing is enabled, the system compares the coordinates against the assigned office location.
  6. If the employee is within the geo-fence radius, the check-in is accepted.
  7. 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

  1. Navigate to Settings > Organization > Offices.
  2. Click the office name to edit it.
  3. Locate the Location section of the office form.
  4. Enter the following fields:
FieldDescriptionExample
LatitudeThe latitude coordinate of the office19.0760
LongitudeThe longitude coordinate of the office72.8777
Geo-Fence Radius (meters)The radius around the office within which check-ins are valid200
  1. Click Save.

Office location settings with coordinates

Finding Your Office Coordinates

To find the latitude and longitude for your office:

  1. Open Google Maps in a browser.
  2. Navigate to your office location.
  3. Right-click on the exact location.
  4. The coordinates appear in the context menu (e.g., 19.0760, 72.8777).
  5. 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

  1. The system calculates the distance between the employee's check-in location and the assigned office coordinates.
  2. If the distance is less than or equal to the configured Geo-Fence Radius, the check-in is accepted.
  3. If the distance exceeds the radius, the system takes the configured action.

Geo-Fence Validation Actions

ActionDescription
Accept and FlagThe check-in is recorded but flagged as "outside geo-fence" for admin review
RejectThe check-in is rejected, and the employee sees an error message
Accept Without FlagThe check-in is recorded normally (geo-fencing effectively disabled)

Configuring Geo-Fence Behavior

  1. Navigate to Attendance > Settings.
  2. Locate the Location Tracking section.
  3. Configure the following settings:
SettingDescriptionExample
Enable Location TrackingMaster toggle for location capture during check-inYes
Require Location for Check-InWhether check-in is blocked if location is unavailableNo
Enable Geo-FencingWhether to validate check-in location against office coordinatesYes
Geo-Fence ActionWhat to do when check-in is outside the geo-fenceAccept and Flag
Default Geo-Fence RadiusDefault radius in meters (can be overridden per office)200
  1. 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:

ScenarioRecommended Radius
Small office building100-200 meters
Large campus or tech park300-500 meters
Industrial zone / factory500-1000 meters
City block with multiple offices200-400 meters
Remote/field workGeo-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 PointDescription
LatitudeGPS latitude of the check-in location
LongitudeGPS longitude of the check-in location
Accuracy (meters)GPS accuracy reported by the device
TimestampThe exact time of the check-in
Within Geo-FenceBoolean indicating whether the check-in was within the configured radius
Distance from OfficeCalculated distance in meters from the assigned office coordinates

Viewing Employee Check-In Locations

On the Attendance Record

  1. Navigate to Attendance > Daily Attendance or the employee's attendance profile.
  2. Click on a specific date's attendance record.
  3. 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:

  1. Navigate to Attendance > Location Map or Attendance > Daily Attendance.
  2. Select the date.
  3. A map view displays pins for each employee's check-in location.
  4. Click on a pin to see the employee name, check-in time, and distance from office.
  5. The office location is shown as a separate marker with the geo-fence radius drawn as a circle.

Check-in location map view

Filtering the Map

FilterDescription
DateView check-in locations for a specific date
DepartmentShow only employees from a specific department
OfficeShow check-ins relative to a specific office
StatusFilter 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

ApproachDescription
Exempt from geo-fencingDisable geo-fence validation for field employees; capture location for logging only
Multiple office assignmentsAssign field employees to multiple offices (client sites) so they can check in from any assigned location
No geo-fence, location requiredRequire location capture but do not validate against any office; location is logged for reporting

Configuring Field Employee Settings

  1. Open the field employee's profile.
  2. Navigate to the Attendance section.
  3. Set Geo-Fence Validation to Disabled or Log Only.
  4. 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

  1. Navigate to Attendance > Settings > Location Tracking.
  2. Toggle Enable Location Tracking to Yes or No.
  3. 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:

  1. Open the employee's profile.
  2. Navigate to the Attendance section.
  3. Set Location Tracking to Disabled.
  4. Save.

Privacy Considerations

Location tracking involves collecting personal geolocation data. Organizations must handle this responsibly.

ConsiderationRecommendation
Employee consentObtain explicit, written consent from employees before enabling location tracking. Indian IT Act and data protection regulations may require this.
Data minimizationCapture location only during check-in and check-out, not continuously. Udyamo HRMS captures a single point-in-time location, not real-time tracking.
Data retentionDefine how long location data is retained. Purge old data per your organization's retention policy.
Access controlRestrict who can view employee location data. Only administrators and direct managers should have access.
TransparencyClearly communicate to employees what location data is collected, why it is collected, how it is used, and who can access it.
Opt-out processProvide a mechanism for employees to raise concerns about location tracking through HR.

What Udyamo HRMS Does NOT Do

ActivityStatus
Continuous GPS trackingNot supported. Location is captured only at the moment of check-in and check-out.
Background location trackingNot supported. The app does not track location when not in use.
Location sharing with third partiesNot done. Location data stays within the Udyamo HRMS platform.
Camera or microphone accessNot 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

ProblemPossible CauseSolution
"Location permission denied"Employee did not grant GPS permissionAsk the employee to enable location permission in their browser or device settings
Check-in rejected — outside geo-fenceEmployee is not within the configured radiusVerify office coordinates are correct; increase the geo-fence radius if needed
Inaccurate location dataGPS 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 enabledDevice does not have GPS capabilityLocation tracking requires a GPS-enabled device; desktop browsers may provide approximate IP-based location
Map not showing check-in pinsMap integration not configured or no data for the selected dateVerify the map feature is enabled; select a date with attendance data
"Location required" error on desktopLocation is required but desktop browser cannot provide precise GPSDisable the "Require Location for Check-In" setting for desktop users or set it to optional

Next Steps

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:


  1. From the sidebar, click Attendance.
  2. Click Overtime from the submenu.
  3. The Overtime page displays pending requests, approved requests, and a link to overtime settings.

Overtime management page


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:

  1. Automatic detection — When an employee checks out after the shift end time, the extra hours are logged in the attendance record.
  2. 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

  1. From the Overtime page, click Settings or Overtime Settings.
  2. Alternatively, navigate to Attendance > Settings and locate the Overtime section.

Overtime Settings Fields

SettingDescriptionExample
Enable OvertimeMaster toggle to enable or disable overtime trackingYes
Overtime Calculation MethodHow overtime hours are calculatedActual hours beyond shift end
Minimum Overtime Threshold (minutes)Minimum extra minutes after shift end before overtime is counted30
Maximum Overtime Per Day (hours)Cap on overtime hours that can be claimed per day4
Maximum Overtime Per Month (hours)Cap on total overtime hours per employee per month50
Overtime Rate MultiplierMultiplier for overtime pay calculation1.5x (time and a half)
Holiday Overtime RateDifferent multiplier for overtime on holidays2.0x (double time)
Require Pre-ApprovalWhether employees must submit overtime requests before working overtimeYes
Auto-Approve If Attendance ExistsAutomatically approve overtime if attendance records show extra hoursNo

Configuring Settings — Step by Step

  1. Open Overtime Settings.
  2. Set Enable Overtime to Yes.
  3. 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.
  4. Set the Maximum Overtime Per Day to prevent excessive claims.
  5. Set the Maximum Overtime Per Month for budgeting and compliance.
  6. Configure the Overtime Rate Multiplier based on your compensation policy.
  7. If your organization requires advance approval, set Require Pre-Approval to Yes.
  8. Click Save.

Overtime settings form

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

ParameterValue
Monthly Basic PayINR 25,000
Total Working Hours in Month176 hours (22 days x 8 hours)
Overtime Hours Worked10 hours
Rate Multiplier2.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

  1. Log in to Udyamo HRMS.
  2. Navigate to Attendance > Overtime or My Overtime from the self-service menu.
  3. Click New Overtime Request or Submit Request.
  4. Fill in the required fields:
FieldDescriptionRequired
DateThe date of the overtime workYes
HoursNumber of overtime hours (decimal supported, e.g., 2.5)Yes
ReasonJustification for the overtime workYes
Project/TaskThe project or task associated with the overtime (if applicable)No
  1. Click Submit.
  2. The request is sent to the approver (direct manager or configured authority).

Overtime request submission form

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:

ValidationCheck
Date must be a past or current datePrevents requests for future dates (unless pre-approval is enabled)
Hours must not exceed daily maximumCompared against Maximum Overtime Per Day setting
Monthly total must not exceed maximumCurrent 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 requestOnly 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

  1. Employee submits the overtime request.
  2. The request appears in the approver's Pending Approvals queue.
  3. 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
  4. The approver takes one of the following actions:
ActionDescription
ApproveThe overtime is approved and will be included in the next payroll
RejectThe overtime is rejected with an optional comment explaining the reason
Request RevisionThe approver asks the employee to modify the request (e.g., adjust hours)

Approving an Overtime Request

  1. The manager/admin navigates to Attendance > Overtime > Pending Approvals.
  2. Clicks on a request to view details.
  3. Reviews the request alongside the attendance data for the date.
  4. Clicks Approve or Reject.
  5. If rejecting, enters a reason for the rejection.
  6. The employee is notified of the decision.

Overtime approval screen

Bulk Approval

For managers with many pending overtime requests:

  1. Navigate to Attendance > Overtime > Pending Approvals.
  2. Use checkboxes to select multiple requests.
  3. Click Approve Selected or Reject Selected.
  4. For bulk rejection, enter a common reason.

Tip: Review overtime requests weekly to prevent a backlog. Unresolved requests delay payroll processing.


Overtime Request Statuses

StatusMeaning
PendingSubmitted by the employee, awaiting manager/admin action
ApprovedManager/admin approved the request; overtime will be included in payroll
RejectedManager/admin rejected the request; no payroll impact
CancelledEmployee cancelled the request before it was acted upon
Revision RequestedApprover 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

  1. During payrun processing (see Running Payroll), the system totals each employee's approved overtime hours for the pay period.
  2. The overtime pay is calculated using the configured rate multiplier.
  3. The overtime amount appears as a separate earning component in the payslip:
Payslip LineCalculation
Overtime EarningsSum of (approved hours x hourly rate x multiplier) for all approved requests in the period
  1. Overtime earnings are added to the gross pay.
  2. 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

  1. Navigate to Attendance > Overtime > Reports.
  2. Select the report type and date range.

Available Reports

ReportDescription
Overtime SummaryTotal overtime hours and cost per employee for a date range
Department-wise OvertimeOvertime hours aggregated by department
Monthly Overtime TrendMonth-over-month overtime hours and cost
Pending Requests ReportAll pending overtime requests that have not been actioned
Approval HistoryLog of all approval and rejection actions with timestamps

Overtime Summary Report Columns

ColumnDescription
Employee NameFull name
Employee IDOrganization employee ID
DepartmentDepartment name
Total Overtime HoursSum of approved overtime hours in the period
Overtime RateApplicable rate multiplier
Overtime PayCalculated overtime compensation
Requests (Approved / Total)Number of approved requests out of total submitted

Exporting Overtime Reports

  1. Generate the desired report.
  2. Click Export and choose CSV, Excel, or PDF.
  3. The report downloads for external analysis or record-keeping.

Overtime summary report


Viewing Overtime History

Employee View

  1. The employee navigates to Attendance > Overtime or My Overtime.
  2. A list of all submitted requests is displayed with:
    • Date
    • Hours
    • Status (Pending, Approved, Rejected)
    • Approver's comments (if any)
  3. The employee can filter by status and date range.

Manager View

  1. The manager navigates to Attendance > Overtime.
  2. Views overtime requests for their direct reports.
  3. Can filter by employee, status, and date range.
  4. Sees a summary of the team's total overtime for the current month.

Administrator View

  1. Administrators see all overtime requests across the organization.
  2. Full filtering capabilities: department, office, employee, status, date range.
  3. Access to all overtime reports.

Overtime Policies and Best Practices

Defining an Overtime Policy

Establish clear rules for when overtime is permitted:

Policy ElementExample
EligibilityOnly non-managerial employees are eligible for overtime pay
AuthorizationAll overtime must be pre-approved by the department manager
LimitsMaximum 4 hours per day, 50 hours per month
CompensationOvertime paid at 2x the basic hourly rate, as per the Factories Act
Submission deadlineOvertime requests must be submitted within 3 working days of the overtime date
Holiday overtimeHoliday overtime compensated at 2x rate or as compensatory leave (comp-off)

Best Practices

  1. Pre-approval workflow — Enable pre-approval to control overtime costs. Unapproved overtime does not get compensated.
  2. Monthly caps — Set monthly overtime limits to prevent burnout and control costs.
  3. Regular review — Review overtime reports monthly. Consistently high overtime in a department may indicate understaffing.
  4. Comp-off alternative — For exempt employees, offer compensatory time off instead of monetary compensation.
  5. 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

  1. Employee works on a holiday or weekend.
  2. Instead of (or in addition to) an overtime payment, the employee earns a comp-off day.
  3. The comp-off is credited to the employee's leave balance under a "Compensatory Off" leave category.
  4. 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

IssueCauseSolution
"Maximum daily overtime exceeded"Employee requested more hours than the daily capAdjust the request hours or increase the daily limit in settings
"Monthly overtime limit reached"Employee's total approved overtime for the month exceeds the capReject the request or increase the monthly limit
"No attendance record for this date"System requires attendance proof but no check-in was recordedAdd 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 dateEdit or cancel the existing request before submitting a new one
Overtime not appearing in payslipRequest is still pending approvalApprove the request before running payroll
Overtime not appearing in payslipPayroll was already processed for the periodProcess an off-cycle payroll or include the overtime in the next period
Incorrect overtime amountWrong rate multiplier or base salary usedVerify overtime settings and the employee's salary structure
Manager not receiving overtime requestsApproval workflow not configured for the managerCheck the reporting hierarchy and role permissions

Integration with Attendance Data

Overtime requests can be cross-verified against actual attendance records:

Attendance FieldOvertime Relevance
Check-Out TimeVerifies the employee actually worked beyond the shift end
Working HoursConfirms total hours worked exceed the shift duration
Attendance EventsProvides a timeline of check-in, check-out, and breaks
Location DataConfirms 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

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:

  1. Leave categories define what kinds of leave exist (e.g., Sick Leave, Casual Leave).
  2. Leave policies define how many days of each category employees earn and how balances accumulate.
  3. Leave requests are filed by employees against a specific category.

Every leave request in Udyamo HRMS must be associated with exactly one leave category.

Leave categories overview


To access leave category configuration:

  1. Click Settings in the left sidebar.
  2. Select Leaves & Attendance from the settings menu.
  3. Click Categories.

The Categories page displays all existing leave categories in a list, showing each category's name, type, color, and current status.

Settings > Leaves & Attendance > Categories navigation


Creating a New Leave Category

To create a leave category:

  1. Navigate to Settings > Leaves & Attendance > Categories.
  2. Click the Add Category button.
  3. Fill in the category details in the form that appears.
  4. Click Save to create the category.

Category Fields

FieldDescriptionRequired
NameThe display name of the leave category (e.g., "Casual Leave").Yes
Short CodeAn abbreviated code used in reports and leave balances (e.g., "CL").Yes
TypeWhether the leave is Paid or Unpaid.Yes
DescriptionAn optional explanation of the category, visible to employees when applying for leave.No
ColorA color used to visually distinguish this category in calendars and reports.No

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

  1. Navigate to Settings > Leaves & Attendance > Categories.
  2. Click Add Category.
  3. 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.
  4. Click Save.

The new Casual Leave category now appears in the category list and is available for use in leave policies.

Creating a new leave category


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:

CategoryShort CodeTypeTypical EntitlementNotes
Casual LeaveCLPaid7 -- 12 days/yearFor short personal needs; usually cannot be carried forward
Sick LeaveSLPaid7 -- 12 days/yearFor illness or medical appointments; may require a medical certificate for extended absences
Privilege Leave / Earned LeavePL / ELPaid15 -- 30 days/yearAccrues over time; typically can be carried forward; used for planned vacations
Maternity LeaveMLPaid26 weeksAs per the Maternity Benefit Act, 2017; applicable to women employees
Paternity LeavePTLPaid5 -- 15 daysNot mandated by central law but commonly offered
Compensatory OffCOPaidAs earnedGranted when an employee works on a holiday or rest day
Leave Without PayLWPUnpaidNo limitUsed when all paid leave balances are exhausted
Bereavement LeaveBLPaid3 -- 5 daysFor the death of an immediate family member
Marriage LeaveMRLPaid3 -- 5 daysOffered by some organizations for an employee's own marriage
Restricted HolidayRHPaid2 -- 3 days/yearEmployee 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:

  1. Navigate to Settings > Leaves & Attendance > Categories.
  2. Locate the category you want to edit in the list.
  3. Click on the category name or the Edit icon.
  4. Update the desired fields (name, short code, type, description, or color).
  5. Click Save to apply the changes.

What Changes Are Safe to Make

ChangeImpact
Renaming the categoryUpdates the display name everywhere; existing leave records are preserved.
Changing the colorVisual change only; no impact on data.
Updating the descriptionInformational 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:

  1. Navigate to Settings > Leaves & Attendance > Categories.
  2. Locate the category you want to remove.
  3. Click the Delete icon next to the category.
  4. 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:

  1. Remove the category from all active leave policies so that no new accruals occur.
  2. Allow existing balances to lapse at year-end.
  3. 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:

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:

  1. The system counts the total LOP days for the payroll period.

  2. LOP days reduce the paid_days count in the PayrollRecord.

  3. The employee's gross pay is calculated on a pro-rata basis:

    Pro-rata salary = (Monthly salary / Total working days) x Paid days

  4. The LOP deduction appears as a separate line item on the payslip.

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

  1. Use descriptive names and short codes. "Casual Leave (CL)" is clearer than "Type A Leave."
  2. Assign distinct colors. Color coding helps employees and managers quickly identify leave types on calendars and reports.
  3. Document your descriptions. Include eligibility criteria, documentation requirements, and any restrictions in the description field so employees can self-serve.
  4. Keep the number of categories manageable. Most organizations need 5 to 8 active categories. Too many categories lead to confusion.
  5. 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:

ConceptDescription
Leave CategoryThe type of leave (e.g., Casual Leave, Sick Leave).
Leave PolicyThe rules for that category — how days are earned, limits, and carry-over.
LeavePolicyEmployeeThe 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).

Leave policy model relationships


Creating a New Leave Policy

To create a leave policy:

  1. Navigate to Settings > Leaves & Attendance > Leave Policies.
  2. Click Add Leave Policy.
  3. Fill in the policy details as described below.
  4. Click Save.

Policy Configuration Fields

FieldDescriptionRequired
Policy NameA descriptive name (e.g., "CL Policy — Confirmed Staff").Yes
Leave CategoryThe leave category this policy applies to.Yes
Accrual TypeHow leave is credited: Monthly, Annual, or Manual.Yes
Accrual AmountThe number of days credited per accrual period.Yes
Maximum AccumulationThe maximum number of days an employee can accumulate.No
Carry-Over AmountThe maximum number of unused days that can be carried to the next year.No
Effective FromThe date from which this policy takes effect.Yes
Effective ToThe date until which this policy is active (leave blank for indefinite).No

Leave policy creation form


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.

MonthMonthly CreditCumulative Balance
April1.51.5
May1.53.0
June1.54.5
.........
March1.518.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.

ScenarioMonthly CreditExisting BalanceNew BalanceNote
Normal accrual1.520.021.5Below cap
At cap1.530.030.0Accrual blocked
After consumption1.528.029.5Accrual 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 BalanceCarry-Over LimitCarried ForwardLapsed
10 days5 days5 days5 days
3 days5 days3 days0 days
15 days10 days10 days5 days
8 daysUnlimited8 days0 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

  1. After saving the leave policy, the system may prompt you to assign it to employees.
  2. Select the employees or employee groups (by department, designation, or office) who should receive this policy.
  3. Click Assign.

Assigning from the Employee Profile

  1. Navigate to the employee's profile.
  2. Go to the Leave tab.
  3. Click Assign Leave Policy.
  4. Select the policy from the dropdown for each leave category.
  5. Click Save.

Bulk Assignment

  1. Navigate to Settings > Leaves & Attendance > Leave Policies.
  2. Select the policy you want to assign.
  3. Click Assign to Employees.
  4. Use the filters (department, designation, office) to select a group of employees.
  5. Review the selection and click Assign.

Assigning leave policy to employees

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

  1. Navigate to Settings > Leaves & Attendance.
  2. Locate the Minimum Custom Time-Off setting.
  3. Set the value in minutes (e.g., 60 for a 1-hour minimum, 120 for a 2-hour minimum).
  4. Click Save.

How Custom Time-Off Works

SettingEmployee Can Apply For
Not configuredFull day or half day only
60 minutesAny duration of 1 hour or more
120 minutesAny duration of 2 hours or more
30 minutesAny 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

  1. Navigate to Settings > Leaves & Attendance.
  2. Locate the Allow Past Leaves setting.
  3. Toggle the setting on or off.
  4. Click Save.

Behavior

SettingEmployee Behavior
EnabledEmployees can apply for leave on past dates. Useful for retroactive adjustments.
DisabledEmployees 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):

  1. Set the Effective To date on the current policy to the last day of the current fiscal year.
  2. Create a new policy with the updated entitlements and set its Effective From date to the first day of the next fiscal year.
  3. 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:

  1. Navigate to Settings > Leaves & Attendance > Leave Policies.
  2. Click on the policy name to open it.
  3. Update the desired fields.
  4. Click Save.

Safe vs. Impactful Changes

ChangeImpact
Rename the policyNo impact on balances or accruals.
Change accrual amountAffects future accruals only. Past credits are not recalculated.
Change carry-over limitApplies at the next year-end processing.
Change maximum accumulationMay cause accruals to stop immediately if current balances exceed the new cap.
Change accrual typeSignificant 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:

CategoryAccrual TypeAccrual AmountMax AccumulationCarry-OverNotes
Casual LeaveAnnual12 days12 days0 (lapse all)Full credit at start of year; no carry-over
Sick LeaveAnnual7 days7 days0 (lapse all)Full credit at start of year; no carry-over
Privilege LeaveMonthly1.25 days45 days15 daysEarned progressively; carry-over capped at 15
Maternity LeaveManual182 days182 days0Credited manually when employee qualifies
Compensatory OffManualAs earned5 days0Credited by admin when employee works on holiday
Leave Without PayManualUnlimitedNo cap0Unpaid leave; no accrual needed

Best Practices

  1. 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").
  2. 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.
  3. 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.
  4. 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.
  5. 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.


To access the holiday calendar:

  1. 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.

Holiday calendar overview


Adding a Holiday

To add a new holiday:

  1. Navigate to Holidays.
  2. Click Add Holiday.
  3. Fill in the holiday details.
  4. Click Save.

Holiday Fields

FieldDescriptionRequired
Holiday NameThe name of the holiday (e.g., "Republic Day", "Diwali").Yes
Start DateThe first day of the holiday.Yes
End DateThe last day of the holiday. For single-day holidays, this is the same as the start date.Yes
OfficeThe office(s) to which this holiday applies. Select "All Offices" for organization-wide holidays, or choose specific offices.Yes
TypeWhether 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

  1. Navigate to Holidays.
  2. Click Add Holiday.
  3. Enter the following details:
    • Holiday Name: Republic Day
    • Start Date: January 26
    • End Date: January 26
    • Office: All Offices
    • Type: National Holiday
  4. Click Save.

Republic Day now appears on the holiday calendar for all offices.

Adding a new holiday


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.

HolidayScopeOffices
Republic DayOrganization-wideAll Offices
Independence DayOrganization-wideAll Offices
DiwaliOrganization-wideAll Offices
OnamOffice-specificKochi Office
PongalOffice-specificChennai Office
BihuOffice-specificGuwahati Office
Ganesh ChaturthiOffice-specificMumbai 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:

HolidayDate
Republic DayJanuary 26
Independence DayAugust 15
Gandhi JayantiOctober 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:

  1. Create a leave category called "Restricted Holiday" (see Chapter 21).
  2. 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).
  3. Add all optional holidays to the holiday calendar with the Type set to "Optional."
  4. 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:

  1. Click Add Holiday.
  2. Set the Start Date to the first day of the holiday period.
  3. Set the End Date to the last day of the holiday period.
  4. 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:

  1. Navigate to Holidays.
  2. Add all holidays for the upcoming year with correct dates.
  3. For fixed-date holidays, enter the same date as the previous year.
  4. 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

  1. Navigate to Holidays.
  2. Click Import or Bulk Upload.
  3. Download the template file (CSV or Excel format).
  4. Fill in the template with your holiday data:
ColumnDescription
holiday_nameThe name of the holiday
start_dateStart date in the required format (e.g., YYYY-MM-DD)
end_dateEnd date in the required format
officeOffice name or "All" for organization-wide
  1. Upload the completed file.
  2. Review the preview to verify the data is correct.
  3. 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.

Bulk holiday upload


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:

DayStatusLeave Day?
MondayWorking dayYes
TuesdayWorking dayYes
WednesdayHolidayNo
ThursdayWorking dayYes
FridayWorking dayYes

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:

  1. Navigate to Holidays.
  2. Click on the holiday name in the list view or calendar.
  3. Update the name, dates, or office assignment.
  4. 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:

  1. Navigate to Holidays.
  2. Click the Delete icon next to the holiday.
  3. 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.

Holiday calendar and list views

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

  1. Set up holidays before the fiscal year begins. This ensures accurate attendance tracking and leave calculations from Day 1.
  2. Use office-specific holidays for regional festivals. This avoids confusion for employees at offices in different states.
  3. Review the government gazette annually. Dates for variable holidays change each year. Update your calendar accordingly.
  4. Coordinate with leave policies. Ensure optional holiday management aligns with your Restricted Holiday leave category and policy.
  5. 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:

  1. Dashboard shortcut: Click the Apply Leave quick action on the dashboard.
  2. Leave section: Navigate to Leaves in the left sidebar, then click Apply Leave.

Leave Application Form

The leave application form contains the following fields:

FieldDescriptionRequired
Leave CategoryThe type of leave to apply for (e.g., Casual Leave, Sick Leave). Only categories with assigned policies appear.Yes
Start DateThe first day of the leave period.Yes
End DateThe last day of the leave period. For a single day, same as start date.Yes
Leave ModeFull Day, Half Day, or Custom Hours (if enabled).Yes
ReasonA text explanation for the leave request.Yes

Leave application form

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:

DateDayStatusCounted?
March 3MondayWorking dayYes
March 4TuesdayWorking dayYes
March 5WednesdayWorking dayYes
March 6ThursdayWorking dayYes
March 7FridayWorking dayYes

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.

SelectionWork Expectation
First halfEmployee is absent in the morning and works in the afternoon
Second halfEmployee 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.

  1. Select Custom Hours as the leave mode.
  2. Enter the number of hours (subject to the minimum configured).
  3. 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:

ValidationBehavior
Sufficient balanceThe system checks if the employee has enough leave days in the selected category. If not, a warning is displayed.
Past date restrictionIf the past_leave_enabled setting is disabled, the system blocks applications for past dates.
Overlapping leavesThe system checks for existing leave requests that overlap with the selected dates. Overlapping requests are not allowed.
Holiday overlapDays that fall on holidays are automatically excluded from the leave count.
Weekly off overlapDays 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:

  1. Review the calculated leave days and balance impact shown in the form.
  2. Click Submit.
  3. The leave request is created with a status of Pending.
  4. 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 request submitted confirmation


Leave Approval Workflow — Manager View

Accessing the Approval Queue

Managers can access pending leave requests through:

  1. Dashboard notifications: A badge or notification indicating pending approvals.
  2. Leave Approvals: Navigate to Leaves > Approvals (or Team > Leave Requests) to see all pending requests from direct reports.

The approval queue displays:

ColumnDescription
Employee NameThe employee who submitted the request
Leave CategoryThe type of leave requested
DatesStart date to end date
DaysNumber of leave days calculated
Available BalanceThe employee's current balance in that category
ReasonThe reason provided by the employee
StatusCurrent status (Pending)

Manager leave approval queue

Approving a Leave Request

To approve a leave request:

  1. Open the pending request from the approval queue.
  2. Review the details: dates, category, balance, and reason.
  3. Optionally add a comment (see Leave Comments below).
  4. Click Approve.
  5. The leave status changes to Approved.
  6. The employee receives a notification that their leave has been approved.
  7. The leave days are deducted from the employee's balance.

Denying a Leave Request

To deny a leave request:

  1. Open the pending request from the approval queue.
  2. Review the details.
  3. Add a comment explaining the reason for denial (recommended for transparency).
  4. Click Deny (or Reject).
  5. The leave status changes to Rejected.
  6. The employee receives a notification that their leave has been denied, along with the comment.
  7. 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

ScenarioExample 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

  1. Open the leave request.
  2. Scroll to the Comments section.
  3. Type your comment in the text field.
  4. Click Add Comment (or Post).
  5. 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 comments thread


Leave Request Statuses

Every leave request in Udyamo HRMS has one of the following statuses:

StatusDescriptionWho Can Change It
PendingThe request has been submitted and is awaiting approval.Manager/Admin (approve or deny)
ApprovedThe request has been approved by the manager. Leave days are deducted from the balance.Employee (can cancel), Admin (can revoke)
RejectedThe request has been denied by the manager. No balance deduction.Employee (can reapply with new dates)
CancelledThe 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

  1. Navigate to Leaves > My Leaves (or Leave History).
  2. Locate the approved leave request.
  3. Click Cancel.
  4. Confirm the cancellation when prompted.
  5. The leave status changes to Cancelled.
  6. The leave days are restored to the employee's balance.
  7. 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:

  1. Navigate to Leaves > My Leaves.
  2. The page displays all leave requests with their status, dates, category, and day count.
  3. 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:

  1. Navigate to Leaves > Team Leaves (or Team > Leave History).
  2. The page displays leave requests from all direct reports.
  3. Use filters to narrow by employee name, date range, category, or status.

Administrator View

Administrators can view leave data for all employees:

  1. Navigate to Leaves > All Leaves.
  2. Use filters and search to find specific records.
  3. Export data as needed for reporting.

Leave history with filters


Admin Actions on Leave Requests

Administrators have additional capabilities beyond the standard manager approval workflow:

ActionDescription
Apply leave on behalf of an employeeUseful 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 requestAdministrators can approve or deny leave requests for any employee, regardless of the reporting hierarchy.
Revoke approved leaveAdministrators can cancel a previously approved leave request and restore the balance.
Adjust leave balancesSee Chapter 25: Leave Balances for manual balance adjustments.

Notifications

Udyamo HRMS sends notifications at each stage of the leave workflow:

EventRecipientNotification
Leave submittedManager/Approver"Employee Name has applied for Leave Category from Start Date to End Date."
Leave approvedEmployee"Your Leave Category request from Start Date to End Date has been approved."
Leave rejectedEmployee"Your Leave Category request from Start Date to End Date has been denied."
Leave cancelledManager/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

  1. Navigate to Leaves.
  2. Click Import.
  3. Download the import template.
  4. Fill in the template with leave records (employee identifier, category, start date, end date, status, reason).
  5. Upload the completed file.
  6. Review the preview and resolve any errors.
  7. 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

  1. 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.
  2. Set response time expectations for managers. Employees appreciate timely approvals. Encourage managers to review leave requests within 24 -- 48 hours.
  3. Use comments for transparency. Both approval and denial decisions benefit from a brief comment.
  4. Review the approval queue regularly. Pending requests left unattended can cause frustration and planning difficulties.
  5. 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

ComponentDescription
Opening BalanceThe balance carried over from the previous fiscal year (after carry-over and lapse processing).
AccrualsLeave days credited during the current fiscal year based on the assigned leave policy (monthly or annual accrual).
Consumed LeavesLeave days used — i.e., approved leave requests and any LOP-converted days.

Example Calculation

ComponentDays
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 Balance11.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:

  1. Navigate to Leaves in the left sidebar.
  2. 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

Employee leave balance summary

Manager View

Managers can view leave balances for their direct reports:

  1. Navigate to Team > Leave Balances (or Leaves > Team Balances).
  2. A table displays each team member's balance across all leave categories.
  3. Use filters to view specific categories or date ranges.
EmployeeCasual LeaveSick LeavePrivilege Leave
Anita Sharma8 / 125 / 710 / 15
Rahul Verma4 / 127 / 76 / 15
Priya Nair10 / 123 / 712 / 15

(Format: Available / Total Entitlement)

Administrator View

Administrators have access to organization-wide leave balance data:

  1. Navigate to Leaves > All Balances (or use the Reports section).
  2. View balances for any employee across any category.
  3. Filter by department, office, designation, or individual employee.
  4. Export balance data for external analysis.

Admin leave balance overview


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

  1. Navigate to the employee's profile.
  2. Go to the Leave tab.
  3. Click Adjust Balance (or Edit Balance).
  4. Select the leave category to adjust.
  5. 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)
  6. Enter a reason for the adjustment (mandatory for audit purposes).
  7. Click Save.

The adjustment takes effect immediately and is reflected in the employee's balance.

FieldDescription
CategoryThe leave category to adjust
AdjustmentNumber of days to add (+) or deduct (-)
ReasonExplanation for the adjustment (recorded in audit log)
Effective DateThe 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.

Manual leave balance adjustment


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_monthFiscal Year PeriodCommon Usage
April (4)April 1 to March 31Most Indian organizations
January (1)January 1 to December 31Calendar year-based organizations
July (7)July 1 to June 30Some 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:

  1. Calculate unused balance — The current available balance at the end of the fiscal year.
  2. Apply carry-over rules — Determine how many unused days carry forward based on the leave policy's carry-over limit.
  3. Lapse excess days — Any unused days that exceed the carry-over limit are forfeited.
  4. Set opening balance for the new year — The carried-over amount becomes the opening balance for the new fiscal year.
  5. Credit new accruals — Annual accruals (if applicable) are credited for the new fiscal year.

Year-End Processing Example

EmployeeCategoryYear-End BalanceCarry-Over LimitCarried ForwardLapsedNew Year Opening
AnitaCL4 days0040
AnitaPL12 days1010210
RahulCL8 days0080
RahulPL6 days10606
PriyaCL0 days0000
PriyaPL15 days1010510

After year-end processing, the new fiscal year's balances are:

EmployeeCategoryOpening BalanceAnnual AccrualTotal Available
AnitaCL01212
AnitaPL1015 (monthly accrual)10 + monthly credits
RahulCL01212
RahulPL615 (monthly accrual)6 + monthly credits

Running Year-End Processing

  1. Navigate to Settings > Leaves & Attendance (or Leaves > Year-End Processing).
  2. Select the fiscal year to close.
  3. Click Run Year-End Processing (or Process Carry-Over).
  4. The system displays a preview showing each employee's current balance, carry-over amount, lapse amount, and new opening balance.
  5. Review the preview carefully.
  6. 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.

Year-end processing preview


Leave Balance Reports

Udyamo HRMS provides several reports related to leave balances:

Available Reports

ReportDescriptionAccess
Leave Balance SummaryCurrent balance for all employees across all categories.Reports > Leave Reports
Leave Usage ReportLeave consumed by category, department, or individual.Reports > Leave Reports
Leave Approval ReportSummary of approved, denied, and pending requests.Reports > Leave Reports
Carry-Over ReportYear-end carry-over and lapse details.Reports > Leave Reports
Leave Trend ReportMonthly or quarterly leave consumption trends.Reports > Leave Reports

Generating a Leave Balance Report

  1. Navigate to Reports > Leave Reports.
  2. Select the report type.
  3. 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
  4. Click Generate.
  5. View the report on-screen or Export as CSV / Excel / PDF.

Leave balance report

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:

  1. Navigate to the employee's profile > Leave tab.
  2. Select the fiscal year from the dropdown.
  3. The system displays the leave balance, accruals, consumption, and carry-over for the selected year.

Historical Data Includes

Data PointDescription
Opening balanceBalance at the start of the selected fiscal year
AccrualsTotal days credited during the year
ConsumedTotal days used (approved leaves)
LapsedDays forfeited at year-end
Carried forwardDays transferred to the next year
AdjustmentsAny 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

IssueLikely CauseResolution
Balance shows 0 despite having a policyPolicy not assigned to the employeeAssign the leave policy via the employee profile > Leave tab
Accrual not credited for the current monthMonthly accrual runs at the end/start of the monthWait for the scheduled accrual run, or contact admin to trigger it manually
Balance is negativeLeave approved beyond available balanceReview the leave request. Adjust balance or mark excess as LOP in payroll
Carry-over not appliedYear-end processing not yet runRun year-end processing for the previous fiscal year
Balance does not match manual calculationManual adjustment or imported leave not accounted forReview the adjustment log and import history in the employee's leave tab

Best Practices

  1. 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.
  2. 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.
  3. Use reports proactively. Quarterly balance reviews help identify trends and prevent issues.
  4. 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.
  5. 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.

TypeExamples
Fixed earningsBasic Pay, House Rent Allowance (HRA), Dearness Allowance (DA)
Variable earningsPerformance Bonus, Overtime Pay, Special Allowance
ReimbursementsConveyance 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.

TypeExamples
Statutory deductionsPF Employee Contribution, ESI Employee, Professional Tax, TDS
Voluntary deductionsVoluntary 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

Earnings and deductions breakdown


To access salary component settings:

  1. Click Settings in the left sidebar.
  2. Select Salary Components.

The Salary Components page displays all configured components in a list, organized by type (Earnings and Deductions).

Settings > Salary Components


Creating a New Salary Component

To create a salary component:

  1. Navigate to Settings > Salary Components.
  2. Click Add Component (or Add Earning / Add Deduction).
  3. Fill in the component details.
  4. Click Save.

Component Fields

FieldDescriptionRequired
NameThe display name of the component (e.g., "Basic Pay", "HRA").Yes
TypeWhether this is an Earning or Deduction.Yes
Calculation MethodFixed (a specific amount) or Percentage (calculated as a percentage of another component, typically Basic Pay).Yes
Default Amount / PercentageThe default value for this component. Can be overridden at the employee level.No
TaxableWhether this component is subject to income tax calculations.Yes
ActiveWhether 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.

TaxabilityComponents
TaxableBasic Pay, DA, Special Allowance, Performance Bonus
Partially ExemptHRA (exempt up to limits under Section 10(13A)), Leave Travel Allowance
Non-TaxableReimbursements (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

ComponentShort NameCalculationTypical ValueTaxable
Basic PayBasicFixed40 -- 50% of CTCYes
House Rent AllowanceHRA% of Basic40 -- 50% of BasicPartially (exempt under Sec 10(13A))
Dearness AllowanceDA% of Basic or FixedVaries by industryYes
Conveyance AllowanceCAFixedUp to INR 1,600/monthExempt up to limit
Special AllowanceSAFixed (balancing figure)Remainder of grossYes
Medical AllowanceMAFixedVariesYes (post-2018)
Leave Travel AllowanceLTAFixedVariesPartially (exempt under Sec 10(5))
Performance BonusBonusFixed or %VariesYes
Overtime PayOTCalculatedPer-hour rate x hoursYes

Deductions

ComponentShort NameCalculationTypical ValueNotes
PF Employee ContributionPF (EE)% of Basic12% of Basic (up to INR 15,000 cap)Mandatory for eligible employees
PF Employer ContributionPF (ER)% of Basic12% of Basic (3.67% to EPF, 8.33% to EPS)Employer cost; not deducted from employee
ESI Employee ContributionESI (EE)% of Gross0.75% of GrossApplicable if gross <= INR 21,000
ESI Employer ContributionESI (ER)% of Gross3.25% of GrossEmployer cost; not deducted from employee
Professional TaxPTFixed (slab-based)Varies by state (max INR 2,500/year)State-specific rates
TDS (Income Tax)TDSCalculatedBased on tax slab and declarationsMonthly deduction
Loan EMILoanFixedPer repayment scheduleIf employee has an active loan
Advance RecoveryAdvFixedPer advance termsIf employee has an outstanding advance

Common Indian salary component structure


Step-by-Step: Creating Basic Pay

  1. Navigate to Settings > Salary Components.
  2. Click Add Earning.
  3. Enter the following:
    • Name: Basic Pay
    • Type: Earning
    • Calculation Method: Fixed
    • Taxable: Yes
    • Active: Yes
  4. Click Save.

Step-by-Step: Creating HRA

  1. Navigate to Settings > Salary Components.
  2. Click Add Earning.
  3. Enter the following:
    • Name: House Rent Allowance
    • Type: Earning
    • Calculation Method: Percentage
    • Percentage Of: Basic Pay
    • Default Percentage: 50%
    • Taxable: Partially Exempt
    • Active: Yes
  4. Click Save.

Step-by-Step: Creating PF Employee Contribution

  1. Navigate to Settings > Salary Components.
  2. Click Add Deduction.
  3. 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
  4. Click Save.

Editing a Salary Component

To modify an existing component:

  1. Navigate to Settings > Salary Components.
  2. Click on the component name or the Edit icon.
  3. Update the desired fields.
  4. Click Save.

Impact of Edits

ChangeImpact
Rename the componentUpdates the display name on future payslips. Past payslips retain the old name.
Change calculation methodAffects future payroll calculations. Past processed payrolls are not retroactively changed.
Change default percentage/amountAffects employees who use the default. Employees with custom overrides are not affected.
Change taxabilityAffects future TDS calculations. Consult a tax advisor before changing.
Deactivate a componentThe 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

  1. Navigate to Settings > Salary Components.
  2. Use the drag-and-drop handles (or order field) to arrange components.
  3. Click Save Order.

Earnings:

  1. Basic Pay
  2. HRA
  3. Dearness Allowance
  4. Conveyance Allowance
  5. Special Allowance
  6. Other Allowances
  7. Performance Bonus / Variable Pay

Deductions:

  1. PF Employee Contribution
  2. ESI Employee Contribution
  3. Professional Tax
  4. TDS (Income Tax)
  5. Loan EMI
  6. Other Deductions

Deleting a Salary Component

To delete a component:

  1. Navigate to Settings > Salary Components.
  2. Click the Delete icon next to the component.
  3. 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:

  1. Salary components are created in Settings.
  2. Salary structures group components into templates (see Chapter 27).
  3. Employee salary assignments map a structure (and specific amounts) to each employee.
  4. During payrun processing (see Chapter 28), the system calculates each component based on the employee's assignment, paid days, and LOP.
  5. 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

  1. Mirror your CTC structure. Your salary components should reflect the actual Cost to Company (CTC) breakdown your organization uses for offer letters and appraisals.
  2. Use percentage-based calculations where possible. This reduces the number of manual updates needed during salary revisions.
  3. Get tax configuration reviewed. Have a chartered accountant or tax advisor verify the taxability settings for all components.
  4. Keep the component list manageable. Most organizations need 8 -- 15 components. Overly granular breakdowns complicate payroll and confuse employees.
  5. 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:

ComponentTypeValue
Basic PayEarning40% of CTC
HRAEarning50% of Basic
Special AllowanceEarningBalancing figure
PF Employee ContributionDeduction12% of Basic
PF Employer ContributionEmployer Cost12% of Basic
ESI EmployeeDeduction0.75% of Gross (if applicable)
Professional TaxDeductionAs per state slab

Salary structure concept


To access salary structures:

  1. Click Settings in the left sidebar.
  2. 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.

Salary Structures list


Creating a New Salary Structure

To create a salary structure:

  1. Navigate to Settings > Salary Structures.
  2. Click Add Salary Structure.
  3. Enter the structure details.
  4. Add salary components to the structure.
  5. Click Save.

Structure Fields

FieldDescriptionRequired
NameA descriptive name for the structure (e.g., "Grade A — Junior Staff").Yes
DescriptionAn optional explanation of which employees or roles this structure targets.No

Adding Components to the Structure

After entering the basic details, add salary components:

  1. Click Add Component.
  2. Select a component from the dropdown (only active components appear).
  3. Specify the value:
    • For fixed components: Enter the default monthly amount.
    • For percentage-based components: Enter the percentage and the base component.
  4. Repeat for all components that should be part of this structure.
  5. 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):

  1. Navigate to Settings > Salary Structures.
  2. Click Add Salary Structure.
  3. Enter:
    • Name: Grade B — Standard
    • Description: For confirmed employees in Grade B with annual CTC of INR 5-7 LPA.
  4. Add the following components:
ComponentCalculationMonthly Amount
Basic PayFixedINR 20,000
HRA50% of BasicINR 10,000
Conveyance AllowanceFixedINR 1,600
Special AllowanceFixed (balancing)INR 12,150
PF Employee Contribution12% of BasicINR 2,400
PF Employer Contribution12% of BasicINR 2,400
ESI Employee0.75% of GrossINR 329
ESI Employer3.25% of GrossINR 1,421
  1. Click Save.

Monthly Breakdown:

ItemAmount (INR)
Earnings
Basic Pay20,000
HRA10,000
Conveyance Allowance1,600
Special Allowance12,150
Gross Pay43,750
Deductions
PF Employee Contribution2,400
ESI Employee329
Professional Tax~200
Total Deductions2,929
Net Pay40,821
Employer Costs
PF Employer Contribution2,400
ESI Employer1,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:

  1. Annual CTC — Total yearly cost
  2. Monthly CTC — CTC divided by 12
  3. Monthly Gross Pay — Sum of all earnings
  4. Monthly Net Pay — Gross minus employee deductions
  5. Monthly Employer Costs — PF Employer, ESI Employer, Gratuity, etc.

CTC breakdown view


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

  1. Navigate to the employee's profile.
  2. Go to the Salary (or Compensation) tab.
  3. Click Assign Salary Structure (or Edit Salary).
  4. Select the salary structure from the dropdown.
  5. The components from the structure are pre-filled with default values.
  6. Adjust individual component amounts as needed for this employee.
  7. Enter the Annual CTC if you want the system to calculate the breakdown automatically.
  8. 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:

ReasonExample
Different CTC than the structure defaultEmployee negotiated a higher CTC during hiring
Location-based HRA adjustmentEmployee in a metro city gets 50% HRA; non-metro gets 40%
Voluntary PF contributionEmployee opts for higher PF contribution
Skill-based allowancesSpecial 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 NameTarget GroupCTC RangeKey Differences
Grade A — TraineeInterns, trainees2 -- 3 LPAMinimal components, no PF (if <20 employees)
Grade B — JuniorJunior staff, 0 -- 3 years3 -- 6 LPAStandard components, PF + ESI
Grade C — Mid-LevelMid-level, 3 -- 7 years6 -- 12 LPAHigher Basic, LTA included
Grade D — SeniorSenior staff, 7+ years12 -- 25 LPAHigher allowances, no ESI (gross > 21K)
Grade E — LeadershipDirectors, VPs25+ LPAVariable pay component, gratuity, car allowance

When to Create a New Structure vs. Override

ScenarioRecommendation
Different component composition (e.g., one grade has LTA, another does not)Create a separate structure
Same components but different amountsUse one structure with employee-level overrides
Significant CTC difference (more than 2x)Create a separate structure
Minor CTC variation within same gradeUse one structure with employee-level overrides

Editing a Salary Structure

To modify an existing structure:

  1. Navigate to Settings > Salary Structures.
  2. Click on the structure name.
  3. Update the name, description, or component configuration.
  4. Click Save.

Impact of Edits on Existing Assignments

ChangeImpact
Rename the structureDisplay change only. No impact on employee assignments.
Change a component's default percentage/amountAffects new assignments only. Existing employee assignments retain their current values.
Add a new component to the structureThe component is available for new assignments. Existing employees do not automatically receive it — you must update their assignments individually.
Remove a component from the structureThe 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):

  1. Navigate to the employee's profile > Salary tab.
  2. Click Revise Salary (or Edit Salary).
  3. Update the CTC or individual component amounts.
  4. Set the Effective Date for the revision.
  5. 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:

  1. Navigate to Payroll > Salary Revisions (or use the bulk update feature).
  2. Upload a file with the revised CTC/component amounts per employee.
  3. Review the changes.
  4. Set the effective date.
  5. 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:

  1. Gross Pay = Sum of all earning components (using amounts from the employee's salary assignment).
  2. Pro-rata adjustment = If the employee has LOP days, the gross pay is proportionally reduced.
  3. Deductions = Each deduction component is calculated based on the adjusted gross (or Basic, depending on configuration).
  4. Net Pay = Gross Pay - Total Deductions.

For details on the payrun process, see Chapter 28: Running Payroll — The Payrun Process.


Best Practices

  1. 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.
  2. Keep the number of structures manageable. 3 to 6 structures cover most organizations. Too many structures create maintenance overhead.
  3. 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.
  4. Review structures during annual appraisal cycles. Ensure the default values in each structure reflect current compensation bands.
  5. 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.
  6. 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:

StatusDescription
DraftThe payrun has been created but payroll records have not yet been generated.
GeneratedPayroll records have been calculated for all eligible employees. Records are open for review and adjustment.
ProcessedThe payrun has been finalized. Individual records are locked.
ApprovedThe payrun has been approved by an authorized person. Payslips can be generated and bank advice can be exported.
PaidThe 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.


To access payruns:

  1. Click Payroll in the left sidebar.
  2. Select Payruns (or Run Payroll).

The Payruns page lists all existing payruns with their month, status, and summary statistics.

Payrun list page


Step 1: Creating a Payrun

To create a new payrun:

  1. Navigate to Payroll > Payruns.
  2. Click Create Payrun (or New Payrun).
  3. Fill in the payrun details:
FieldDescriptionRequired
MonthThe payroll month (e.g., January 2026).Yes
Payrun TypeRegular (standard monthly payroll) or other types as configured.Yes
  1. 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:

  1. Click Generate Payroll (or Calculate).
  2. The system processes each eligible employee and generates a PayrollRecord containing:
FieldDescription
Employee NameThe employee's name
Gross PayTotal earnings before deductions
Total DeductionsSum of all deduction components
Net PayGross Pay minus Total Deductions
Paid DaysNumber of days the employee is paid for
LOP DaysNumber of Loss of Pay days (unpaid leave, unauthorized absences)
Working DaysTotal working days in the month
  1. The payrun status changes to Generated.

How the System Calculates Each Record

For each employee, the system performs these calculations:

  1. Determine working days — Total calendar days minus weekly offs and holidays for the employee's office.

  2. Determine paid days — Working days minus LOP days.

  3. 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

  4. Calculate percentage-based components — HRA, PF, ESI, etc. are calculated on the pro-rata Basic or Gross as applicable.

  5. Apply statutory calculations — PF, ESI, Professional Tax, and TDS are computed based on current rates and the employee's declarations.

  6. Sum earnings — Gross Pay = Total of all earning components.

  7. Sum deductions — Total Deductions = Total of all deduction components.

  8. Calculate net pay — Net Pay = Gross Pay - Total Deductions.

Generated payroll records list


Step 3: Reviewing Employee-Wise Breakdown

After generation, review each employee's payroll record:

  1. On the payrun page, the list of all employee records is displayed.
  2. Click on an employee's name to view the detailed breakdown.
  3. 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

CheckWhat to Look For
Paid daysDoes the paid days count match the expected number? Check against attendance records.
LOP daysAre LOP days correctly reflecting unpaid leave and unauthorized absences?
Basic PayIs Basic Pay pro-rated correctly for LOP or mid-month joiners?
PF/ESIAre statutory deductions calculated on the correct base amount?
Net payDoes the net pay look reasonable compared to previous months?
New joinersAre mid-month joiners receiving pro-rata salary correctly?
ExitsAre 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:

  1. Open the employee's payroll record.
  2. Toggle the Skip Payroll option.
  3. 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):

  1. Open the employee's payroll record.
  2. Edit the LOP Days field.
  3. The system recalculates the pro-rata salary and all dependent components.
  4. Click Save.

Including Reimbursements

If approved reimbursements are pending for the month:

  1. The system automatically includes approved reimbursements in the payroll.
  2. Review the reimbursement amounts in each employee's record.
  3. 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:

  1. Navigate to the payrun page.
  2. Click Sync Attendance (or Refresh Attendance Data).
  3. The system recalculates paid days and LOP days for all employees based on the latest attendance records.
  4. 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:

  1. Click Process Payroll (or Finalize).
  2. The system locks all individual records — no further edits are possible.
  3. 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:

  1. An authorized approver (typically a senior HR administrator or finance head) reviews the processed payrun.
  2. The approver checks the total payroll cost, headcount, and any flagged records.
  3. Click Approve.
  4. The payrun status changes to Approved.

Approval Summary

The approval screen typically displays:

MetricValue
Total EmployeesNumber of employees included
Total Gross PaySum of all gross pay amounts
Total DeductionsSum of all deduction amounts
Total Net PaySum of all net pay amounts (amount to be disbursed)
Total Employer CostSum of employer contributions (PF ER, ESI ER, etc.)
Total CTCNet Pay + Deductions + Employer Costs

Payrun approval summary

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

  1. Navigate to Settings > Payroll Setups.
  2. Locate the Payroll Round Up setting.
  3. Set the number of decimal places (0 to 5).
  4. Click Save.

Rounding Behavior

SettingBehaviorExample
0Round to whole numbersINR 25,432.67 becomes INR 25,433
1Round to 1 decimal placeINR 25,432.67 becomes INR 25,432.7
2Round to 2 decimal placesINR 25,432.67 remains INR 25,432.67
5Round to 5 decimal placesMaximum 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

  1. Navigate to Settings > Payroll Setups.
  2. Locate the Pay Schedule (or Pay Day) setting.
  3. Set the pay day (e.g., last working day of the month, 1st of the following month, 7th of the following month).
  4. 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:

  1. Navigate to Payroll > Payruns.
  2. The list shows all payruns with their month, status, and summary.
  3. Click on any payrun to view its details, including individual employee records.
  4. Use filters to search by month, status, or payrun type.

Payrun History Table

MonthTypeStatusEmployeesTotal Net PayActions
Jan 2026RegularPaid145INR 52,30,000View
Dec 2025RegularPaid142INR 51,80,000View
Nov 2025RegularPaid140INR 50,95,000View
Oct 2025Off-CyclePaid3INR 1,25,000View

Payrun history


Complete Payrun Checklist

Use this checklist to ensure a smooth payroll cycle each month:

StepTaskStatus
1Finalize attendance records for the month
2Ensure all leave requests are approved/rejected
3Process any pending reimbursement claims
4Verify new joiner salary assignments are complete
5Verify exit employees have correct last working dates
6Create the payrun and generate records
7Review employee-wise breakdown for accuracy
8Adjust LOP days and skip records as needed
9Process the payrun
10Get payrun approved
11Generate payslips
12Generate bank advice
13Disburse salaries
14Mark payrun as paid

Troubleshooting Common Payrun Issues

IssueLikely CauseResolution
Employee missing from payrunNo salary structure assigned, or employee is inactiveAssign a salary structure and regenerate
Net pay is zero or negativeExcessive LOP days or deductions exceeding grossReview LOP days and deduction components
PF/ESI not calculatedStatutory settings not configured or employee not enrolledCheck statutory configuration in Settings
Reimbursement not includedReimbursement not yet approvedComplete the reimbursement approval workflow
Payrun shows incorrect working daysHoliday or work week configuration errorVerify holidays and work week settings
Pro-rata calculation seems wrongIncorrect joining date or last working dateVerify employee dates in their profile

Best Practices

  1. Establish a payroll calendar. Define cutoff dates for attendance, leave, and reimbursement submissions. Share this calendar with all employees and managers.
  2. Process payroll in the same sequence each month. Consistency reduces errors and makes the process predictable for the HR team.
  3. Review before processing. The most common payroll errors are caught during the review stage. Never skip it.
  4. Keep a backup. Export the generated payroll data before processing, so you have a reference if questions arise later.
  5. 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:

SectionDetails Included
HeaderOrganization name, logo, payslip month/year, employee name, employee ID, department, designation
Pay SummaryTotal working days, paid days, LOP days, gross pay, total deductions, net pay
Earnings BreakdownEach earning component with its amount for the month (Basic Pay, HRA, DA, Special Allowance, etc.)
Deductions BreakdownEach deduction component with its amount (PF, ESI, PT, TDS, Loan EMI, etc.)
ReimbursementsAny approved reimbursements included in this payroll period
Net PayThe final amount payable to the employee
Year-to-Date (YTD)Cumulative earnings and deductions from the start of the fiscal year
Bank DetailsEmployee's bank account number and IFSC code (for reference)

Sample payslip layout


Employee Self-Service: Viewing Payslips

Employees can view their own payslips without needing to contact HR.

Steps for Employees

  1. Log in to Udyamo HRMS.
  2. Navigate to Payroll (or My Payslips) in the left sidebar.
  3. The page displays a list of available payslips by month.
  4. Click on a month to view the payslip details.
  5. The payslip displays all earnings, deductions, and the net pay amount.

Payslip List View

MonthYearGross PayDeductionsNet PayStatus
January2026INR 43,750INR 5,929INR 37,821Paid
December2025INR 43,750INR 5,929INR 37,821Paid
November2025INR 43,750INR 5,929INR 37,821Paid

Employee payslip self-service

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

  1. Navigate to Payroll > My Payslips.
  2. Click on the desired month to open the payslip.
  3. Click the Download PDF button.
  4. The payslip is downloaded as a PDF file to the employee's device.

Administrator Bulk Download

Administrators can download payslips for multiple employees:

  1. Navigate to Payroll > Payruns.
  2. Open the approved/paid payrun for the desired month.
  3. Click Download Payslips (or Export Payslips).
  4. Select options:
    • All employees — Download payslips for everyone in the payrun
    • Selected employees — Choose specific employees
    • By department — Download for a specific department
  5. The system generates a ZIP file containing individual PDF payslips.
  6. Download the ZIP file.

Each PDF file is typically named using a convention such as Payslip_EmployeeName_Month_Year.pdf.

Bulk payslip download


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:

  1. Navigate to Payroll > Payruns.
  2. Open the approved payrun.
  3. Click Email Payslips.
  4. Select the recipients:
    • All employees — Send to everyone in the payrun
    • Selected employees — Choose specific employees
  5. Click Send.
  6. 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

ColumnDescription
Employee NameFull name of the employee
Employee IDThe employee's identifier in Udyamo HRMS
Bank NameThe employee's bank name
Account NumberThe employee's bank account number
IFSC CodeThe IFSC code of the employee's bank branch
Net Pay AmountThe amount to be transferred to this employee
NarrationA description field (e.g., "Salary for January 2026")

Generating Bank Advice

To generate a bank advice file:

  1. Navigate to Payroll > Payruns.
  2. Open the approved payrun for the desired month.
  3. Click Bank Advice (or Generate Bank Advice).
  4. The system generates the bank advice file.
  5. Review the generated data:
    • Total number of employees
    • Total disbursement amount
    • Any employees with missing bank details (flagged with warnings)
  6. Click Download to save the file.

File Format

Bank advice is typically generated in one or more of the following formats:

FormatUse Case
CSVGeneral-purpose; can be uploaded to most banking portals
Excel (XLSX)For manual review and editing before bank upload
Bank-specific formatPre-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 generation


Bank Advice Workflow

The typical bank advice workflow is:

  1. Generate the bank advice from the approved payrun.
  2. Review the file for accuracy — verify total amount, employee count, and flagged records.
  3. Download the file in the required format.
  4. Upload the file to your organization's banking portal or submit it to the bank.
  5. Bank processes the salary transfers.
  6. Mark the payrun as Paid once the bank confirms successful transfers.

Verifying Before Bank Upload

Before uploading to the bank, perform these checks:

CheckWhat to Verify
Total amountThe total net pay in the bank advice matches the payrun total
Employee countThe number of records matches the expected headcount
Missing bank detailsNo employees have blank or incomplete bank information
Account formatAccount numbers are in the correct format for the target bank
IFSC codesAll 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

  1. Navigate to Payroll > Payruns.
  2. Open the payrun for the desired month.
  3. Click TDS Worksheet (or Export TDS).
  4. The system generates a worksheet containing:
ColumnDescription
Employee NameFull name
PANEmployee'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 IncomeEstimated annual taxable income
Projected Annual TaxEstimated total tax for the year
  1. Click Download to save the worksheet as CSV or Excel.

Using the TDS Worksheet

PurposeHow to Use
Monthly TDS depositSum the TDS Deducted (Month) column to determine the total TDS to be deposited with the government via challan (Form 26QB / Form 281).
Quarterly returnUse the quarterly cumulative data for filing Form 24Q.
Employee queriesShare 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:

  1. Navigate to Payroll > My Payslips.
  2. Use the month/year filter or scroll through the list.
  3. Click on any past month to view or download the payslip.

Administrator view:

  1. Navigate to Payroll > Payruns.
  2. Use filters to locate the desired month and year.
  3. Open the payrun and access individual employee records.
  4. Download individual or bulk payslips as needed.

Historical Data Use Cases

Use CaseData Needed
Employee loan applicationLast 3 -- 6 months of payslips
Visa processingLast 6 -- 12 months of payslips and bank statements
Income tax return filingFull year payslips and Form 16
Salary verification for new employerLast payslip and appointment letter
Full-and-final settlementAll payslips from the current fiscal year

Payslip Security and Privacy

Payslips contain sensitive personal and financial information. Udyamo HRMS implements the following security measures:

MeasureDescription
Role-based accessEmployees can only view their own payslips. Managers cannot view their team's payslips unless specifically authorized.
Administrator accessOnly administrators with payroll permissions can view or download any employee's payslip.
PDF encryptionDownloaded PDF payslips may be password-protected (depending on organization settings).
Audit trailAll 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

IssueLikely CauseResolution
Payslip not available for an employeeEmployee was skipped in the payrunCheck the payrun for skip_payroll flag on that employee
Bank advice shows missing bank detailsEmployee profile incompleteUpdate the employee's bank details in their profile
TDS amounts seem incorrectTax declarations not updated or regime not selectedReview the employee's tax declarations and verify TDS calculation
PDF download failsBrowser popup blockerDisable popup blocker or try a different browser
Email delivery failedInvalid email addressUpdate the employee's email address and resend

Best Practices

  1. Generate payslips immediately after payrun approval. This ensures employees have access to their payslip as soon as salary is processed.
  2. Verify bank advice before uploading to the bank. A few minutes of verification can prevent costly bank transfer errors.
  3. Export and archive TDS worksheets monthly. This simplifies quarterly and annual tax compliance.
  4. Communicate the payslip availability date. Let employees know when they can expect to see their payslip on the portal.
  5. 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 CaseDescription
Performance bonusA mid-cycle bonus awarded to an employee
Signing bonusA one-time payment to a new hire
Arrear paymentBack-pay for a salary revision that applies retroactively
Error correctionFixing an underpayment or overpayment from a previous payrun
Contractor paymentProcessing payment for a contractor or consultant
Final settlementFull-and-final settlement for an exiting employee processed outside the regular cycle
Festival advanceA one-time advance payment before a festival
Gratuity payoutPaying gratuity to a departing long-term employee

Off-Cycle vs. Regular Payrun

AspectRegular PayrunOff-Cycle Payrun
FrequencyMonthly (or per pay schedule)As needed
ScopeAll active employeesSelected employees only
ComponentsFull salary structureSpecific components or one-time amounts
Attendance linkageYes (LOP, paid days)Usually not linked to attendance
Statutory calculationsFull (PF, ESI, PT, TDS)Depends on the payment type

To access the off-cycle payroll section:

  1. Click Payroll in the left sidebar.
  2. Select Off-Cycles (or Off-Cycle Payruns).

The Off-Cycles page lists all existing off-cycle payruns with their date, status, and summary.

Off-Cycle Payruns list


Creating an Off-Cycle Payrun

To create an off-cycle payrun:

  1. Navigate to Payroll > Off-Cycles.
  2. Click Create Off-Cycle Payrun (or New Off-Cycle).
  3. Fill in the payrun details:
FieldDescriptionRequired
Name / DescriptionA descriptive name for the off-cycle (e.g., "Performance Bonus — Q3 2025", "Arrear Payment — October").Yes
Payment DateThe effective date for the payment.Yes
Payrun TypeThe type of off-cycle payment (e.g., Bonus, Arrear, Correction, Contractor).Yes
  1. Click Create.

The off-cycle payrun is created in Draft status.

Creating an off-cycle payrun


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

  1. Open the off-cycle payrun (in Draft status).
  2. Click Add Payment (or Add One-Time Payment).
  3. Fill in the payment details:
FieldDescriptionRequired
EmployeeThe employee receiving the payment.Yes
Payment TypeWhether this is an Earning (payment to the employee) or Deduction (recovery from the employee).Yes
Component NameA description of the payment (e.g., "Q3 Performance Bonus", "Salary Arrear — Oct 2025").Yes
AmountThe monetary amount.Yes
TaxableWhether this payment is subject to TDS.Yes
Effective DateThe date on which the payment applies.Yes
  1. Click Save.
  2. Repeat for each employee who needs a one-time payment in this cycle.

One-Time Payment Examples

ScenarioPayment TypeComponent NameAmountTaxable
Q3 performance bonusEarningPerformance Bonus — Q3INR 25,000Yes
Signing bonus for new hireEarningJoining BonusINR 50,000Yes
Salary arrear (2-month revision)EarningSalary Arrear — Aug-SepINR 12,000Yes
Recovery of overpaymentDeductionOverpayment Recovery — NovINR 3,500No
Festival advanceEarningDiwali AdvanceINR 10,000No

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

  1. Ensure the contractor is set up in the system as an employee record (with appropriate designation, e.g., "Contractor" or "Consultant").
  2. Create an off-cycle payrun with the type set to Contractor (or use a descriptive name).
  3. 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)
  4. Process and approve the off-cycle payrun.
  5. 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

ScenarioRecommended Effective Date
Current month bonusCurrent month (same as payment date)
Arrear for a past monthThe month to which the arrear pertains (for correct tax attribution)
Correction for a past payrunThe 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

ErrorCorrection Approach
UnderpaymentCreate an off-cycle earning to pay the difference
OverpaymentCreate an off-cycle deduction to recover the excess amount
Wrong component amountPay the correct amount via off-cycle earning and recover the incorrect amount via deduction (or net the difference)
Missing attendance adjustmentCalculate the correct LOP impact and process the difference as an earning (if underpaid) or deduction (if overpaid)
Incorrect statutory deductionAdjust 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.

  1. Navigate to Payroll > Off-Cycles.
  2. Click Create Off-Cycle Payrun.
  3. Enter:
    • Name: Salary Correction — December 2025
    • Payment Date: January 15, 2026
    • Type: Correction
  4. Click Create.
  5. Click Add Payment.
  6. Enter:
    • Employee: [Employee Name]
    • Payment Type: Earning
    • Component Name: Special Allowance Arrear — Dec 2025
    • Amount: INR 2,000
    • Taxable: Yes
    • Effective Date: December 2025
  7. Click Save.
  8. 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.

  1. Navigate to Payroll > Off-Cycles.
  2. Click Create Off-Cycle Payrun.
  3. Enter:
    • Name: Overpayment Recovery — November 2025
    • Payment Date: January 2026
    • Type: Correction
  4. Click Create.
  5. Click Add Payment.
  6. 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
  7. Click Save.
  8. 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

  1. Identify the off-cycle payrun that needs to be reversed.
  2. Create a new off-cycle payrun specifically for the reversal.
  3. 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.
  4. Process and approve the reversal off-cycle.
  5. 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

StatusDescriptionWho Can Transition
DraftOff-cycle payrun created; payments being added.Creator (Admin/HR)
SubmittedReady for review. All payments have been added.Creator submits for approval.
ApprovedAuthorized for disbursement.Approver (Senior Admin / Finance Head)
RejectedSent back for correction or cancelled.Approver
Approved & PaidPayment 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

CheckDetails
JustificationIs the off-cycle payment justified? Is there supporting documentation (bonus letter, correction memo, etc.)?
AmountsAre the amounts correct and within authorized limits?
Tax treatmentIs the taxability flag set correctly for each payment?
Employee eligibilityIs the employee eligible for this payment (e.g., still active, in the correct department)?
Budget impactDoes 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

  1. Navigate to Payroll > Off-Cycles.
  2. The list displays all off-cycle payruns with their current status.
  3. Click on any entry to view details, including individual payment records and approval history.

Off-Cycle History

NameDateTypeStatusEmployeesTotal Amount
Performance Bonus — Q3Jan 15, 2026BonusApproved & Paid12INR 3,50,000
Salary Correction — Dec 2025Jan 10, 2026CorrectionApproved & Paid2INR 5,500
Contractor Payment — JanJan 31, 2026ContractorApproved3INR 1,80,000
Diwali Advance — OctOct 20, 2025AdvanceApproved & Paid85INR 8,50,000

Off-cycle payrun history


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 TypeTax 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 recoveryNot a taxable event; no TDS impact
Contractor paymentTDS 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.

  1. Open the approved off-cycle payrun.
  2. Click Bank Advice.
  3. Review and download the file.
  4. 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

IssueLikely CauseResolution
Cannot add payments to off-cyclePayrun is not in Draft statusCreate a new off-cycle payrun or request the approver to reject it back to Draft
Employee not found when adding paymentEmployee is inactive or not in the systemVerify the employee's status in the employee directory
TDS not calculated on off-cycle earningTaxable flag not setEdit the one-time payment and set Taxable to Yes
Off-cycle payment not showing on payslipPayment not yet approved or effective date mismatchVerify the off-cycle status is Approved and the effective date is correct
Approval workflow stuckApprover has not reviewedSend a reminder to the designated approver

Best Practices

  1. 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.
  2. 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.
  3. 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.
  4. Get approvals before disbursement. Never bypass the approval workflow, even for urgent payments. If the regular approver is unavailable, escalate to a backup approver.
  5. 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.
  6. 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:


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

ContributorRateCalculated On
Employee12% of Basic Wages + DABasic Wages + Dearness Allowance
Employer12% of Basic Wages + DABasic Wages + Dearness Allowance

The employer's 12% contribution is further split:

ComponentRatePurpose
EPF3.67%Employees' Provident Fund
EPS8.33%Employees' Pension Scheme (capped at wages of Rs 15,000/month)

Wage Ceiling

ParameterValue
Statutory wage ceiling for EPF contributionRs 15,000 per month (Basic + DA)
Voluntary higher contributionEmployers may contribute on actual Basic + DA even if it exceeds Rs 15,000
EPS wage ceilingRs 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

ChargeRatePaid By
EPF Admin Charges0.50% of Basic Wages + DA (minimum Rs 500/month)Employer
EDLI Charges0.50% of Basic Wages + DA (capped at Rs 15,000)Employer

Enabling the EPF Component

Step 1: Navigate to Statutory Components

  1. From the sidebar, click Settings.
  2. Under the Payroll section, click Statutory Components.
  3. Locate the EPF component in the list.

Statutory Components settings page

Step 2: Enable EPF

  1. Click the EPF component row to open its configuration.
  2. Toggle the Enable switch to On.
  3. 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).
  4. Click Save.

EPF component configuration

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

IdentifierDescriptionFormatExample
EPF NumberThe member ID assigned to the employee under the employer's establishmentState/Office/Establishment/Extension/AccountMH/BOM/12345/000/0001234
UAN (Universal Account Number)A portable 12-digit number assigned by EPFO that stays with the employee throughout their career12-digit numeric100123456789

Step 1: Open the Employee Profile

  1. From the sidebar, click Employees.
  2. Search for and click the employee's name to open their profile.
  3. Navigate to the Statutory Details tab (or section).

Employee statutory details tab

Step 2: Enter EPF Details

  1. In the EPF Number field, enter the employee's member ID under your establishment.
  2. In the UAN Number field, enter the employee's 12-digit Universal Account Number.
  3. Ensure the EPF Enable toggle is set to On for this employee.
  4. Click Save.
FieldRequiredDescription
EPF NumberYes (if EPF is enabled for the employee)The employee's provident fund member ID
UAN NumberYes (if EPF is enabled for the employee)The employee's Universal Account Number from EPFO
EPF EnableYesToggle 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

ScenarioAction
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 establishmentDisable EPF for that worker
Employee is an international worker exempt from EPFDisable EPF for that employee
Employee is already contributing through another establishmentDisable EPF for that employee

How to Disable EPF for an Employee

  1. Open the employee's profile.
  2. Navigate to the Statutory Details tab.
  3. Set the EPF Enable toggle to Off.
  4. 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

  1. The system identifies all employees with EPF enabled.
  2. For each employee, it determines the EPF-eligible wages (Basic Wages + Dearness Allowance).
  3. 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

ParameterValue
Basic WagesRs 20,000
Dearness AllowanceRs 0
EPF-eligible WagesRs 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 PFRs 1,150 (Rs 734 + Rs 416)
Total Employer EPSRs 1,250
Total Employer ContributionRs 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:

  1. Navigate to Payroll > Payslips.
  2. Select the month and click on an employee's payslip.
  3. The Deductions section shows the employee's EPF contribution.
  4. The Employer Contributions section (if displayed) shows the employer's share.

Payslip showing EPF deduction


EPF Reports

Udyamo HRMS provides several EPF-related reports to support your compliance filing.

Available Reports

ReportDescriptionUsed For
EPF Contribution ReportLists all enrolled employees with their EPF-eligible wages, employee contribution, and employer contribution for a given monthInternal review and record-keeping
ECR (Electronic Challan-cum-Return)Generates the ECR file in the format required by EPFO for online filingMonthly filing on the EPFO Unified Portal
EPF Summary ReportAggregated totals of employee and employer contributions, admin charges, and EDLIChallan preparation and payment verification

Generating the EPF Contribution Report

  1. From the sidebar, click Reports.
  2. Select EPF Report (or Statutory Reports > EPF).
  3. Choose the Month and Year.
  4. Click Generate.
  5. The report displays a table of all EPF-enrolled employees with their contribution details.
  6. Click Export to download the report in Excel or PDF format.

EPF Contribution Report

Generating the ECR File

The ECR file is the primary file you upload to the EPFO Unified Portal each month.

  1. From Reports, select ECR Report.
  2. Choose the Month and Year.
  3. Click Generate ECR.
  4. 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)
  5. Click Download to save the ECR file.
  6. 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

StepActionDeadline
1Run payroll for the monthBy the last working day of the month
2Review EPF contribution report1st to 5th of the following month
3Generate and download ECR file from Udyamo HRMS1st to 10th of the following month
4Log in to EPFO Unified Portal and upload ECRBy 15th of the following month
5Generate challan and make paymentBy 15th of the following month
6Download and archive the payment receiptAfter payment confirmation

Compliance Deadlines

ObligationDeadlinePenalty for Late Filing
Monthly EPF payment15th of the following monthInterest at 12% per annum on overdue amount + damages up to 100% of arrears
ECR filing15th 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 yearPenalties 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

IssuePossible CauseResolution
EPF not calculated for an employeeEPF is disabled for that employeeOpen their profile, navigate to Statutory Details, and enable EPF
EPF amount is zero on the payslipBasic Wages component is not mapped or is zeroVerify the salary structure includes Basic Wages and the amount is correct
ECR file rejected by EPFO portalUAN mismatch or format errorVerify each employee's UAN in Udyamo matches EPFO records; regenerate the ECR
EPF contribution seems too highEPF is being calculated on full Basic (not capped)Review the EPF component configuration for wage ceiling settings
Employee not appearing in EPF reportEmployee was added after payroll was runRe-run payroll or add the employee before the next payrun

Next Steps

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

ParameterThreshold
Gross salary ceiling for employee eligibilityRs 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

ContributorRateCalculated On
Employee0.75% of gross wagesGross salary (excluding overtime)
Employer3.25% of gross wagesGross salary (excluding overtime)
Total4.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 PeriodBenefit Period
April to SeptemberJanuary to June (of the following year)
October to MarchJuly to December (of the same year)

Enabling the ESIC Component

Step 1: Navigate to Statutory Components

  1. From the sidebar, click Settings.
  2. Under the Payroll section, click Statutory Components.
  3. Locate the ESIC component in the list.

Statutory Components — ESIC

Step 2: Enable ESIC

  1. Click the ESIC component row to open its configuration.
  2. Toggle the Enable switch to On.
  3. Enter your organization's ESIC Code Number. This is the 17-digit code assigned when your establishment was registered with ESIC.
  4. Click Save.
FieldDescriptionFormat
EnableTurns ESIC on/off for the organizationToggle (On/Off)
ESIC Code NumberThe employer's registration number with ESIC17-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 SalaryEligibilityAction
Rs 21,000 or belowEligibleESIC contributions calculated automatically
Above Rs 21,000Not eligible (new enrollments)No ESIC deduction
Above Rs 21,000 (already enrolled in current contribution period)Continues to be coveredESIC contributions continue until the end of the contribution period

Entering the ESIC Number for an Employee

  1. From the sidebar, click Employees.
  2. Search for and click the employee's name to open their profile.
  3. Navigate to the Statutory Details tab.
  4. In the ESIC Number field, enter the employee's ESIC Insurance Number (IP number).
  5. Ensure the ESIC Enable toggle is set to On.
  6. Click Save.

Employee ESIC enrollment

FieldRequiredDescriptionFormat
ESIC NumberYes (if ESIC is enabled)The employee's Insurance Person (IP) number17-digit numeric
ESIC EnableYesToggle to include/exclude this employee from ESICToggle (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:

  1. Navigate to Employees and use the list view.
  2. Open each eligible employee's profile in a new tab.
  3. Enter the ESIC number and enable ESIC for each employee.
  4. 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

ScenarioAction
Employee's gross salary exceeds Rs 21,000 and they are not in an active contribution periodDisable ESIC
Employee is a contractor not covered under ESICDisable ESIC
Employee is already covered under ESIC through another employerDisable ESIC
Employee is covered under a different social security scheme (e.g., CGHS for government employees)Disable ESIC

How to Disable ESIC

  1. Open the employee's profile.
  2. Navigate to Statutory Details.
  3. Set the ESIC Enable toggle to Off.
  4. 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

  1. The system identifies all employees with ESIC enabled.
  2. For each employee, it determines the gross wages for the month (excluding overtime payments).
  3. It calculates:
    • Employee ESIC contribution = 0.75% of gross wages
    • Employer ESIC contribution = 3.25% of gross wages
  4. Contributions are rounded to the nearest rupee.

Example Calculation

ParameterValue
Gross Monthly SalaryRs 18,000
Overtime (excluded)Rs 1,500
ESIC-eligible WagesRs 18,000
Employee ESIC (0.75%)Rs 135
Employer ESIC (3.25%)Rs 585
Total ESICRs 720

Another Example — Employee at the Ceiling

ParameterValue
Gross Monthly SalaryRs 21,000
ESIC-eligible WagesRs 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 ESICRs 841

Viewing ESIC on Payslips

After payroll is processed:

  1. Navigate to Payroll > Payslips.
  2. Select the month and click on an employee's payslip.
  3. The Deductions section shows the employee's ESIC contribution (0.75%).
  4. The employer's ESIC contribution (3.25%) is shown in the payroll summary.

Payslip showing ESIC deduction

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

ReportDescriptionUsed For
ESIC Monthly Contribution ReportLists all ESIC-enrolled employees with their wages, employee contribution, and employer contribution for a given monthMonthly payment and internal records
ESIC Summary ReportAggregated totals of employee and employer contributionsChallan preparation
ESIC Half-Yearly Return DataData formatted for the half-yearly return filingFiling on the ESIC portal

Generating the ESIC Contribution Report

  1. From the sidebar, click Reports.
  2. Select ESIC Report (or Statutory Reports > ESIC).
  3. Choose the Month and Year.
  4. Click Generate.
  5. 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
  6. Click Export to download in Excel or PDF format.

ESIC Contribution Report


Filing Requirements and Deadlines

Monthly Payment

ObligationDeadlineMethod
Monthly ESIC contribution payment15th of the following monthOnline payment through the ESIC portal

Half-Yearly Returns

ReturnPeriodDeadline
Half-Yearly Return — Period 1April to September11th November
Half-Yearly Return — Period 2October to March12th May

Filing Process

  1. Run payroll for each month in the contribution period.
  2. Generate the ESIC Monthly Contribution Report for each month.
  3. Make the monthly payment on the ESIC portal by the 15th of each following month.
  4. At the end of the contribution period (September or March), generate the Half-Yearly Return Data from Udyamo HRMS.
  5. 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:

ScenarioSystem Behavior
Salary increases above Rs 21,000 mid-contribution periodEmployee 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 periodEmployee is no longer eligible; ESIC is not calculated
Salary decreases to Rs 21,000 or belowEmployee becomes eligible; ESIC is calculated from the next payroll
New joinee with salary below Rs 21,000Automatically 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

IssuePossible CauseResolution
ESIC not calculated for an eligible employeeESIC is disabled for that employeeOpen their profile, enable ESIC in Statutory Details
ESIC calculated for an employee above Rs 21,000Employee was enrolled during the current contribution period when salary was below the ceilingThis is correct behavior; coverage continues for the full contribution period
ESIC amount appears incorrectOvertime may be included in the calculationVerify that overtime is excluded from the ESIC wage base
Employee not appearing in ESIC reportESIC number is missing or ESIC is disabledEnter the ESIC number and enable ESIC for the employee
ESIC challan amount does not match reportRounding differences or mid-month joinersVerify the report totals and check for proration of mid-month joiners

Next Steps

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 / UTPT LeviedMaximum Annual Amount
MaharashtraYesRs 2,500
KarnatakaYesRs 2,400
West BengalYesRs 2,500
Andhra PradeshYesRs 2,500
TelanganaYesRs 2,500
Tamil NaduYesRs 2,500
GujaratYesRs 2,500
Madhya PradeshYesRs 2,500
KeralaYesRs 2,500
AssamYesRs 2,500
BiharYesRs 2,500
OdishaYesRs 2,500
MeghalayaYesRs 2,500
TripuraYesRs 2,500
JharkhandYesRs 2,500
SikkimYesRs 2,500
MizoramYesRs 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 SalaryPT Per Month
Up to Rs 7,500Nil
Rs 7,501 to Rs 10,000Rs 175
Above Rs 10,000Rs 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 SalaryPT Per Month
Up to Rs 15,000Nil
Rs 15,001 to Rs 25,000Rs 200
Above Rs 25,000Rs 200

West Bengal

Monthly Gross SalaryPT Per Month
Up to Rs 10,000Nil
Rs 10,001 to Rs 15,000Rs 110
Rs 15,001 to Rs 25,000Rs 130
Rs 25,001 to Rs 40,000Rs 150
Above Rs 40,000Rs 200

Andhra Pradesh / Telangana

Monthly Gross SalaryPT Per Month
Up to Rs 15,000Nil
Rs 15,001 to Rs 20,000Rs 150
Above Rs 20,000Rs 200

Gujarat

Monthly Gross SalaryPT Per Month
Up to Rs 5,999Nil
Rs 6,000 to Rs 8,999Rs 80
Rs 9,000 to Rs 11,999Rs 150
Above Rs 12,000Rs 200

Tamil Nadu

Half-Yearly Gross SalaryPT Per Half-Year
Up to Rs 21,000Nil
Rs 21,001 to Rs 30,000Rs 135
Rs 30,001 to Rs 45,000Rs 315
Rs 45,001 to Rs 60,000Rs 690
Rs 60,001 to Rs 75,000Rs 1,025
Above Rs 75,000Rs 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

  1. From the sidebar, click Settings.
  2. Navigate to Organization > Offices.
  3. Click on the office you want to configure.
  4. In the PT Number field, enter the Professional Tax registration number assigned by the state authority.
  5. Click Save.

Office settings — PT Number

FieldDescriptionFormat
PT NumberThe Professional Tax registration number for this office/establishmentVaries 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

  1. From Settings, navigate to Statutory Components.
  2. Click on Professional Tax.
  3. Ensure the PT component is Enabled.
  4. Select the State for the PT slab you want to configure.
  5. Enter the slab ranges and corresponding monthly PT amounts.
  6. Click Save.
  7. Repeat for each state where your organization has offices.

PT Slab configuration

PT Slab Configuration Fields

FieldDescriptionExample
StateThe Indian state for which this slab appliesMaharashtra
Salary Range — FromLower bound of the salary slab (inclusive)0
Salary Range — ToUpper bound of the salary slab (inclusive)7,500
PT AmountThe PT deduction for employees falling in this slab0

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:

  1. Navigating to Statutory Components and confirming PT is enabled.
  2. Clicking on PT to see the configured slabs per state.
  3. 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:

  1. The office the employee is assigned to.
  2. The state of that office.
  3. The employee's gross monthly salary.
  4. The PT slab applicable for that state and salary range.

Calculation Logic

  1. Identify the employee's primary office.
  2. Determine the state of the office.
  3. Look up the PT slab table for that state.
  4. Match the employee's gross salary to the correct slab.
  5. Deduct the corresponding PT amount from the employee's salary.

Example — Maharashtra

ParameterValue
Employee's OfficeMumbai HQ (Maharashtra)
Gross Monthly SalaryRs 35,000
Applicable SlabAbove Rs 10,000
PT Deduction (Jan, Mar–Dec)Rs 200
PT Deduction (February)Rs 300
Annual TotalRs 2,500

Example — West Bengal

ParameterValue
Employee's OfficeKolkata Branch (West Bengal)
Gross Monthly SalaryRs 22,000
Applicable SlabRs 15,001 to Rs 25,000
PT DeductionRs 130 per month
Annual TotalRs 1,560

Viewing PT on Payslips

After payroll is processed, the PT deduction appears in the Deductions section of the employee's payslip:

  1. Navigate to Payroll > Payslips.
  2. Select the month and click on an employee's payslip.
  3. Look for Professional Tax under Deductions.

Payslip showing PT deduction


Exemptions from Professional Tax

Certain categories of individuals are exempt from Professional Tax in various states. Common exemptions include:

Exemption CategoryApplicable States
Parents or guardians of children with mental disabilityMost 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 industryMaharashtra
Women (in some states)Madhya Pradesh
Senior citizens above a certain ageSome 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

ReportDescriptionUsed For
PT Monthly ReportLists all employees with their gross salary, applicable slab, and PT deduction for a given monthInternal records and payment verification
PT Summary by OfficeAggregated PT totals grouped by office (and state)Payment preparation for each state
PT Annual ReportYearly summary of PT deductions per employeeAnnual filing and reconciliation

Generating the PT Report

  1. From the sidebar, click Reports.
  2. Select Professional Tax Report (or Statutory Reports > Professional Tax).
  3. Choose the Month and Year (or select Annual for the full-year report).
  4. Optionally filter by Office to see PT data for a specific location.
  5. Click Generate.
  6. Review the report and click Export to download in Excel or PDF format.

Professional Tax Report


Filing Requirements

PT filing requirements vary by state. Below is a general overview:

ObligationFrequencyTypical Deadline
PT paymentMonthly (most states)By the last day of the following month (varies by state)
PT return filingMonthly or Quarterly (varies by state)Varies by state
Annual PT returnAnnuallyVaries by state (often by the end of June following the fiscal year)

State-Specific Filing

StatePayment FrequencyReturn Frequency
MaharashtraMonthlyMonthly (by the last day of the following month)
KarnatakaMonthlyMonthly (by the 20th of the following month)
West BengalMonthlyMonthly or Quarterly
Andhra PradeshMonthlyMonthly (by the 10th of the following month)
GujaratMonthlyMonthly
Tamil NaduHalf-YearlyHalf-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

  1. Ensure each office has the correct state assigned in its address.
  2. Enter the PT Number for each office.
  3. Configure PT slabs for each state where you have offices.
  4. Verify that employees are assigned to the correct office.
  5. When running payroll, Udyamo HRMS automatically applies the correct state's PT slabs to each employee based on their office assignment.
OfficeStatePT RegistrationEmployees Affected
Mumbai HQMaharashtraPT/MH/12345All employees assigned to Mumbai HQ
Bengaluru BranchKarnatakaPT/KA/67890All employees assigned to Bengaluru Branch
Delhi OfficeDelhiNot applicable (no PT in Delhi)No PT deduction

Troubleshooting

IssuePossible CauseResolution
PT not deducted for an employeeEmployee's office is in a state that does not levy PTVerify the office's state; no action needed if the state does not have PT
PT amount seems incorrectPT slabs may be outdated or misconfiguredReview and update the PT slab table for the relevant state
Different employees in the same office have different PT amountsTheir gross salaries fall into different slabsThis is expected behavior
February PT amount is different from other monthsMaharashtra (and some states) have a higher deduction in the final monthThis is expected behavior to reach the annual cap
Employee exempt from PT is still being chargedPT has not been disabled for that employeeDisable PT in the employee's Statutory Details

Next Steps

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

Under Section 192 of the Income Tax Act, every employer (referred to as the "deductor") is required to:

  1. Estimate each employee's total annual income from salary.
  2. Allow applicable deductions and exemptions.
  3. Calculate the tax payable on the estimated income.
  4. Deduct tax proportionately each month from the employee's salary.
  5. Deposit the deducted tax with the government.
  6. File quarterly TDS returns.

Income Tax Slabs — New Tax Regime (Default from FY 2023-24)

Annual IncomeTax Rate
Up to Rs 3,00,000Nil
Rs 3,00,001 to Rs 7,00,0005%
Rs 7,00,001 to Rs 10,00,00010%
Rs 10,00,001 to Rs 12,00,00015%
Rs 12,00,001 to Rs 15,00,00020%
Above Rs 15,00,00030%

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 IncomeTax Rate
Up to Rs 2,50,000Nil
Rs 2,50,001 to Rs 5,00,0005%
Rs 5,00,001 to Rs 10,00,00020%
Above Rs 10,00,00030%

Under the Old Regime, employees can claim various deductions:

SectionDeductionMaximum
80CPPF, EPF, ELSS, life insurance, tuition fees, etc.Rs 1,50,000
80DHealth insurance premiumRs 25,000 (Rs 50,000 for senior citizens)
80EEducation loan interestNo limit (for 8 years)
24(b)Home loan interestRs 2,00,000
80TTASavings account interestRs 10,000
Standard DeductionFlat deduction from salary incomeRs 50,000
HRAHouse Rent Allowance exemptionAs 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

  1. From the sidebar, click Settings.
  2. Under the Payroll section, click Taxes.
  3. The Tax configuration page opens.

Tax settings page

Step 2: Enter Deductor Details

The Tax model in Udyamo HRMS stores the organization's tax deduction details:

FieldDescriptionExample
Deductor TypeThe type of entity deducting tax (Company, Partnership, Individual, etc.)Company
TDS AO CodeThe Assessing Officer code assigned to the deductor by the Income Tax DepartmentMUM-W-101-1
Deductor DataAdditional deductor information including TAN, PAN, address, and responsible person details(See below)

Deductor Data Fields

Sub-FieldDescriptionExample
TANTax Deduction Account Number (10-character alphanumeric)MUMX12345A
PANPermanent Account Number of the organizationAABCX1234D
Deductor NameLegal name of the organization as registered with Income TaxAcme Technologies Pvt Ltd
Responsible PersonName and designation of the person responsible for TDS complianceRajesh Kumar, CFO
AddressRegistered address of the deductor123 Business Park, Mumbai 400001
  1. Enter all the required fields.
  2. 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

StepActorAction
1EmployeeSubmits tax declaration through the self-service portal, specifying regime and investments
2SystemCalculates projected annual tax liability based on the declaration
3SystemDivides the annual tax liability by the remaining months in the financial year
4PayrollDeducts the monthly TDS amount from each payroll run
5EmployeeSubmits proof of investments (usually in January-February) for final verification
6Admin/HRVerifies proof and adjusts TDS if necessary

How Employees Submit a Tax Declaration

  1. The employee logs in to Udyamo HRMS.
  2. From the self-service portal, navigates to My Tax Declaration (or Payroll > Tax Declaration).
  3. Selects the Tax Regime: New Regime or Old Regime.
  4. If Old Regime is selected, enters the declaration details:
Declaration SectionFieldsExample
Section 80CPPF contribution, ELSS investment, life insurance premium, children's tuition feesRs 1,50,000
Section 80DHealth insurance premium (self, family, parents)Rs 25,000
Section 24(b)Home loan interestRs 2,00,000
HRAMonthly rent paid, landlord detailsRs 15,000/month
Other Deductions80E (education loan), 80G (donations), etc.Varies
  1. Clicks Submit.

Employee Tax Declaration form

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

  1. 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.

  2. 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)
  3. Deduct Chapter VI-A Deductions (Old Regime only):

    • 80C, 80D, 80E, 80G, 80TTA, etc.
  4. Compute Taxable Income: Gross Annual Income minus exemptions minus deductions.

  5. Apply Tax Slabs: Based on the selected regime (Old or New).

  6. Add Health and Education Cess: 4% on the computed tax.

  7. Subtract Rebate (if applicable): Section 87A rebate for taxable income up to the applicable threshold.

  8. 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

ParameterValue
Annual CTCRs 12,00,000
Gross Annual Salary (taxable)Rs 11,50,000
Standard DeductionRs 75,000
Taxable IncomeRs 10,75,000
Tax on first Rs 3,00,000Nil
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 TaxRs 61,250
Health & Education Cess (4%)Rs 2,450
Total Tax LiabilityRs 63,700
Monthly TDS (Rs 63,700 / 12)Rs 5,308

Example — Old Tax Regime with Deductions

ParameterValue
Annual CTCRs 12,00,000
Gross Annual SalaryRs 11,50,000
Standard DeductionRs 50,000
HRA ExemptionRs 1,20,000
Section 80C (PPF, ELSS, EPF)Rs 1,50,000
Section 80D (Health Insurance)Rs 25,000
Taxable IncomeRs 8,05,000
Tax on first Rs 2,50,000Nil
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 TaxRs 73,500
Health & Education Cess (4%)Rs 2,940
Total Tax LiabilityRs 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:

  1. Navigate to Payroll > Payslips.
  2. Select the month and click on an employee's payslip.
  3. The Deductions section shows Income Tax (TDS) with the monthly amount.

Payslip showing TDS deduction

The payslip also typically shows:

ItemDescription
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 YearEstimated annual tax liability

TDS Reports

Available Reports

ReportDescriptionUsed For
TDS WorksheetDetailed breakdown for each employee showing income, exemptions, deductions, taxable income, and tax liabilityInternal review and employee queries
TDS Monthly SummaryMonthly TDS totals across all employeesChallan preparation and payment
TDS Quarterly ReportData formatted for Form 24Q filingQuarterly return filing
Form 16 DataAnnual salary certificate data for each employeeIssuing Form 16 at year-end

Generating the TDS Worksheet

  1. From the sidebar, click Reports.
  2. Select TDS Report (or Statutory Reports > TDS).
  3. Choose the Month and Year (or select a quarter for quarterly data).
  4. Click Generate.
  5. The report shows each employee's:
    • Gross income
    • Exemptions and deductions
    • Taxable income
    • Tax computed
    • TDS deducted (month and YTD)
  6. Click Export to download in Excel or PDF format.

TDS Worksheet report


Quarterly TDS Return (Form 24Q)

Employers must file a quarterly TDS return in Form 24Q with the Income Tax Department.

Filing Schedule

QuarterPeriodFiling Deadline
Q1April to June31st July
Q2July to September31st October
Q3October to December31st January
Q4January to March31st May

TDS Payment Deadlines

MonthPayment Deadline
April to February7th of the following month
March30th April

Filing Process

  1. Run payroll for all months in the quarter.
  2. Generate the TDS Quarterly Report from Udyamo HRMS.
  3. Export the data.
  4. Use the data to prepare Form 24Q (either manually or using TDS return preparation software such as RPU provided by NSDL/Protean).
  5. Upload the return on the TIN-NSDL portal or through your authorized representative.
  6. 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:

  1. Navigate to Reports > Form 16 Data.
  2. Select the Financial Year.
  3. Click Generate.
  4. Review the data for each employee.
  5. 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

IssuePossible CauseResolution
TDS not calculated for an employeeEmployee may have no taxable income after deductionsVerify the employee's projected annual income and declarations
TDS amount seems too highEmployee has not submitted investment declarationsRemind the employee to submit their tax declaration
TDS amount changed mid-yearEmployee updated their declaration or received a salary revisionThis is expected; TDS is recalculated based on updated data
TDS deducted but not showing in reportPayroll for the month has not been finalizedFinalize the payroll before generating reports
Quarterly return data does not match challansCorrections or off-cycle payruns may have caused discrepanciesReconcile the TDS report with challan payments before filing

Next Steps

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

CriterionRequirement
Establishment size20 or more employees (once applicable, continues even if count falls below 20)
Employee eligibilityEmployees drawing wages up to Rs 21,000 per month
Minimum service30 days of work in the accounting year
Covered employeesAll 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

ParameterValue
Minimum Bonus8.33% of the salary or wage (even if the employer has no allocable surplus)
Maximum Bonus20% of the salary or wage
Calculation CeilingBonus 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

ObligationDeadline
Bonus paymentWithin 8 months from the close of the accounting year
Example: Accounting year ends March 31Bonus must be paid by November 30

Configuring Statutory Bonus in Udyamo HRMS

Step 1: Navigate to Statutory Components

  1. From the sidebar, click Settings.
  2. Under the Payroll section, click Statutory Components.
  3. Locate and click Statutory Bonus.

Statutory Bonus configuration

Step 2: Configure Bonus Parameters

The StatutoryBonusComponent model provides the following configuration fields:

FieldDescriptionDefaultOptions
Bonus PercentageThe percentage of eligible wages to pay as bonus8.33%8.33% to 20%
Payment FrequencyHow often bonus is paidAnnualAnnual, Monthly
Minimum WageThe minimum wage basis for bonus calculation (state-specific)As per state notificationNumeric value in Rs
EnableToggle to enable/disable bonus calculationsOffOn/Off
  1. Set the Bonus Percentage. The minimum is 8.33% and the maximum is 20%.
  2. 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.
  3. Enter the Minimum Wage applicable in your state. This is used as the wage ceiling for bonus calculation if it exceeds Rs 7,000.
  4. Toggle Enable to On.
  5. Click Save.

Bonus parameters form

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:

  1. Return to the Statutory Components list.
  2. Confirm that Statutory Bonus shows as Enabled with the correct percentage and payment frequency.

Bonus Calculation

Calculation Logic

  1. Identify all eligible employees (salary up to Rs 21,000/month, minimum 30 days of service).
  2. 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).
  3. Calculate bonus: Bonus-eligible wage x Bonus percentage x Number of months worked / 12.

Example — Annual Bonus

ParameterValue
Employee's Monthly Basic + DARs 15,000
Bonus-eligible Wage (higher of Rs 7,000 and minimum wage)Rs 7,000 (assuming minimum wage is Rs 7,000)
Bonus Percentage8.33%
Months Worked12
Annual BonusRs 7,000 x 12 x 8.33% = Rs 6,997 (rounded to Rs 6,997)

Example — Monthly Bonus

ParameterValue
Employee's Monthly Basic + DARs 18,000
Bonus-eligible WageRs 7,000
Bonus Percentage8.33%
Monthly BonusRs 7,000 x 8.33% = Rs 583

Viewing Bonus on Payslips (Monthly Frequency)

If the payment frequency is set to Monthly:

  1. Navigate to Payroll > Payslips.
  2. Select the month and open an employee's payslip.
  3. 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.

Payslip showing statutory bonus


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

CriterionRequirement
Minimum service5 years of continuous service (4 years and 240 days is treated as 5 years)
Covered employeesAll employees in establishments with 10+ employees
ExceptionIn 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:

ComponentDefinition
Last drawn salaryBasic Wages + Dearness Allowance (as on the date of cessation)
1515 days' wages for each completed year of service
Years of serviceCompleted years (service of 6 months or more in the last year is rounded up)
26Working days in a month

Gratuity Cap

ParameterValue
Maximum gratuity payableRs 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:

EventGratuity Payable
Resigns after 5+ years of serviceYes
Is terminated after 5+ years of serviceYes
Retires (superannuation)Yes
Dies during employmentYes (5-year rule waived; paid to nominee/legal heir)
Becomes disabled during employmentYes (5-year rule waived)

Configuring Gratuity in Udyamo HRMS

Step 1: Navigate to Gratuity Settings

  1. From the sidebar, click Settings.
  2. Under the Payroll section, click Statutory Components.
  3. Locate and click Gratuity.

Gratuity configuration

Step 2: Configure Gratuity Parameters

FieldDescriptionDefault
EnableToggle to enable gratuity calculationsOff
Minimum Service YearsNumber of years of service required for eligibility5
Calculation FormulaThe formula used for computation(Last Salary x 15 x Years of Service) / 26
Maximum GratuityCap on the gratuity amountRs 20,00,000
  1. Toggle Enable to On.
  2. Confirm or adjust the Minimum Service Years (default is 5).
  3. Verify the Calculation Formula is correct.
  4. Confirm the Maximum Gratuity cap.
  5. 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:

  1. In the Gratuity configuration, look for an Early Gratuity or equivalent option.
  2. If available, enable it and set the minimum service period to your organization's policy.
  3. 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

ParameterValue
Last Drawn Basic + DARs 30,000 per month
Years of Service8 years
Gratuity(Rs 30,000 x 15 x 8) / 26 = Rs 1,38,462

Example 2 — Gratuity with Partial Year

ParameterValue
Last Drawn Basic + DARs 45,000 per month
Total Service12 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

ParameterValue
Last Drawn Basic + DARs 1,20,000 per month
Years of Service30 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

StepAction
1Employee's last working day is recorded in Udyamo HRMS
2System checks gratuity eligibility (service years)
3System calculates gratuity using the formula
4Gratuity amount is included in the F&F settlement statement
5Admin reviews and approves the F&F
6Gratuity is paid along with other F&F components

F&F settlement showing gratuity


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

ReportDescription
Statutory Bonus ReportLists all eligible employees with their bonus-eligible wages, percentage, and calculated bonus
Bonus Payment SummaryAggregated bonus totals for the organization

Gratuity Reports

ReportDescription
Gratuity Eligibility ReportLists all employees with their service tenure and eligibility status
Gratuity Provision ReportMonthly provision calculations for all employees (for accounting purposes)
Gratuity Payout ReportDetails of gratuity actually paid out to exiting employees

Generating Reports

  1. From the sidebar, click Reports.
  2. Select Statutory Bonus Report or Gratuity Report.
  3. Choose the relevant period (month, quarter, or year).
  4. Click Generate.
  5. Review and Export in Excel or PDF format.

Statutory Bonus Report


Tax Treatment

Bonus

AspectTreatment
TaxabilityStatutory bonus is fully taxable as salary income
TDSTDS is deducted on the bonus amount at the time of payment
EPFStatutory bonus is not included in the EPF wage base

Gratuity

AspectGovernment EmployeesPrivate Employees (Covered under Act)Private Employees (Not covered under Act)
Tax ExemptionFully exemptExempt up to the least of: (a) Rs 20,00,000, (b) actual gratuity, (c) formula amountExempt up to the least of: (a) Rs 20,00,000, (b) half month's salary x years of service, (c) actual gratuity
Excess over exemptionN/ATaxable as salaryTaxable 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

ItemFrequencyDeadline
Statutory Bonus paymentAnnualWithin 8 months of accounting year-end
Bonus register maintenanceAnnualTo be maintained by the employer
Gratuity payment on exitPer eventWithin 30 days of it becoming payable
Gratuity nomination (Form F)At joiningEmployee should nominate at the time of joining
Display of bonus abstract (Form D)AnnualWithin 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

IssuePossible CauseResolution
Bonus not calculated for an employeeEmployee's salary exceeds Rs 21,000/month or they have less than 30 days of serviceVerify eligibility criteria
Bonus percentage cannot be set below 8.33%This is the statutory minimumYou must set it to at least 8.33%
Gratuity not appearing in F&FEmployee has less than 5 years of serviceVerify service dates; gratuity requires 5 years (unless death/disability)
Gratuity amount is cappedCalculated amount exceeds Rs 20,00,000This is the statutory maximum; the cap is correct
Monthly bonus amount seems lowBonus is calculated on the wage ceiling (Rs 7,000), not the actual salaryThis is correct per the Act

Next Steps

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:

FieldDescriptionType
loan_amountThe total loan amount approved and disbursedCurrency (Rs)
interest_rateAnnual interest rate applied to the loanPercentage (%)
instalment_termThe number of months over which the loan will be repaidInteger
monthly_emiThe equated monthly instalment deducted from salaryCurrency (Rs)
remaining_amountThe outstanding principal + interest yet to be repaidCurrency (Rs)
StatusCurrent status of the loanPending / 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

  1. From the sidebar, click Settings.
  2. Under the Finance section, click Loan Categories.
  3. The Loan Categories list page opens.

Loan Categories settings page

Step 2: Create a Loan Category

  1. Click Add New (or Create Loan Category).
  2. Fill in the required fields:
FieldDescriptionExample
NameDescriptive name for the loan typePersonal Loan
Maximum AmountThe maximum loan amount an employee can request under this categoryRs 5,00,000
Interest RateAnnual interest rate (set to 0 for interest-free loans)8%
  1. Click Save.

Example Loan Categories

Category NameMax AmountInterest RateTypical Use
Personal LoanRs 5,00,0008%General purpose
Emergency LoanRs 1,00,0000%Medical or family emergencies
Home AdvanceRs 10,00,0006%Home purchase or renovation
Vehicle LoanRs 3,00,0007%Two-wheeler or car purchase
Education LoanRs 2,00,0005%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

  1. From the Loan Categories list, click on the category name.
  2. Modify the fields as needed and click Save.
  3. 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

  1. The employee logs in to Udyamo HRMS.
  2. From the self-service portal, navigates to Finance > Loans (or My Loans).
  3. Clicks Apply for Loan (or New Loan Request).
  4. Fills in the application form:
FieldDescriptionExample
Loan CategorySelect from available categoriesPersonal Loan
Loan AmountThe amount requested (up to the category maximum)Rs 2,00,000
Instalment TermNumber of months for repayment24 months
ReasonBrief description of why the loan is neededHome renovation
  1. Clicks Submit.

Employee loan application form

What Happens After Submission

  1. The loan request is created with a status of Pending.
  2. A notification is sent to the administrator or designated approver.
  3. 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:

ValidationRuleWhat Happens if Failed
Maximum AmountRequested amount must not exceed the loan category's maximumApplication is rejected with an error message
Salary CriteriaThe monthly EMI should not exceed a certain percentage of the employee's net salary (configurable)Warning or rejection depending on organization policy
Employment DurationEmployee must have completed a minimum period of service (configurable)Application is blocked
Existing LoansEmployee may be restricted from having multiple active loans (configurable)Application is blocked
Active EmploymentEmployee must have an Active statusApplication 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
StatusDescriptionWho Acts
PendingLoan request submitted, awaiting review
ApprovedAdministrator has reviewed and approved the loanAdmin/HR
DisbursedLoan amount has been disbursed to the employee (bank transfer, cheque, etc.)Admin/Finance
CloseAll EMIs have been paid and the loan is fully repaid (or manually closed)System/Admin

Approving a Loan

  1. From the sidebar, click Finance > Loans (or navigate to the Loan Requests page).
  2. Filter by status Pending to see all awaiting requests.
  3. 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
  4. Review the loan against your organization's policy.
  5. Click Approve to approve the loan, or Deny to reject it.
  6. If denying, enter a Denial Reason for the employee's reference.

Loan approval screen

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:

  1. Open the approved loan.
  2. Click Mark as Disbursed.
  3. Optionally enter the disbursement date and reference (cheque number, bank transfer ID).
  4. Click Save.
  5. 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:

VariableDefinition
PPrincipal loan amount
RMonthly interest rate (annual rate / 12 / 100)
NNumber of monthly instalments (instalment term)

Example — Loan with Interest

ParameterValue
Loan AmountRs 2,00,000
Annual Interest Rate8%
Monthly Interest Rate0.667% (8% / 12)
Instalment Term24 months
Monthly EMIRs 9,052 (approximately)
Total RepaymentRs 2,17,248
Total InterestRs 17,248

Example — Interest-Free Loan

ParameterValue
Loan AmountRs 1,00,000
Annual Interest Rate0%
Instalment Term10 months
Monthly EMIRs 10,000
Total RepaymentRs 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

StepAction
1During payroll run, the system identifies all employees with active (Disbursed) loans
2For each loan, the monthly EMI is added as a deduction line item
3The EMI is deducted from the employee's net salary
4The loan's remaining_amount is reduced by the EMI amount (or the principal portion of the EMI for interest-bearing loans)
5When remaining_amount reaches zero, the loan status is automatically changed to Close

Viewing Loan Deductions on Payslips

  1. Navigate to Payroll > Payslips.
  2. Select the month and click on an employee's payslip.
  3. The Deductions section shows Loan EMI (or the specific loan category name) with the monthly deduction amount.

Payslip showing loan EMI deduction

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:

  1. Navigate to Finance > Loans.
  2. The list shows all loans across the organization.
  3. Filter by Status (Pending, Approved, Disbursed, Close).
  4. 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:

  1. Navigate to My Loans from the self-service portal.
  2. View all current and past loans.
  3. Click on a loan to see the repayment schedule and remaining balance.

Loan details with repayment schedule

Repayment Schedule Table

The loan detail page shows a repayment schedule:

InstalmentDue DateEMI AmountPrincipalInterestRemaining Balance
1May 2025Rs 9,052Rs 7,719Rs 1,333Rs 1,92,281
2Jun 2025Rs 9,052Rs 7,770Rs 1,282Rs 1,84,511
3Jul 2025Rs 9,052Rs 7,822Rs 1,230Rs 1,76,689
..................
24Apr 2027Rs 9,052Rs 8,992Rs 60Rs 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:

  1. Navigate to Finance > Loans.
  2. Open the loan to be closed.
  3. Click Close Loan (or Pre-close).
  4. The system shows the outstanding remaining amount.
  5. 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).
  6. Click Confirm.
  7. 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

ReportDescription
Active Loans ReportLists all currently disbursed loans with employee details, outstanding amounts, and EMI schedules
Loan Summary ReportAggregated totals of loans by category, status, and period
Loan Deduction ReportMonthly report of EMI deductions processed through payroll
Loan History ReportComplete history of all loans (active and closed)

Generating a Loan Report

  1. From the sidebar, click Reports.
  2. Select Loan Report (or Finance Reports > Loans).
  3. Choose the report type (Active, Summary, Deduction, or History).
  4. Select the Period (month, quarter, or year).
  5. Optionally filter by Loan Category or Department.
  6. Click Generate.
  7. Review the report and click Export for Excel or PDF download.

Loan Report


Troubleshooting

IssuePossible CauseResolution
Employee cannot apply for a loanLoan feature toggle is disabled, or no loan categories existEnable the Loan feature toggle and create at least one loan category
Loan application is rejectedValidation rule failed (amount exceeds max, insufficient service, existing loan)Review the validation rules and the employee's eligibility
EMI not deducted from salaryLoan status is not "Disbursed" or payroll has not been runVerify the loan status is Disbursed; run payroll
Remaining amount does not match expectationsInterest calculation or partial month deductionsReview the repayment schedule for accuracy
Loan shows as "Close" prematurelyManual closure or data entry errorReview the loan history and reopen if needed

Next Steps

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:

FieldDescriptionType
amountThe expense amount being claimedCurrency (Rs)
statusCurrent status of the claimPending / Approved / Rejected / Approved & Paid
expense_dateThe date the expense was incurredDate
CategoryThe type of expense (linked to ReimbursementCategory)Selection
DescriptionDetails about the expenseText
AttachmentSupporting 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

  1. From the sidebar, click Settings.
  2. Under the Finance section, click Reimbursement Categories.
  3. The Reimbursement Categories list page opens.

Reimbursement Categories settings

Step 2: Create a Reimbursement Category

  1. Click Add New (or Create Reimbursement Category).
  2. Enter the category details:
FieldDescriptionExample
NameDescriptive name for the expense typeTravel Reimbursement
DescriptionBrief explanation of what expenses fall under this categoryExpenses for business travel including airfare, train tickets, and taxi fares
  1. Click Save.

Example Reimbursement Categories

Category NameDescriptionCommon Claims
TravelBusiness travel expensesAirfare, train, taxi, bus fares
Meals & EntertainmentBusiness meals and client entertainmentRestaurant bills, client dinner receipts
AccommodationHotel and lodging for business tripsHotel invoices
Office SuppliesOut-of-pocket purchases for office useStationery, printer ink, cables
CommunicationBusiness-related phone and internet expensesMobile recharge, internet bill
MedicalMedical expenses not covered by insurancePharmacy bills, consultation fees
Training & EducationProfessional development expensesCourse fees, certification exam fees, book purchases
RelocationMoving expenses for employee relocationPacking, transport, temporary housing
Fuel & ConveyanceDaily commute and local travel fuel expensesFuel receipts, toll charges
MiscellaneousOther business expenses not covered by the aboveVaries

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

  1. From the Reimbursement Categories list, click on a category name.
  2. Modify the fields as needed and click Save.
  3. 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

  1. The employee logs in to Udyamo HRMS.
  2. From the self-service portal, navigates to Finance > Reimbursements (or My Reimbursements).
  3. Clicks New Claim (or Submit Reimbursement).
  4. Fills in the claim form:
FieldRequiredDescriptionExample
CategoryYesSelect from available reimbursement categoriesTravel
AmountYesThe expense amount in RsRs 4,500
Expense DateYesThe date the expense was incurred2025-06-15
DescriptionYesDetailed description of the expenseFlight ticket Mumbai to Delhi for client meeting on June 15
AttachmentRecommendedReceipt, invoice, or supporting documentflight_receipt.pdf
  1. Clicks Submit.

Reimbursement claim form

Attachment Requirements

Udyamo HRMS supports attachments on reimbursement claims with the following specifications:

ParameterSpecification
Supported formatsImage (JPG, PNG), PDF, Excel (XLS, XLSX)
Maximum file size5 MB per attachment
Number of attachmentsOne 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

  1. The claim is created with a status of Pending.
  2. A notification is sent to the designated approver (manager or admin).
  3. The employee can view the pending claim under My Reimbursements.

Approval Workflow

Approval Process

The reimbursement approval workflow involves the following steps:

StepActorAction
1EmployeeSubmits the reimbursement claim
2Manager/AdminReviews the claim details, amount, date, and attachment
3Manager/AdminApproves or rejects the claim
4SystemUpdates the status and notifies the employee
5Finance/AdminProcesses payment (if approved)

Reviewing and Approving a Claim

  1. From the sidebar, click Finance > Reimbursements (or navigate to the reimbursement requests page).
  2. Filter by status Pending to see all awaiting claims.
  3. Click on a claim to review:
    • Employee name and department
    • Category and amount
    • Expense date
    • Description
    • Attached document (click to view or download)
  4. Verify the claim against your organization's expense policy.
  5. Choose one of the following actions:
ActionResult
ApproveClaim status changes to Approved
RejectClaim status changes to Rejected; you must enter a Denial Reason

Reimbursement approval screen

Entering a Denial Reason

When rejecting a claim:

  1. Click Reject.
  2. A text field appears for the Denial Reason.
  3. Enter a clear, specific reason (e.g., "Receipt is missing the date" or "Amount exceeds the per diem limit of Rs 2,000").
  4. Click Confirm Rejection.
  5. 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:

StatusDescriptionNext Possible Status
PendingClaim submitted, awaiting reviewApproved, Rejected
ApprovedClaim reviewed and approved by manager/adminApproved & Paid
RejectedClaim reviewed and denied (with reason)(Terminal — employee may submit a new claim)
Approved & PaidApproved 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

StepAction
1Admin approves one or more reimbursement claims
2During the next payroll run, approved reimbursements are included
3The reimbursement amount is added to the employee's payout (typically as a non-taxable component, depending on the category)
4After payroll is processed, the reimbursement status updates to Approved & Paid

Viewing Reimbursements on Payslips

  1. Navigate to Payroll > Payslips.
  2. Select the month and click on an employee's payslip.
  3. The Earnings or Reimbursements section shows the reimbursement amount with the category name.

Payslip showing reimbursement

Manual Payment (Outside Payroll)

If your organization pays reimbursements separately from payroll:

  1. Open the approved claim.
  2. Click Mark as Paid.
  3. Optionally enter the payment reference (bank transfer ID, cheque number, date).
  4. Click Save.
  5. 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

  1. Log in to Udyamo HRMS.
  2. Navigate to My Reimbursements.
  3. The page displays all claims, sortable and filterable by:
    • Status (Pending, Approved, Rejected, Approved & Paid)
    • Category
    • Date range
  4. Click on any claim to view its full details, including the approval/rejection history and denial reason (if rejected).

For Administrators

  1. Navigate to Finance > Reimbursements.
  2. The list shows all claims across the organization.
  3. Use filters to narrow down:
FilterOptions
StatusPending, Approved, Rejected, Approved & Paid
CategoryAny configured reimbursement category
EmployeeSearch by name or employee ID
DepartmentFilter by department
Date RangeFrom date to to date
Amount RangeMinimum to maximum amount

Reimbursement list with filters


Reimbursement Reports

Available Reports

ReportDescription
Reimbursement Summary ReportAggregated totals by category, department, or period
Reimbursement Detail ReportIndividual claim-level details for a given period
Pending Claims ReportAll claims awaiting approval
Reimbursement by Employee ReportAll claims for a specific employee
Monthly Reimbursement PayoutTotal reimbursements processed through payroll in a given month

Generating a Reimbursement Report

  1. From the sidebar, click Reports.
  2. Select Reimbursement Report (or Finance Reports > Reimbursements).
  3. Choose the report type.
  4. Select the Period (month, quarter, or year).
  5. Apply optional filters (category, department, status).
  6. Click Generate.
  7. Review the results on screen.
  8. Click Export to download in Excel or PDF format.

Reimbursement Report


Best Practices

PracticeBenefit
Require attachments for all claims above a threshold (e.g., Rs 500)Reduces fraudulent or unsupported claims
Set clear category descriptionsEmployees know exactly which category to use
Review and approve claims weeklyPrevents a backlog and keeps employees informed
Use payroll integration for approved claimsStreamlines payment and avoids manual tracking
Provide specific denial reasonsHelps employees correct and resubmit valid claims
Archive receipts digitallyMaintain audit trails without physical paperwork

Tax Implications

CategoryTax Treatment
Travel (business)Generally non-taxable if supported by receipts and within policy limits
MedicalTaxable above exemption limits (varies by regime)
Meals (business)Generally non-taxable if incurred for business purposes
Office SuppliesNot a perquisite; non-taxable
Fuel & ConveyanceMay be partially exempt depending on salary structure
TrainingGenerally 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

IssuePossible CauseResolution
Employee cannot submit a claimReimbursement feature is disabled or no categories existEnable the feature toggle and create at least one category
Attachment upload failsFile exceeds 5 MB or is in an unsupported formatCompress the file or convert to a supported format (JPG, PNG, PDF, XLS)
Claim stuck in "Pending"No approver has reviewed itRemind the designated approver or reassign approval
Reimbursement not appearing on payslipClaim was not approved before payroll was runApprove the claim and include it in the next payroll cycle
Employee cannot see denial reasonApprover did not enter a reasonRe-open the claim and add the denial reason

Next Steps

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:

AspectAdvance SalaryLoan
PurposeShort-term cash need before paydayLarger financial need (home, vehicle, personal)
AmountTypically a portion of the current month's salaryCan be much larger (up to category max)
InterestNo interestMay carry interest
Repayment TermUsually 1-3 monthsLonger term (6-60 months)
FrequencyOccasional, as neededInfrequent, planned
SettlementSalary deduction or manualEMI deduction from salary
ApprovalQuick approval processMore formal review process

Understanding the Advance Salary Model

The AdvanceSalary model in Udyamo HRMS tracks each advance with the following key fields:

FieldDescriptionType
requested_amountThe amount the employee is requestingCurrency (Rs)
approved_amountThe amount the administrator approves (may differ from requested)Currency (Rs)
settlement_typeHow the advance will be recoveredSalary Deduction / Manual
EMI termsNumber of instalments for salary deduction settlementInteger
StatusCurrent status of the advancePending / Approved / Disbursed / Settled
ReasonEmployee's reason for requesting the advanceText

Requesting an Advance Salary

How an Employee Submits a Request

  1. The employee logs in to Udyamo HRMS.
  2. From the self-service portal, navigates to Finance > Advance Salary (or My Advances).
  3. Clicks Request Advance (or New Advance Request).
  4. Fills in the request form:
FieldRequiredDescriptionExample
Requested AmountYesThe amount the employee needs in advanceRs 15,000
ReasonYesBrief explanation of why the advance is neededMedical emergency — hospital admission deposit
  1. Clicks Submit.

Advance salary request form

What Happens After Submission

  1. The advance request is created with a status of Pending.
  2. A notification is sent to the administrator or designated approver.
  3. The employee can view the pending request under My Advances.
  4. 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
StatusDescriptionWho Acts
PendingRequest submitted, awaiting review
ApprovedAdministrator has reviewed and approved the advance, setting the approved amount and settlement termsAdmin/HR
DisbursedAdvance amount has been paid to the employeeAdmin/Finance
SettledThe advance has been fully recovered (through salary deductions or manual settlement)System/Admin

Reviewing and Approving an Advance Request

  1. From the sidebar, click Finance > Advance Salary (or navigate to the advance requests page).
  2. Filter by status Pending to see all awaiting requests.
  3. 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

Advance approval screen

Setting the Approved Amount

The administrator may approve the full requested amount or a different amount:

ScenarioAction
Full amount approvedSet Approved Amount equal to Requested Amount
Partial approvalSet Approved Amount to a lower figure (e.g., employee requested Rs 20,000 but admin approves Rs 15,000)
DenialReject the request entirely

Selecting the Settlement Type

When approving, the administrator must choose how the advance will be recovered:

Settlement TypeDescriptionWhen to Use
Salary DeductionThe advance is recovered automatically through payroll deductions over one or more monthsDefault and recommended; no manual tracking needed
ManualThe 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:

FieldDescriptionExample
Number of InstalmentsHow many monthly payroll deductions to recover the advance2

The monthly deduction is calculated as:

Monthly Deduction = Approved Amount / Number of Instalments

Example

ParameterValue
Approved AmountRs 15,000
Number of Instalments3
Monthly DeductionRs 5,000

Completing the Approval

  1. Set the Approved Amount.
  2. Select the Settlement Type (Salary Deduction or Manual).
  3. If Salary Deduction, enter the Number of Instalments.
  4. Click Approve.
  5. The status changes to Approved and the employee is notified.

To reject the request:

  1. Click Reject (or Deny).
  2. Enter a reason for rejection.
  3. Click Confirm.
  4. 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

  1. Open the approved advance.
  2. Click Mark as Disbursed.
  3. Optionally enter:
    • Disbursement date
    • Payment method (bank transfer, cheque, cash)
    • Reference number (cheque number or transaction ID)
  4. Click Save.
  5. The status changes to Disbursed.

Advance disbursement confirmation

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

StepAction
1During payroll run, the system identifies all employees with active (Disbursed) advances
2For each advance, the monthly instalment is added as a deduction line item
3The instalment is deducted from the employee's net salary
4The remaining advance balance is reduced by the instalment amount
5When the balance reaches zero, the advance status changes to Settled

Viewing Advance Deductions on Payslips

  1. Navigate to Payroll > Payslips.
  2. Select the month and click on an employee's payslip.
  3. The Deductions section shows Advance Salary Recovery (or similar label) with the monthly instalment amount.

Payslip showing advance deduction

Instalment Tracking

The advance detail page shows the recovery progress:

InstalmentMonthAmountStatusRemaining Balance
1June 2025Rs 5,000DeductedRs 10,000
2July 2025Rs 5,000DeductedRs 5,000
3August 2025Rs 5,000PendingRs 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

  1. The advance is disbursed to the employee.
  2. The employee returns the amount through a method outside payroll (e.g., cash, cheque, bank transfer).
  3. The administrator opens the advance record.
  4. Clicks Record Settlement (or Mark as Settled).
  5. Enters the settlement details:
FieldDescriptionExample
Settlement DateDate the amount was returned2025-07-01
Settlement MethodHow the employee returned the amountBank transfer
ReferenceTransaction referenceTXN-789456
Amount SettledAmount returned by the employeeRs 15,000
  1. Clicks Save.
  2. 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

  1. Log in to Udyamo HRMS.
  2. Navigate to My Advances (or Finance > Advance Salary).
  3. The page displays all advance requests, sorted by date.
  4. Filter by status: Pending, Approved, Disbursed, or Settled.
  5. 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

  1. Navigate to Finance > Advance Salary.
  2. The list shows all advance requests across the organization.
  3. Use filters to narrow down:
FilterOptions
StatusPending, Approved, Disbursed, Settled
EmployeeSearch by name or employee ID
DepartmentFilter by department
Date RangeFrom date to to date
Settlement TypeSalary Deduction, Manual

Advance salary list with filters


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.

Policy ParameterRecommended RangeExample
Maximum advance amount50% to 100% of net monthly salaryUp to 75% of net salary
Maximum repayment term1 to 6 months3 months
Minimum service period3 to 6 months after joining6 months
Frequency limitOne active advance at a timeNo new advance until current one is settled
Cooling period1 to 3 months after settling the previous advance1 month
Eligible employee statusActive employees onlyActive

Configuring Policy Rules

Some of these policies can be configured in Udyamo HRMS:

  1. Navigate to Settings > Finance > Advance Settings (if available).
  2. Set the parameters according to your organization's policy.
  3. 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

ReportDescription
Active Advances ReportLists all currently disbursed and unsettled advances
Advance Summary ReportAggregated totals by department, period, or settlement type
Advance Recovery ReportMonthly deductions processed through payroll
Advance History ReportComplete history of all advances (active and settled)

Generating an Advance Report

  1. From the sidebar, click Reports.
  2. Select Advance Salary Report (or Finance Reports > Advances).
  3. Choose the report type.
  4. Select the Period (month, quarter, or year).
  5. Apply optional filters (department, status, settlement type).
  6. Click Generate.
  7. Review the results on screen.
  8. Click Export to download in Excel or PDF format.

Advance Salary Report


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

IssuePossible CauseResolution
Employee cannot request an advanceAdvance feature toggle is disabledEnable the Advance feature in Settings > Features
Employee sees "not eligible" messagePolicy 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 payslipAdvance status is not "Disbursed" or settlement type is "Manual"Verify the advance is marked as Disbursed with settlement type Salary Deduction
Remaining balance is incorrectPartial 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 notManual settlement was recorded prematurelyReview the settlement record and reverse if needed
Multiple deductions in one monthEmployee has both loan EMI and advance recoveryThis is expected; verify the total deductions do not exceed a reasonable portion of net salary

Best Practices

PracticeBenefit
Set a maximum advance limit as a percentage of salaryPrevents employees from over-extending financially
Limit to one active advance per employeeSimplifies tracking and reduces risk
Use salary deduction as the default settlement typeAutomates 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 employeesSets clear expectations and reduces disputes
Monitor LWP situations for employees with active advancesEnsures advances are eventually recovered

Next Steps

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:

  1. Employee submits resignation — provides a reason and optionally a requested last working day.
  2. Manager or admin reviews — can approve, reject, or request changes.
  3. Notice period begins — the system calculates the last working day based on the organization's resignation settings.
  4. Offboarding tasks are initiated — checklists for asset return, knowledge transfer, and access revocation.
  5. Exit is completed — the employee's status is updated and full-and-final settlement is processed.

Resignation workflow overview


Configuring Resignation Settings

Before employees can submit resignations, an administrator must configure the organization's resignation policies using the Resignation Setting model.

  1. Click Settings in the left sidebar.
  2. Select Employee Lifecycle (or HR Settings).
  3. Click Resignation Settings.

Resignation Settings Fields

FieldDescriptionDefault
Notice Period (Days)The number of calendar or working days an employee must serve after resignation approval.30 days
Last Working Day CalculationWhether the last working day is calculated automatically by the system or set manually by the admin.Automatic
Exclude HolidaysWhether public holidays are excluded when counting notice period days.Yes
Exclude WeekendsWhether weekly off days are excluded when counting notice period days.Yes
Allow Notice BuyoutWhether the organization permits employees to pay for remaining notice days instead of serving them.No
Buyout Calculation BasisIf 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.

Resignation settings configuration


Submitting a Resignation — Employee Workflow

Employees can submit their resignation through the self-service portal.

Step-by-Step: Submit a Resignation

  1. Log in to Udyamo HRMS.
  2. Navigate to My Profile or Employee Self-Service.
  3. Click Resign or Submit Resignation.
  4. Fill in the resignation form:
FieldDescriptionRequired
Reason for ResignationA text field where the employee explains why they are leaving.Yes
Requested Last Working DayThe date the employee would like to be their last day. The system may adjust this based on notice period rules.No
Additional CommentsAny supplementary information the employee wants to share with their manager.No
  1. Review the details.
  2. 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).

Submit resignation form


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:

  1. Start from the resignation approval date (not the submission date).
  2. Add the configured Notice Period (Days).
  3. If Exclude Holidays is enabled, skip any dates that fall on public holidays defined in the holiday calendar.
  4. If Exclude Weekends is enabled, skip any dates that fall on the employee's weekly off days (as defined by their work week schedule).
  5. The resulting date becomes the Last Working Day.

Example:

ParameterValue
Resignation approved on2025-06-02 (Monday)
Notice period30 working days
Exclude weekendsYes (Saturday and Sunday off)
Exclude holidaysYes (June 15 is a holiday)
Calculated last working day2025-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:

  1. The manager or administrator reviews the resignation request.
  2. During approval, the admin enters the Last Working Day manually.
  3. 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

Last working day calculation


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

  1. Navigate to Employees > Resignations from the sidebar, or click the notification.

  2. The Resignations list shows all pending requests.

  3. Click on the resignation to view details.

  4. Review the employee's information:

    • Reason for resignation
    • Requested last working day
    • Current leave balances
    • Pending loan or advance amounts
    • Assigned assets
  5. Choose an action:

ActionDescriptionResult
ApproveAccept the resignation. Enter or confirm the last working day.Status changes to Approved. Notice period countdown begins.
RejectDecline the resignation request. Provide a reason.Status changes to Rejected. Employee remains active with no change.
Request ChangesAsk the employee to modify their request (e.g., extend notice).Status remains Pending. Employee receives notification to update.
  1. 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.
  2. 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 approval screen


Resignation Statuses

Every resignation in Udyamo HRMS has a status that reflects its current stage in the lifecycle.

StatusDescriptionWho Can Trigger
PendingThe employee has submitted the resignation. It is awaiting review.Employee (by submitting)
ApprovedThe manager or admin has accepted the resignation. The notice period is active.Manager or Admin
RejectedThe manager or admin has declined the resignation. No further action required.Manager or Admin
CancelledThe employee has withdrawn the resignation before it was completed.Employee (before completion)
CompletedThe 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 StatusCan Withdraw?Notes
PendingYesThe resignation has not yet been reviewed.
ApprovedConditionalOnly if the organization's policy allows withdrawal during notice period. Requires manager re-approval.
RejectedNot applicableThe resignation was already declined.
CompletedNoThe exit process is finalized.
CancelledNot applicableAlready withdrawn.

Step-by-Step: Withdraw a Resignation

  1. Log in as the employee.
  2. Navigate to My Profile > Resignation or My Resignation.
  3. Click Withdraw Resignation.
  4. Enter a Reason for Withdrawal.
  5. Click Confirm Withdrawal.
  6. If the resignation was in Pending status, it immediately changes to Cancelled.
  7. 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

  1. The employee submits a resignation and requests early release.

  2. The manager approves the resignation with a buyout.

  3. 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:

    ComponentValue
    Monthly Basic PayINR 25,000
    Daily rate (30-day month)INR 833.33
    Remaining notice days15
    Buyout amountINR 12,500
  4. The buyout amount is deducted from the employee's full-and-final settlement.

  5. 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

  1. Navigate to Settings > Employee Lifecycle > Resignation Settings.
  2. Set Allow Notice Buyout to Yes.
  3. Select the Buyout Calculation Basis (Basic Pay, Gross Pay, or CTC-based).
  4. Click Save.

Viewing Resignation History

Administrators and HR managers can view all resignations — past and present — from a single dashboard.

  1. Click Employees in the left sidebar.
  2. Click Resignations (or navigate to Employees > Resignations).
  3. The list shows all resignation records with the following columns:
ColumnDescription
Employee NameThe employee who submitted the resignation
Employee IDTheir organization employee ID
DepartmentThe employee's department
Submission DateWhen the resignation was submitted
Last Working DayThe calculated or assigned last working day
StatusCurrent resignation status
ActionsView, 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

Resignations list and filters


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

ProblemCauseSolution
Employee cannot see the Resign buttonResignation feature not enabled or employee is already on noticeCheck Settings > Employee Lifecycle and the employee's current status
Last working day seems incorrectHoliday calendar or work week not configured properlyReview Settings > Holidays and Settings > Work Week for the employee's office
Manager did not receive resignation notificationReporting manager not assigned to the employeeAssign a reporting manager under the employee's profile
Resignation stuck in PendingNo approver has acted on itNavigate to Employees > Resignations and process the pending request
Buyout amount not calculatedBuyout is disabled in resignation settingsEnable buyout in Settings > Employee Lifecycle > Resignation Settings

Best Practices

  1. Configure resignation settings before onboarding employees. Ensure notice period defaults are in place.
  2. Standardize notice periods by designation level. Senior roles often have 60- or 90-day notice periods, while junior roles may have 30 days.
  3. Act on pending resignations promptly. Delays cause uncertainty for the departing employee and their team.
  4. Document rejection reasons. If a resignation is rejected, a clear reason helps maintain transparency.
  5. 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.

  1. Click Employees in the left sidebar.
  2. Click Lifecycle (or Employee Lifecycle).
  3. The dashboard displays employees grouped by their current stage.

The offboarding section of the dashboard shows:

ColumnDescription
Employee NameThe departing employee
DepartmentTheir department
Last Working DayThe confirmed last working day
Days RemainingCalendar days until the last working day
Checklist ProgressPercentage of offboarding tasks completed
F&F StatusWhether the full-and-final settlement has been initiated, calculated, or completed

Employee lifecycle dashboard — offboarding section

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 ItemCategoryTypical AssigneeDescription
Laptop / Computer ReturnAsset ReturnIT DepartmentCollect company-issued laptop, peripherals, and accessories
ID Card / Access Card ReturnAsset ReturnAdmin / SecurityCollect physical ID badges and building access cards
Mobile Device ReturnAsset ReturnIT DepartmentCollect company-issued mobile phones or SIM cards
Software License RevocationAccess RevocationIT DepartmentRemove access to company software, email, and cloud services
VPN / Remote Access RevocationAccess RevocationIT DepartmentDisable VPN credentials and remote desktop access
Email Account DeactivationAccess RevocationIT DepartmentSet up auto-reply or disable the email account per policy
Knowledge TransferKnowledge TransferReporting ManagerEnsure critical knowledge is documented and transferred to the replacement or team
Project HandoverKnowledge TransferReporting ManagerReassign active projects and tasks
Pending Reimbursements ClearedFinancial SettlementFinance / HRProcess any outstanding reimbursement claims
Loan Recovery NotedFinancial SettlementFinance / HRCalculate outstanding loan balance for F&F deduction
Advance Recovery NotedFinancial SettlementFinance / HRCalculate unrecovered salary advance amount
Exit Interview ConductedHR ProcessHR ManagerConduct the exit interview and document feedback
Experience Letter IssuedHR ProcessHR ManagerGenerate and issue the experience or relieving letter
Final Settlement ProcessedFinancial SettlementHR / FinanceComplete the full-and-final settlement calculation and payment

Viewing the Offboarding Checklist

  1. Navigate to Employees > Resignations.
  2. Click on the approved resignation for the departing employee.
  3. Click the Offboarding Checklist tab (or scroll to the checklist section).
  4. The checklist displays all items with their current status.

Offboarding checklist view

Marking Checklist Items as Complete

  1. Open the offboarding checklist for the employee.
  2. Locate the task to update.
  3. Click the checkbox or Mark Complete button next to the item.
  4. Optionally add a note (e.g., "Laptop serial no. ABC123 returned on 2025-07-10").
  5. 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:

  1. Navigate to the employee's offboarding checklist.
  2. Click Add Item.
  3. Enter the Item Name, Category, and Assignee.
  4. 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.

ProgressMeaning
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

ComponentDescriptionCalculation
Pending SalarySalary 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 EncashmentCash value of unused paid leave balances that are eligible for encashment.(Daily salary) x (Encashable leave balance days)
GratuityStatutory 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 ReimbursementsApproved 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

ComponentDescriptionCalculation
Outstanding Loan BalanceRemaining principal on any active employee loan.Total loan amount minus EMIs already paid
Unrecovered AdvanceAny salary advance that has not been fully recovered.Advance amount minus recovered installments
Notice Period BuyoutIf 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 DeductionsAny 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

CriterionRequirement
Minimum service5 years of continuous service (4 years and 240 days is often treated as 5 years)
ApplicabilityApplies to establishments with 10 or more employees
TriggerResignation, 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

ComponentValue
Last drawn Basic + DAINR 30,000 per month
Years of service7 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.

Gratuity calculation in F&F


Generating the F&F Statement

Step-by-Step: Initiate Full-and-Final Settlement

  1. Navigate to Employees > Resignations.

  2. Click on the employee whose resignation is Approved and whose last working day has arrived (or is approaching).

  3. Click Initiate F&F Settlement (or navigate to the Full & Final tab).

  4. 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)
  5. Review each line item. You can manually adjust amounts if needed (e.g., for discretionary items).

  6. Click Calculate to see the net F&F amount.

F&F settlement calculation screen

Step-by-Step: Finalize and Generate the Statement

  1. After reviewing the calculation, click Finalize F&F.
  2. The system generates a Full-and-Final Statement document.
  3. 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
  4. Click Download PDF to save the statement.
  5. 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

  1. Navigate to Employees > Resignations.
  2. Click on the employee's approved resignation.
  3. Verify:
    • All offboarding checklist items are marked complete.
    • The F&F settlement has been finalized.
    • The last working day has passed.
  4. Click Complete Exit (or Mark as Completed).
  5. Confirm the action in the dialog.

What Happens When You Complete the Exit

ActionDescription
Employee StatusChanges from On Notice to Terminated
Resignation StatusChanges from Approved to Completed
System AccessThe employee can no longer log in to Udyamo HRMS
PayrollThe employee is excluded from future payrun processing
LicenseThe employee's license is released and available for reassignment
Data RetentionAll 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.

Complete exit confirmation


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

  1. Navigate to the employee's profile.
  2. Click Documents or Letters.
  3. Select Generate Experience Letter or Generate Relieving Letter.
  4. The system uses the configured HR template (see Chapter 41: Documents & HR Templates) to populate the letter with employee details.
  5. Review and edit the generated letter if needed.
  6. 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

DayActionResponsible
Day 0Employee submits resignationEmployee
Day 1–3Manager reviews and approves/rejectsManager / HR Admin
Day 1–Notice PeriodOffboarding checklist tasks in progressIT, Admin, Manager, HR
Last Working Day – 7Initiate F&F settlement calculationHR / Finance
Last Working Day – 3Finalize F&F and generate statementHR / Finance
Last Working DayExit interview, collect remaining assets, revoke accessHR / IT / Admin
Last Working Day + 1Complete exit in system, issue experience/relieving lettersHR Admin
Last Working Day + 30Process F&F payment (per policy)Finance

Common Errors and Solutions

ProblemCauseSolution
Cannot initiate F&FResignation not in Approved statusEnsure the resignation is approved before initiating F&F
Gratuity shows as zeroEmployee has less than 5 years of serviceGratuity is only applicable for 5+ years of continuous service
Leave encashment amount seems wrongLeave balance not updated or encashment policy not configuredCheck the employee's leave balances and the leave encashment settings
Cannot complete exitOffboarding checklist items are incompleteComplete all checklist items or override with admin approval
F&F shows negative amountRecoveries (loan, advance, buyout) exceed earningsReview each component; the employee may need to make a separate payment

Best Practices

  1. Start offboarding early. Begin checklist tasks on the day the resignation is approved, not on the last working day.
  2. Assign clear owners for each checklist item. Ambiguity leads to missed tasks.
  3. Run the F&F calculation a week before the last working day. This gives time to verify amounts and resolve discrepancies.
  4. Conduct the exit interview before the last day. Feedback is more candid when the employee still has a few days left.
  5. 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

FeatureDetails
Supported file formatsPDF, JPEG, PNG, GIF, Excel (.xlsx, .xls), CSV
Maximum file size5 MB per file
StorageCloud-based, encrypted at rest
Access controlRole-based — admins see all documents; employees see only their own
Polymorphic associationDocuments can belong to an employee, a department, or the organization

Organization-Wide Documents

  1. Click Settings in the left sidebar.
  2. Select Documents (or navigate to Settings > HR > Documents).
  3. The Documents page displays all uploaded documents with filters.

Employee-Specific Documents

  1. Click Employees in the left sidebar.
  2. Click on the employee's name to open their profile.
  3. Click the Documents tab.
  4. The tab shows all documents associated with that employee.

Documents navigation


Uploading Employee Documents

Step-by-Step: Upload a Document

  1. Navigate to the employee's profile by clicking Employees > [Employee Name].
  2. Click the Documents tab.
  3. Click Upload Document (or the + button).
  4. Fill in the upload form:
FieldDescriptionRequired
Document TypeSelect the category of the document (see Document Categories below).Yes
FileClick Browse or drag and drop the file. Must be PDF, image (JPEG/PNG/GIF), Excel, or CSV. Max 5 MB.Yes
DescriptionA brief description of the document contents (e.g., "PAN Card front side").No
Expiry DateIf the document has an expiration (e.g., driving license), enter the date.No
  1. Click Upload or Save.
  2. The document appears in the employee's document list.

Document upload form

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

CategoryExamples
PAN CardPAN card copy (front/back)
Aadhaar CardAadhaar card copy (masked as per UIDAI guidelines)
PassportPassport first and last page
Driving LicenseValid driving license copy
Voter IDElection commission voter ID card
PhotoPassport-size photograph

Employment Documents

CategoryExamples
Offer LetterSigned offer letter from the organization
Appointment LetterFormal appointment letter
Experience LetterExperience or relieving letters from previous employers
Resignation LetterEmployee's resignation letter
Relieving LetterLetter confirming release from the organization
Non-Disclosure AgreementSigned NDA or confidentiality agreement

Financial & Tax Documents

CategoryExamples
Bank StatementCancelled cheque or bank passbook first page
Form 16Annual TDS certificate issued by the employer
Tax DeclarationEmployee's investment declaration for tax planning
Salary Slip (Previous)Payslips from prior employment for CTC verification

Educational Documents

CategoryExamples
Degree CertificateUniversity degree or diploma certificate
MarksheetAcademic transcripts and marksheets
Professional CertificationIndustry certifications (e.g., PMP, AWS, CA)

Medical Documents

CategoryExamples
Medical CertificateFitness certificate or medical leave certificate
Insurance CardESIC 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

  1. Navigate to the employee's Documents tab (or the organization Documents page).
  2. Locate the document in the list.
  3. Click the document name or the View icon.
  4. PDFs and images open in a preview pane within the browser.
  5. Excel and CSV files may prompt a download instead of a preview.

Downloading a Document

  1. Locate the document in the list.
  2. Click the Download icon (typically a down-arrow icon).
  3. 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.

Document list with view and download options


Searching and Filtering Documents

The Documents page provides search and filter capabilities to quickly locate specific files.

  • Use the Search bar to search by document name, employee name, or description.
  • The search is case-insensitive and supports partial matches.

Filters

FilterOptions
Document TypeSelect a specific category (e.g., PAN Card, Offer Letter)
EmployeeSearch by employee name or ID
DepartmentFilter by department
Upload DateFilter by date range
Expiry StatusShow 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

  1. Log in to Udyamo HRMS.
  2. Navigate to My Profile > Documents.
  3. Click Upload Document.
  4. Select the Document Type, attach the file, and add a description.
  5. Click Upload.
  6. 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 TypePurposeCommon Use
Offer LetterTemplate for new employee offer lettersPre-fill with employee name, designation, CTC, joining date
Appointment LetterFormal appointment confirmationPre-fill with employment terms and conditions
Experience LetterLetter confirming employment tenure and rolePre-fill with name, designation, dates of employment
Relieving LetterLetter confirming release from the organizationPre-fill with last working day and settlement status
Payslip TemplateLayout and format for monthly payslipsDefine which salary components appear and their order
Salary CertificateCertificate confirming salary details for banks or visa applicationsPre-fill with current salary components
Bank Advice TemplateFormat for the monthly bank advice (salary transfer) fileDefine bank-specific columns and format
Custom TemplateAny other HR correspondenceUser-defined content with placeholders
  1. Click Settings in the left sidebar.
  2. Select HR Templates (or navigate to Settings > Templates).
  3. The Templates page lists all configured templates.

HR Templates list


Creating an HR Template

Step-by-Step: Create a New Template

  1. Navigate to Settings > HR Templates.
  2. Click Add Template (or Create New).
  3. Fill in the template form:
FieldDescriptionRequired
Template NameA descriptive name (e.g., "Standard Offer Letter").Yes
Template TypeSelect from Offer Letter, Experience Letter, Payslip, etc.Yes
ContentThe template body with placeholder variables. Use a rich text editor.Yes
DescriptionInternal notes about when to use this template.No
  1. Insert placeholder variables where dynamic data should appear.
  2. Click Save.

Placeholder Variables

Templates use placeholder variables that are replaced with actual data when the template is used to generate a document.

PlaceholderReplaced 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

  1. Navigate to Settings > HR Templates.
  2. Click the template name or the Edit icon.
  3. Modify the content, name, or type as needed.
  4. 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

  1. Navigate to Settings > HR Templates.
  2. Click the Delete icon next to the template.
  3. 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

  1. Navigate to the employee's profile.
  2. Click Documents or Generate Letter.
  3. Select the template you want to use (e.g., "Standard Offer Letter").
  4. The system populates the placeholder variables with the employee's actual data.
  5. Review the generated document. Make any manual edits if needed.
  6. 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.

Generate document from template


Document Retention Policies

Organizations should establish document retention policies that comply with Indian labor law and company policy.

Document TypeRecommended RetentionReason
Employment records8 years after separationLabour law compliance, potential disputes
Payroll records8 yearsIncome tax and PF audit requirements
Form 16 / TDS records8 yearsIncome tax assessment period
EPF / ESIC recordsUntil retirement or final settlementStatutory compliance
Offer / Appointment lettersDuration of employment + 5 yearsEmployment verification
Experience / Relieving lettersDuration of employment + 5 yearsReference checks
Medical records5 years after separationESIC and insurance requirements
Identity documentsDuration of employment + 3 yearsKYC 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:

RuleConstraint
Allowed file typesPDF (.pdf), JPEG (.jpg, .jpeg), PNG (.png), GIF (.gif), Excel (.xlsx, .xls), CSV (.csv)
Maximum file size5 MB per file
File name charactersAlphanumeric, hyphens, underscores, and dots only. Special characters are stripped.
Duplicate handlingMultiple 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

ProblemCauseSolution
"File type not supported"Uploaded a file in an unsupported formatConvert to PDF, JPEG, PNG, Excel, or CSV
"File size exceeds limit"File is larger than 5 MBCompress the file or reduce image resolution
Upload button is disabledUser does not have upload permissionsCheck the user's role; employees can only upload to their own profile
Template placeholders not replacedIncorrect placeholder syntaxVerify placeholders match the format {{variable_name}} exactly
Generated letter has missing dataEmployee profile fields are incompleteComplete the employee's profile before generating the letter

Best Practices

  1. Standardize naming conventions. Use consistent document names (e.g., "PAN_Card_EMP001.pdf") for easy searching.
  2. Verify documents at onboarding. Collect and upload all required identity and financial documents during the onboarding process.
  3. Use templates for consistency. Generate offer letters, experience letters, and other correspondence from templates rather than creating them from scratch each time.
  4. Review document expiry dates. Set up a monthly review of documents nearing expiry and notify employees to provide updated copies.
  5. 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:

FeatureAnnouncementsNotifications
PurposeBroadcast messages to groups of employeesAlert individual users about specific events
Who createsAdministrators and HR managersGenerated automatically by the system (and manually for announcements)
AudienceConfigurable: entire org, department, or individualsThe specific user the event pertains to
PersistenceStored permanently in announcement historyStored with read/unread tracking
ExamplesPolicy updates, holiday announcements, company newsLeave approved, payslip generated, checklist reminder

  1. Click Announcements in the left sidebar (or navigate to Communication > Announcements).
  2. The Announcements page displays a list of all announcements, sorted by date with the most recent at the top.

Announcements page


Creating an Announcement

Step-by-Step: Create a New Announcement

  1. Navigate to Announcements.
  2. Click Create Announcement (or the + button).
  3. Fill in the announcement form:
FieldDescriptionRequired
TitleA concise, descriptive title for the announcement. Appears in the announcement list and notifications.Yes
BodyThe full content of the announcement. Supports rich text formatting (bold, italic, lists, links).Yes
PrioritySet to High or Low. High-priority announcements are visually highlighted.Yes
RecipientsChoose the target audience (see Recipient Selection below).Yes
Publish DateThe date and time the announcement becomes visible. Leave blank to publish immediately.No
AttachmentsAttach files (PDF, images) if the announcement includes supporting documents.No
  1. Review the announcement preview.
  2. Click Publish to make it live immediately, or Schedule to publish at the specified date.

Create announcement form

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

AudienceDescriptionWhen to Use
Entire OrganizationAll 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

  1. In the announcement creation form, locate the Recipients section.
  2. 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.
  3. 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.

Recipient selection options


Announcement Priority

Each announcement has a priority level that affects how it is displayed to recipients.

PriorityVisual IndicatorBehavior
HighHighlighted 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.
LowStandard 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

  1. Set the Publish Date to a future date and time.
  2. Click Schedule.
  3. The announcement is saved in Scheduled status and will automatically become visible at the specified time.

Announcement Visibility States

StateDescription
DraftThe announcement is saved but not published. Only visible to the creator and admins.
ScheduledThe announcement is set to publish at a future date.
PublishedThe announcement is live and visible to the selected recipients.
ArchivedThe 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

  1. When an event occurs (e.g., a leave is approved, a payslip is generated, an announcement is published), the system creates an HrmsNotification record.
  2. For each intended recipient, an HrmsNotificationRecipient record is created, tracking the read/unread status.
  3. The notification appears in the recipient's notification bell with an unread badge count.
  4. 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 bell with unread count

Notification Types

EventNotification Sent ToDescription
Leave request submittedReporting managerAn employee has requested leave
Leave request approved/rejectedEmployeeThe manager has acted on a leave request
Payslip generatedEmployeeA new payslip is available for download
Announcement publishedSelected recipientsA new announcement is available
Resignation submittedReporting manager, HR adminAn employee has submitted a resignation
Offboarding task assignedAssigned personA task on the offboarding checklist needs attention
Reimbursement approved/rejectedEmployeeThe reimbursement claim has been processed
Loan EMI reminderEmployeeAn upcoming EMI deduction reminder
Overtime request submittedReporting managerAn employee has requested overtime

Read/Unread Status Tracking

Every notification has a read status tracked per recipient:

StatusMeaning
UnreadThe recipient has not opened or acknowledged the notification. Appears highlighted in the notification panel.
ReadThe 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

  1. Navigate to Announcements.
  2. 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.
  3. Click on an announcement title to view its full content and recipient details.

Announcement Details View

The detail view of an announcement shows:

SectionInformation
TitleThe announcement heading
BodyFull content of the announcement
AuthorWho created the announcement
Published DateWhen it was published
PriorityHigh or Low
RecipientsTarget audience (All, departments, or individual names)
Read StatisticsNumber 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.

Announcement detail with read statistics


Editing Announcements

You can edit a published announcement to correct errors or update information.

Step-by-Step: Edit an Announcement

  1. Navigate to Announcements.
  2. Locate the announcement to edit.
  3. Click the Edit icon (pencil icon) or open the announcement and click Edit.
  4. Modify the title, body, priority, or recipients as needed.
  5. 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

  1. Navigate to Announcements.
  2. Locate the announcement to remove.
  3. Click the Delete icon (trash icon).
  4. 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.

  1. Navigate to Announcements.
  2. Locate the announcement to archive.
  3. Click the Archive button or select Archive from the actions menu.
  4. The announcement moves to the Archived state and no longer appears in the default announcement list.
  5. Archived announcements can be viewed by setting the Status filter to Archived.

Common Errors and Solutions

ProblemCauseSolution
Employees say they did not see the announcementIncorrect recipient selection or employee is inactiveVerify the recipient list and the employee's status
Notification bell not updatingBrowser cache or session issueHard-refresh the page (Ctrl+Shift+R) or log out and back in
Scheduled announcement did not publishServer time zone mismatch or scheduling errorCheck the publish date and the organization's timezone settings
Cannot edit a published announcementInsufficient permissionsOnly administrators and the announcement creator can edit
Attachment upload failsFile type or size not supportedCheck that the attachment meets the file type and 5 MB size limits

Best Practices

  1. Keep announcements concise. Lead with the most important information. Use the body for details.
  2. Use appropriate priority levels. Reserve High priority for genuinely urgent items.
  3. Target your audience. A department-specific policy change should go to that department, not the entire organization.
  4. Track engagement. Review read statistics for important announcements and follow up if needed.
  5. Archive rather than delete. Maintain a historical record of all communications.
  6. 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.


  1. Click Reports in the left sidebar.
  2. The Reports page displays the available report types as cards or a list.
  3. Click on a report type to open it.

Reports navigation page


Available Report Types

Udyamo HRMS offers 11 report types, each addressing a specific area of HR operations.

Report Types Summary

#ReportPurposeKey Data Points
1Attendance ReportTrack employee attendance patternsCheck-in/out times, late arrivals, early departures, absent days
2Leave ReportAnalyze leave usage across the organizationLeave requests by category, approval/denial rates, leave balance consumption
3Loan ReportMonitor employee loan status and repaymentActive loans, EMI schedules, outstanding balances, repayment progress
4Reimbursement ReportTrack expense claims and disbursementClaims submitted, approved amounts, pending claims, category breakdown
5Salary ReportView monthly salary details for all employeesGross pay, net pay, deductions, earnings breakdown by employee
6CTC ReportAnalyze cost-to-company across the organizationAnnual CTC, monthly CTC, component-wise breakdown, department-level aggregation
7EPF ReportGenerate EPF compliance dataEmployee PF contribution, employer PF contribution, EPS, EDLI, admin charges
8ESIC ReportGenerate ESIC compliance dataEmployee ESI contribution, employer ESI contribution, eligible employees
9Professional Tax ReportTrack professional tax liabilityPT deductions by state, employee-wise PT amounts, monthly totals
10TDS ReportMonitor tax deduction at sourceMonthly TDS deductions, employee-wise tax projections, Form 16 data
11Active Users ReportAudit license usageActive 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:

ViewDescription
Daily DetailShows 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.
SummaryAggregates 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

Attendance report with daily detail view

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:

ViewDescription
Leave UsageTotal leave days consumed by category (Casual Leave, Sick Leave, Privilege Leave, etc.) for each employee.
Approval SummaryCount of approved, rejected, and pending leave requests by department and category.
Balance ReportCurrent 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:

ColumnDescription
Employee NameThe loan recipient
Loan TypeCategory of the loan
Loan AmountTotal sanctioned amount
EMIs PaidNumber of installments paid
EMIs RemainingNumber of installments left
Amount PaidTotal amount repaid
Outstanding BalanceRemaining amount to be repaid
StatusActive, 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:

ColumnDescription
Employee NameThe claimant
Claim DateWhen the claim was submitted
CategoryExpense category (travel, medical, etc.)
Claimed AmountThe amount requested
Approved AmountThe amount approved (may differ from claimed)
StatusPending, Approved, Rejected, Paid
Payment DateWhen 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:

ColumnDescription
Employee NameEmployee receiving the salary
Employee IDUnique identifier
DepartmentDepartment name
Basic PayMonthly basic pay component
HRAHouse Rent Allowance
Other EarningsSum of all other earning components
Gross PayTotal earnings before deductions
EPF DeductionEmployee PF contribution
ESI DeductionEmployee ESI contribution
Professional TaxPT deduction
TDSIncome tax deduction
Other DeductionsSum of other deductions (loans, advances, etc.)
Net PayAmount 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

Salary report with component breakdown


6. CTC Report

The CTC (Cost to Company) Report provides an organization-wide view of employee compensation costs.

Columns:

ColumnDescription
Employee NameEmployee name
DepartmentDepartment
DesignationCurrent designation
Annual CTCAnnual cost-to-company
Monthly CTCAnnual CTC divided by 12
Basic PayMonthly basic component
Employer PFEmployer's PF contribution
Employer ESIEmployer's ESI contribution
Gratuity ProvisionMonthly 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:

ColumnDescription
Employee NameEmployee name
UANUniversal Account Number
EPF NumberPF member ID
PF WagesWages 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
EDLIEmployer's contribution to Employees' Deposit Linked Insurance
Admin ChargesEmployer'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:

ColumnDescription
Employee NameEmployee name
ESIC NumberESI member number
Gross WagesTotal wages for ESI calculation
Employee ESI (0.75%)Employee's contribution
Employer ESI (3.25%)Employer's contribution
Total ContributionCombined 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:

ColumnDescription
Employee NameEmployee name
StateThe state whose PT slab applies
Gross SalaryMonthly gross salary for slab determination
PT AmountProfessional 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:

ColumnDescription
Employee NameEmployee name
PANPermanent 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 MonthTDS deducted in the selected month
Remaining TDSTax 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:

ColumnDescription
Employee NameEmployee name
Employee IDUnique identifier
DepartmentDepartment
StatusActive, Inactive, Terminated, On Notice
License AssignedYes/No
Last LoginDate and time of the employee's last login
Days Since Last LoginNumber 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

FilterAvailable InDescription
Date RangeAll date-based reportsSelect a start and end date for the reporting period
Payroll MonthSalary, EPF, ESIC, PT, TDSSelect the specific payroll period
DepartmentAll reportsFilter by one or more departments
OfficeAll reportsFilter by office location
EmployeeAll reportsSearch for a specific employee by name or ID
StatusLeave, Loan, Reimbursement, Active UsersFilter by record status

Applying Filters

  1. Open a report.
  2. Set the desired filter values in the filter panel at the top.
  3. Click Apply or Generate Report.
  4. The report refreshes with filtered data.
  5. 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

FormatDescriptionBest For
CSVComma-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

  1. Open the desired report and apply your filters.
  2. Click the Export button (typically in the top-right corner of the report).
  3. Select the export format: CSV or Excel.
  4. The file downloads to your local device.
  5. Open the file in your preferred spreadsheet application.

Export report options

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 RequirementUdyamo HRMS ReportFiling PlatformFiling Frequency
EPF contributions (ECR)EPF ReportEPFO Unified PortalMonthly
ESI contributionsESIC ReportESIC PortalMonthly (half-yearly return)
Professional TaxProfessional Tax ReportState government portalMonthly or half-yearly (varies by state)
TDS (Form 24Q)TDS ReportTRACES / Income Tax PortalQuarterly
Form 16TDS Report (annual)TRACES / Income Tax PortalAnnually (by June 15)

Workflow: Using Reports for Monthly PF Filing

  1. Navigate to Reports > EPF Report.
  2. Select the payroll month.
  3. Review the report for accuracy — verify UAN numbers, PF wages, and contribution amounts.
  4. Export the report as Excel or CSV.
  5. Log in to the EPFO Unified Portal.
  6. Upload the ECR file or manually enter the data using the exported report as reference.
  7. 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

  1. Open the desired report.
  2. Configure the filters for the report you want to schedule.
  3. Click Schedule (if available).
  4. Set the frequency:
FrequencyDescription
DailyReport runs every day at the specified time
WeeklyReport runs once per week on the selected day
MonthlyReport runs on the selected day of each month
  1. Set the delivery method — email delivery to specified recipients or save to the Reports archive.
  2. 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

ProblemCauseSolution
Report shows no dataFilters are too restrictive or no data exists for the periodBroaden filter criteria; check that payroll has been run for the selected month
Export file is emptySame as aboveVerify the report displays data on screen before exporting
Numbers do not match payroll recordsReport uses a different calculation basis or periodEnsure the report period matches the exact payrun period
EPF report missing employeesEmployees do not have UAN or EPF numbers assignedComplete statutory details in the employee profile
Cannot access certain reportsInsufficient role permissionsContact your administrator to check role-based report access

Best Practices

  1. Run attendance and leave reports before payroll. This catches errors before they affect salary calculations.
  2. Export compliance reports monthly. Even if filing is quarterly, having monthly data ready simplifies the quarterly submission.
  3. Use the CTC report for budget reviews. Share with department heads during quarterly budget discussions.
  4. Audit active users quarterly. Align license counts with actual usage to optimize costs.
  5. Cross-check statutory reports. Compare EPF, ESIC, and TDS reports with payslip totals before filing.
  6. 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:

ThreatDescriptionHow 2FA Helps
Password theftPasswords stolen via phishing, data breaches, or keyloggersEven with the password, an attacker cannot log in without the second factor
Credential stuffingAttackers try stolen credentials from other servicesThe TOTP code changes every 30 seconds and is unique to Udyamo HRMS
Social engineeringAttackers trick users into revealing passwordsThe authenticator app generates codes locally — they cannot be extracted remotely
Brute forceAutomated tools try thousands of password combinationsEven 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

  1. Log in to Udyamo HRMS with your email and password.
  2. Click your profile icon or name in the top-right corner.
  3. Select Security Settings (or navigate to Profile > Security).
  4. In the Two-Factor Authentication section, click Enable 2FA.

Security settings — Enable 2FA

  1. The system displays a QR code and a text-based secret key.
  2. Open your authenticator app on your smartphone:
AppPlatformDownload
Google AuthenticatorAndroid, iOSGoogle Play Store / Apple App Store
Microsoft AuthenticatorAndroid, iOSGoogle Play Store / Apple App Store
AuthyAndroid, iOS, Desktoptwilio.com/authy
  1. In the authenticator app, tap Add Account (or the + icon).
  2. 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.
  3. The authenticator app adds the Udyamo HRMS account and displays a 6-digit code.
  4. Enter the current 6-digit code in the Verification Code field on the Udyamo HRMS screen.
  5. Click Verify and Enable.

QR code scanning and verification

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.

  1. 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:

MethodSecurity LevelNotes
Password managerHighStore in a secure password manager like 1Password, Bitwarden, or LastPass
Printed copyMediumPrint and store in a locked drawer or safe
Encrypted fileHighSave in an encrypted document on your computer
Cloud note (encrypted)MediumUse 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

  1. Navigate to the Udyamo HRMS login page.
  2. Enter your Email and Password.
  3. Click Log In.
  4. The system verifies your credentials and prompts for a Two-Factor Code.

2FA code entry screen

  1. Open your authenticator app.
  2. Find the Udyamo HRMS entry and note the current 6-digit code.
  3. Enter the code in the Two-Factor Code field.
  4. Click Verify.
  5. 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:

  1. On the Two-Factor Code screen, click Use a Recovery Code (or similar link).
  2. Enter one of your recovery codes.
  3. Click Verify.
  4. 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

  1. Log in to Udyamo HRMS (using your authenticator app or a recovery code).
  2. Navigate to Profile > Security Settings.
  3. In the Two-Factor Authentication section, click Disable 2FA.
  4. Enter your current password to confirm the action.
  5. Click Confirm Disable.
  6. 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

AspectTOTP 2FAOTP Login
What it replacesNothing — it adds a second factor on top of passwordReplaces the password entirely
Code deliveryGenerated by an authenticator appSent via email or SMS
Code validityRefreshes every 30 secondsValid for 5-10 minutes
Requires setupYes (QR code enrollment)No setup required — works with registered email/phone
Security modelSomething you know (password) + something you have (app)Something you have (email/phone access)

Step-by-Step: Log In with OTP

  1. Navigate to the Udyamo HRMS login page.
  2. Click Login with OTP.
  3. Enter your registered Email Address or Mobile Number.
  4. Click Send OTP.
  5. Check your email inbox or SMS for the one-time code.
  6. Enter the OTP in the verification field.
  7. Click Verify & Log In.

OTP login flow

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:

  1. Navigate to Settings > Security.
  2. Locate the OTP Login section.
  3. Toggle Enable OTP Login to on.
  4. Configure the OTP delivery method:
SettingOptions
Delivery MethodEmail only, SMS only, or Both
OTP ValidityDuration in minutes (default: 10 minutes)
OTP LengthNumber of digits (default: 6)
Max Resend AttemptsMaximum number of OTP resends per session (default: 3)
  1. 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

  1. Navigate to Settings > Security > Two-Factor Authentication.
  2. Configure the following settings:
SettingDescriptionOptions
2FA PolicyWhether 2FA is optional, encouraged, or mandatory.Optional, Encouraged (with reminders), Mandatory
Enforcement ScopeWhich roles must use 2FA if mandatory.All users, Administrators only, Admins + Managers
Grace PeriodDays allowed after mandate before account lockout.7, 14, 30 days
Recovery Code CountNumber of recovery codes generated per user.8 (default), configurable
  1. Click Save.

Mandatory 2FA Enforcement

When 2FA is set to Mandatory:

  1. Users who have not enabled 2FA see a setup prompt after login.
  2. During the grace period, they can dismiss the prompt and use the system normally.
  3. 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:

  1. Navigate to Employees > [Employee Name] > Security.
  2. Click Reset 2FA.
  3. Confirm the action.
  4. 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

  1. Enable 2FA on your account. Even if not mandatory, it significantly enhances security.
  2. Use a reputable authenticator app. Avoid unknown or unverified apps.
  3. Store recovery codes securely. Use a password manager or a locked physical location.
  4. Do not share TOTP codes. Codes are generated for your device only. Never share them over chat, email, or phone.
  5. Keep your authenticator app updated. Install updates promptly for security patches.

For Administrators

  1. Mandate 2FA for admin accounts. At minimum, all administrator and HR manager accounts should have 2FA enabled.
  2. Monitor 2FA adoption. Use the Active Users report or security dashboard to track how many users have enabled 2FA.
  3. Educate employees. Provide clear instructions and support for 2FA setup, especially for non-technical staff.
  4. Have a recovery process. Document the steps for employees who lose their authenticator device so they know how to regain access.
  5. Review OTP settings periodically. Ensure OTP validity periods and delivery methods are appropriate for your security posture.

Common Errors and Solutions

ProblemCauseSolution
TOTP code rejectedDevice clock out of syncSync your device time with the network (Settings > Date & Time > Automatic)
QR code does not scanScreen glare, low resolution, or camera issueUse the manual text key entry option instead
Recovery codes lostNot saved properly after 2FA setupContact your administrator to reset 2FA
OTP not received (email)Email delivery delay or spam filterCheck spam folder; wait 2-3 minutes; click Resend OTP
OTP not received (SMS)SMS gateway issue or incorrect phone numberVerify phone number; contact admin if SMS gateway is misconfigured
Account locked after failed 2FAToo many incorrect TOTP/OTP attemptsWait for the lockout period (typically 30 minutes) or contact admin
Cannot disable 2FAForgot password required for confirmationUse password reset flow first, then disable 2FA

Quick Reference

ActionNavigationNotes
Enable 2FAProfile > Security Settings > Enable 2FARequires authenticator app
View recovery codesProfile > Security Settings > Recovery CodesOnly shown once at setup; regenerate if needed
Disable 2FAProfile > Security Settings > Disable 2FARequires password confirmation
Log in with OTPLogin page > Login with OTPMust be enabled by admin
Admin: Enforce 2FASettings > Security > Two-Factor AuthenticationCan be optional, encouraged, or mandatory
Admin: Reset user 2FAEmployees > [Name] > Security > Reset 2FAVerify 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

BenefitDescription
Simplified loginEmployees use one set of credentials for multiple applications
Reduced password fatigueFewer passwords to remember means fewer weak or reused passwords
Centralized access controlIT admins manage access from one identity provider (Google Admin, Azure AD)
Automatic deprovisioningWhen an employee is removed from Google Workspace or Azure AD, they lose access to Udyamo HRMS
Stronger securityLeverages the IdP's security features — MFA, conditional access, session management
ComplianceAudit 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

  1. Employee clicks Sign in with Google or Sign in with Microsoft on the login page.
  2. Udyamo HRMS redirects the employee to the identity provider's login page.
  3. The employee enters their Google or Microsoft credentials (and completes MFA if required by their organization).
  4. The identity provider authenticates the user and redirects back to Udyamo HRMS with an authorization token.
  5. Udyamo HRMS verifies the token and matches the user's email address to an existing employee record.
  6. If a match is found, the employee is logged in. If no match is found, the login is rejected.

SSO authentication flow diagram

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

  1. Log in to the Google Cloud Console.
  2. Select your project (or create a new one).
  3. Navigate to APIs & Services > Credentials.
  4. Click Create Credentials > OAuth client ID.
  5. Select Web application as the application type.
  6. Configure the following:
FieldValue
NameUdyamo HRMS SSO
Authorized redirect URIshttps://your-domain.udyamo.com/users/auth/google_oauth2/callback
  1. Click Create.
  2. 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

  1. Log in to Udyamo HRMS as an administrator.
  2. Navigate to Settings > Security > Single Sign-On.
  3. In the Google OAuth2 section, click Configure.
  4. Enter the following:
FieldDescriptionRequired
Client IDThe OAuth2 Client ID from Google Cloud ConsoleYes
Client SecretThe OAuth2 Client Secret from Google Cloud ConsoleYes
Allowed Domain(s)Restrict SSO to specific email domains (e.g., yourcompany.com). Leave blank to allow any Google account.Recommended
  1. Click Save.
  2. Toggle Enable Google SSO to on.

Google OAuth2 configuration in Udyamo HRMS

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

  1. Open an incognito/private browser window.
  2. Navigate to the Udyamo HRMS login page.
  3. Click Sign in with Google.
  4. Select a Google Workspace account that matches an employee email in Udyamo HRMS.
  5. Verify that you are successfully logged in.

Employee Login Flow: Google

  1. Navigate to the Udyamo HRMS login page.
  2. Click Sign in with Google.
  3. If not already signed in to Google, enter Google credentials.
  4. If the Google organization enforces MFA, complete the verification step.
  5. Upon successful authentication, Google redirects to Udyamo HRMS.
  6. Udyamo HRMS matches the Google email to an employee record and logs the user in.

Google SSO login button


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

  1. Log in to the Azure Portal.
  2. Navigate to Azure Active Directory > App registrations.
  3. Click New registration.
  4. Fill in the registration form:
FieldValue
NameUdyamo HRMS
Supported account typesAccounts in this organizational directory only (Single tenant)
Redirect URIWeb — https://your-domain.udyamo.com/users/auth/azure_oauth2/callback
  1. Click Register.
  2. On the application overview page, note the Application (client) ID and Directory (tenant) ID.

Step 2: Create a Client Secret

  1. In the registered application, navigate to Certificates & secrets.
  2. Click New client secret.
  3. Enter a description (e.g., "Udyamo HRMS SSO") and select an expiry period.
  4. Click Add.
  5. 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

  1. In the registered application, navigate to API permissions.
  2. Click Add a permission.
  3. Select Microsoft Graph.
  4. Choose Delegated permissions.
  5. Add the following permissions:
PermissionPurpose
openidRequired for OpenID Connect authentication
emailAccess the user's email address
profileAccess the user's basic profile (name)
  1. Click Add permissions.
  2. Click Grant admin consent for [Your Organization] to approve the permissions for all users.

Step 4: Configure Azure AD in Udyamo HRMS

  1. Log in to Udyamo HRMS as an administrator.
  2. Navigate to Settings > Security > Single Sign-On.
  3. In the Azure AD section, click Configure.
  4. Enter the following:
FieldDescriptionRequired
Tenant IDThe Directory (tenant) ID from Azure ADYes
Client IDThe Application (client) ID from Azure ADYes
Client SecretThe client secret value you createdYes
Allowed Domain(s)Restrict SSO to specific email domainsRecommended
  1. Click Save.
  2. Toggle Enable Azure AD SSO to on.

Azure AD configuration in Udyamo HRMS

Step 5: Test Azure AD SSO

  1. Open an incognito/private browser window.
  2. Navigate to the Udyamo HRMS login page.
  3. Click Sign in with Microsoft.
  4. Enter Microsoft 365 credentials for a user whose email matches an Udyamo HRMS employee record.
  5. Complete any MFA prompts from Azure AD.
  6. Verify that you are successfully logged in.

Employee Login Flow: Azure AD

  1. Navigate to the Udyamo HRMS login page.
  2. Click Sign in with Microsoft.
  3. If not already signed in to Microsoft 365, enter Microsoft credentials.
  4. Complete MFA if required by the Azure AD conditional access policy.
  5. Upon successful authentication, Azure AD redirects to Udyamo HRMS.
  6. 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

ScenarioResult
Employee has a password-based account and the SSO email matchesSSO login succeeds. The account is linked to the SSO provider. The employee can still use password login.
Employee does not have an Udyamo HRMS accountSSO 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 emailSSO login is rejected with an error message.
Employee uses both Google and Azure ADBoth 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 MethodAvailabilityNotes
Email + PasswordAlways available (unless disabled)Default method for all users
Google SSOAvailable when configured and enabledRequires Google Workspace account
Azure AD SSOAvailable when configured and enabledRequires Microsoft 365 account
OTP LoginAvailable when configured and enabledPasswordless alternative

Disabling Password Login

If your organization wants to enforce SSO-only login:

  1. Navigate to Settings > Security > Login Methods.
  2. Disable Email + Password Login.
  3. 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

  1. Navigate to Settings > Security > Single Sign-On.
  2. The page shows the status of each SSO provider:
ProviderStatusDetails
Google OAuth2Enabled / DisabledClient ID (masked), allowed domains
Azure ADEnabled / DisabledTenant ID (masked), allowed domains

Updating SSO Configuration

  1. Click Edit next to the provider you want to update.
  2. Modify the Client ID, Client Secret, Tenant ID, or allowed domains.
  3. Click Save.
  4. Test the updated configuration.

Disabling SSO

  1. Navigate to Settings > Security > Single Sign-On.
  2. Toggle the provider off.
  3. 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

ProblemPossible CauseSolution
"Account not found" after SSO loginEmail in SSO provider does not match any Udyamo HRMS emailVerify the employee's email in both systems matches exactly
"Invalid redirect URI" errorThe redirect URI in the SSO provider does not match the Udyamo HRMS callback URLCorrect 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 permissionsGrant admin consent in Azure Portal > App Registrations > API Permissions
SSO button not visible on login pageSSO provider is not enabled in Udyamo HRMS settingsEnable the provider in Settings > Security > Single Sign-On
Login loops or redirects repeatedlyCookie or session issueClear browser cookies, try incognito mode, or check third-party cookie settings
"Access denied" from GoogleUser's Google account is not in the allowed domainAdd the user's domain to the allowed domains list or check domain restrictions
Azure AD conditional access blocks loginAzure AD policy blocks the applicationReview Azure AD conditional access policies to allow the Udyamo HRMS app

Diagnostic Checklist

When troubleshooting SSO, verify the following:

  1. The SSO provider is enabled in Udyamo HRMS settings.
  2. The Client ID and Client Secret are correct and not expired.
  3. The redirect URI in the identity provider matches the Udyamo HRMS callback URL exactly (including https:// and the path).
  4. The employee's email address in the identity provider matches their Udyamo HRMS email.
  5. The identity provider has granted the required permissions (API permissions for Azure AD, OAuth scopes for Google).
  6. The browser allows third-party cookies or the SSO domain is whitelisted.

SSO troubleshooting checklist


Security Considerations

ConsiderationRecommendation
Client secret rotationRotate Azure AD client secrets before expiry. Google OAuth2 secrets do not expire by default but should be rotated periodically.
Domain restrictionAlways configure allowed domains to prevent unauthorized accounts from attempting SSO.
MFA at the IdPEnable 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 deprovisioningWhen an employee leaves, removing them from the identity provider automatically prevents SSO access to Udyamo HRMS.
SSO + 2FASSO 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

ActionNavigationNotes
Configure Google SSOSettings > Security > SSO > Google OAuth2Requires Google Cloud Console setup
Configure Azure AD SSOSettings > Security > SSO > Azure ADRequires Azure Portal setup
Enable/disable SSOSettings > Security > SSO > ToggleImmediate effect on login page
Test SSOOpen incognito window > Login page > SSO buttonUse a matching employee email
Disable password loginSettings > Security > Login MethodsEnsure 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

CapabilityDescriptionAvailable To
Submit Leave RequestApply for leave by specifying the category, dates, and reason — all within TeamsAll employees
Request OvertimeSubmit an overtime request with date, hours, and justificationAll employees
View AttendanceCheck today's attendance status, check-in/out time, and recent attendance summaryAll employees
Leave Approval NotificationsReceive a notification in Teams when a leave request needs approvalManagers
Overtime Approval NotificationsReceive a notification when an overtime request needs approvalManagers
Approval ActionsApprove or reject leave and overtime requests directly from the Teams notificationManagers

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.

Udyamo HRMS bot in Teams — overview


Installing the Udyamo HRMS Bot in Teams

Step 1: Obtain the Teams App Package

  1. Log in to Udyamo HRMS as an administrator.
  2. Navigate to Settings > Integrations > Microsoft Teams.
  3. Click Download Teams App Package.
  4. A .zip file 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:

  1. Log in to the Microsoft Teams Admin Center.
  2. Navigate to Teams apps > Manage apps.
  3. Click Upload new app.
  4. Select the .zip file downloaded from Udyamo HRMS.
  5. Review the app details and permissions.
  6. 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:

  1. Open Microsoft Teams (desktop or web).
  2. Click the Apps icon in the left sidebar.
  3. Click Manage your apps at the bottom.
  4. Click Upload an app > Upload a custom app.
  5. Select the .zip file.
  6. 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

  1. Navigate to Settings > Integrations > Microsoft Teams in Udyamo HRMS.
  2. Enter the required configuration details:
FieldDescriptionRequired
Bot IDThe Microsoft Bot Framework bot ID (from the Azure Bot registration)Yes
Bot SecretThe bot's client secret for token-based authenticationYes
Tenant IDYour Microsoft 365 tenant IDYes
Service URLThe Teams service URL for sending proactive messagesYes
  1. Click Save.
  2. Click Test Connection to verify the bot can communicate with Teams.

Teams integration configuration in Udyamo HRMS

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

  1. When an employee first interacts with the bot in Teams, the bot sends an authentication card asking the employee to sign in.
  2. The employee clicks Sign In on the adaptive card.
  3. A browser window opens, directing the employee to the Udyamo HRMS login page.
  4. The employee logs in using their Udyamo HRMS credentials (email/password, SSO, or OTP).
  5. Upon successful login, Udyamo HRMS generates a secure token and returns it to the bot.
  6. The bot stores the token for the Teams user's session.
  7. All subsequent bot interactions are authenticated using this token.

Token Details

PropertyValue
Token typeBearer token
ExpiryConfigurable (default: 24 hours)
RefreshAutomatic refresh when the token nears expiry, if the user has an active Teams session
RevocationToken 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.

Bot authentication flow


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

  1. Open Microsoft Teams.
  2. Find the Udyamo HRMS bot in your chat list (or search for it in the Apps section).
  3. Type "apply leave" or "leave" in the chat.
  4. The bot responds with an adaptive card containing a leave application form:
FieldDescription
Leave CategoryDropdown to select the leave type (Casual Leave, Sick Leave, etc.)
Start DateDate picker for the first day of leave
End DateDate picker for the last day of leave
Half DayToggle if applying for a half day
ReasonText field for the leave reason
  1. Fill in the form fields on the adaptive card.
  2. Click Submit.
  3. The bot confirms the submission and shows the leave request details.
  4. The leave request appears in Udyamo HRMS with Pending status, just as if it had been submitted through the web application.

Leave request adaptive card in Teams

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

  1. Open the Udyamo HRMS bot chat in Teams.
  2. Type "overtime" or "request overtime".
  3. The bot responds with an overtime request adaptive card:
FieldDescription
DateThe date of the overtime work
HoursNumber of overtime hours to claim
ReasonJustification for the overtime work
  1. Fill in the details.
  2. Click Submit.
  3. The bot confirms the submission.
  4. 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

  1. Open the Udyamo HRMS bot chat in Teams.
  2. Type "attendance" or "my attendance".
  3. The bot responds with an attendance summary card showing:
InformationDescription
Today's StatusPresent, Absent, On Leave, or Not Checked In
Check-In TimeTime of today's check-in (if recorded)
Check-Out TimeTime of today's check-out (if recorded)
Hours WorkedTotal hours worked today
This MonthSummary — present days, absent days, leave days, late arrivals

Attendance summary card in Teams

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:

  1. 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
  2. The card includes two action buttons: Approve and Reject.
  3. The manager clicks Approve or Reject directly on the card.
  4. If rejecting, an optional text field appears for the rejection reason.
  5. The bot confirms the action and notifies the employee of the decision.

Overtime Approval Notifications

Similar to leave approvals:

  1. The manager receives an adaptive card with overtime request details.
  2. The card includes Approve and Reject buttons.
  3. The manager takes action directly from Teams.

Manager approval card in 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

ElementDescriptionUsed For
Text blocksDisplay text with formattingShowing information, instructions
Input fieldsText boxes, date pickers, dropdownsCollecting user input (leave dates, reasons)
Action buttonsClickable buttons that trigger actionsSubmit, Approve, Reject, Cancel
Fact setsKey-value pairs displayed in a table formatAttendance summary, leave balance
ImageDisplay imagesAvatars, status icons

Card Types Used by Udyamo HRMS Bot

CardTriggerContent
Authentication CardFirst interaction with the botSign-in button and instructions
Leave Application CardEmployee types "apply leave"Form with leave category, dates, reason
Overtime Request CardEmployee types "overtime"Form with date, hours, reason
Attendance Summary CardEmployee types "attendance"Today's status and monthly summary
Leave Approval CardEmployee submits a leave requestRequest details with Approve/Reject buttons (sent to manager)
Overtime Approval CardEmployee submits an overtime requestRequest details with Approve/Reject buttons (sent to manager)
Confirmation CardAfter any submission or actionSuccess/failure message with details

Bot Commands Reference

CommandAliasesResponse
helphi, helloDisplays available commands and a brief description of each
apply leaveleave, request leaveOpens the leave application adaptive card
overtimerequest overtime, otOpens the overtime request adaptive card
attendancemy attendance, statusDisplays the attendance summary card
balanceleave balanceShows current leave balances by category
sign outlogoutRevokes 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:

StepActionStatus
1Register a bot with Azure Bot Service
2Download the Teams app package from Udyamo HRMS
3Upload the app package to Teams Admin Center (or sideload)
4Enter Bot ID, Bot Secret, and Tenant ID in Udyamo HRMS
5Test the connection from Udyamo HRMS settings
6Have a test employee authenticate with the bot in Teams
7Test leave submission, overtime request, and attendance query
8Test manager notification and approval flow
9Roll out to the organization via Teams app policy

Troubleshooting

Common Issues and Solutions

ProblemPossible CauseSolution
Bot does not respondBot is not installed or authentication has expiredReinstall the bot or type "sign out" and re-authenticate
"Authentication failed"Token has expired or employee account is deactivatedRe-authenticate by clicking Sign In; check account status in Udyamo HRMS
Leave categories not showingLeave module not enabled or no categories configuredEnable the Leave feature and configure categories in Udyamo HRMS
Manager not receiving approval notificationsReporting manager not assigned to the employeeAssign a reporting manager in the employee's profile
Bot not found in TeamsApp not uploaded or not approved by Teams adminUpload the app package or contact your Microsoft 365 admin
Adaptive card buttons not workingTeams client version too oldUpdate Microsoft Teams to the latest version
"Service URL invalid" errorIncorrect service URL in Udyamo HRMS configurationVerify the service URL matches the Teams environment (commercial, GCC, etc.)
Bot works for some users but not othersInconsistent email matchingEnsure all employees have matching emails in both Teams and Udyamo HRMS

Checking Bot Logs

  1. Navigate to Settings > Integrations > Microsoft Teams in Udyamo HRMS.
  2. Click View Logs (if available).
  3. Review recent bot interactions for errors or authentication failures.

Security Considerations

ConsiderationDetails
Data in transitAll communication between Teams and Udyamo HRMS is encrypted via HTTPS/TLS
Token storageAuthentication tokens are stored securely and scoped to individual users
No password storageThe bot never stores or transmits Udyamo HRMS passwords — authentication is token-based
Audit trailAll actions performed via the bot are logged in Udyamo HRMS just like web actions
DeprovisioningWhen an employee is terminated in Udyamo HRMS, their bot token is automatically revoked

Best Practices

  1. Roll out in phases. Start with a pilot group to test the bot before deploying to the entire organization.
  2. Train employees on bot commands. Share the command reference so employees know what they can do.
  3. Ensure email consistency. The bot relies on email matching — mismatched emails will cause authentication failures.
  4. Monitor usage. Track how many employees use the bot vs. the web app to gauge adoption.
  5. Keep the Teams app updated. When Udyamo HRMS releases bot updates, download the new app package and upload it to Teams.
  6. 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.


  1. Click Settings in the left sidebar.
  2. Select Subscription (or navigate to Settings > Billing > Subscription).
  3. The Subscription page displays your current plan details, license usage, and billing information.

Subscription page overview


Subscription Plans

Udyamo HRMS offers four subscription tiers, each designed for organizations at different stages of growth.

Plan Comparison

FeatureFree TrialBasicProEnterprise
Duration14 daysMonthly / AnnualMonthly / AnnualCustom
Employee Limit25Based on purchased licensesBased on purchased licensesUnlimited (negotiated)
Employee ManagementYesYesYesYes
Attendance & ShiftsYesYesYesYes
Leave ManagementYesYesYesYes
PayrollYesYesYesYes
Statutory ComplianceLimitedYesYesYes
Loans & AdvancesNoYesYesYes
ReimbursementsNoYesYesYes
ReportsBasicStandardAdvancedAdvanced + Custom
AnnouncementsYesYesYesYes
Document ManagementLimitedYesYesYes
SSO (Google / Azure AD)NoNoYesYes
MS Teams IntegrationNoNoYesYes
Two-Factor AuthenticationYesYesYesYes
API AccessNoNoLimitedFull
Priority SupportNoEmailEmail + ChatDedicated account manager
Custom BrandingNoNoNoYes

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

FieldDescription
Plan NameYour current subscription plan (Free Trial, Basic, Pro, Enterprise)
StatusCurrent status — Active, Trial, Expired, Cancelled
Term Start DateThe date your current billing term began
Term End DateThe date your current billing term ends
Billing CycleMonthly or Annual
License QuantityTotal number of employee licenses purchased
Licenses UsedNumber of licenses currently assigned to employees
Licenses AvailableRemaining licenses available for assignment
Auto-RenewalWhether the subscription automatically renews at term end
Next Billing DateThe date of the next billing charge
AmountThe subscription cost per billing cycle

Subscription details view


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

StateDescription
AssignedThe license is allocated to a specific employee. That employee can log in and use the system.
UnassignedThe license is available in the pool. It can be assigned to a new or existing employee.
Over-limitThe organization has more active employees than licenses. Excess employees may have restricted access.

License vs. Employee Count

CountDescription
Total EmployeesAll employee records in the system (Active, Inactive, On Notice, Terminated)
Active EmployeesEmployees with Active or On Notice status who require system access
Licensed EmployeesEmployees who have a license assigned and can fully use the system
License QuantityThe 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

  1. Navigate to Settings > Subscription.
  2. Locate the License Assignment section.
  3. Toggle Auto-Assign Licenses to on.
  4. Click Save.

How auto-assignment works:

EventSystem Action
New employee added (Active status)A license is automatically assigned from the available pool
Employee status changed to TerminatedThe license is automatically released back to the pool
Employee status changed to InactiveThe license may be retained or released (configurable)
No licenses available in the poolThe 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

  1. Navigate to Settings > Subscription > Licenses (or Employees > License Management).
  2. The page shows a list of employees and their license status.
  3. Locate the employee who needs a license.
  4. Click Assign License next to their name.
  5. The employee's license status changes to Assigned.

Unassigning a License

  1. Navigate to the license management page.
  2. Locate the employee whose license you want to remove.
  3. Click Unassign License.
  4. Confirm the action.
  5. 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:

ColumnDescription
Employee NameThe employee's full name
Employee IDTheir unique identifier
DepartmentTheir department
StatusActive, Inactive, On Notice, Terminated
License StatusAssigned or Unassigned
Last LoginDate and time of the employee's last login
ActionsAssign / Unassign buttons

License assignment table


Managing License Quantity

As your organization grows, you may need to purchase additional licenses.

Adding Licenses

  1. Navigate to Settings > Subscription.
  2. Click Change Quantity (or Add Licenses).
  3. Enter the new total license quantity.
  4. The system calculates the prorated cost for the remainder of the current billing term.
  5. Review the cost summary.
  6. Click Confirm to process the purchase.
  7. The new licenses are immediately available for assignment.

Reducing Licenses

  1. Navigate to Settings > Subscription.
  2. Click Change Quantity.
  3. Enter a lower total license quantity.
  4. The system checks that the new quantity is not less than the current number of assigned licenses.
  5. If valid, the reduction takes effect at the next billing renewal (you retain current licenses until term end).
  6. 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.

SettingDescription
Auto-Renewal EnabledThe subscription automatically renews for the same plan and quantity. Payment is charged on the renewal date.
Auto-Renewal DisabledThe subscription expires at the term end date. You must manually renew to continue using the service.

Managing Auto-Renewal

  1. Navigate to Settings > Subscription.
  2. Locate the Auto-Renewal toggle.
  3. Switch it on or off.
  4. 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:

  1. Navigate to Settings > Subscription before the term end date.
  2. Click Renew Subscription.
  3. Confirm the plan and license quantity.
  4. Process the payment.
  5. 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.

  1. Navigate to Settings > Subscription.
  2. Click Change Plan (or Upgrade).
  3. Select the desired plan (e.g., Basic to Pro, or Pro to Enterprise).
  4. Review the feature differences and cost changes.
  5. The system calculates the prorated cost for the remaining term.
  6. Click Confirm Upgrade.
  7. New features are available immediately.

Downgrading

Downgrading to a lower-tier plan is also possible, but with restrictions.

  1. Navigate to Settings > Subscription.
  2. Click Change Plan (or Downgrade).
  3. Select the target plan.
  4. The system checks for feature dependencies:
CheckDescription
SSO configuredIf downgrading from Pro to Basic, SSO will be disabled
Teams integration activeTeams bot will be disconnected on downgrade
License countIf the lower plan supports fewer employees, you may need to reduce licenses
  1. Acknowledge the feature changes.
  2. 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

  1. An administrator initiates a subscription change (new plan, additional licenses, renewal).
  2. Instead of processing immediately, the system creates a Subscription Request.
  3. The request is routed to an approver (e.g., finance manager or procurement head).
  4. The approver reviews the request details — plan, quantity, cost, and term.
  5. The approver approves or rejects the request.
  6. If approved, the subscription change is processed.
  7. If rejected, the administrator is notified with the rejection reason.

Request Statuses

StatusDescription
PendingThe request has been submitted and is awaiting approval
ApprovedThe request has been approved and the subscription change is being processed
RejectedThe request was declined
CompletedThe approved request has been fully processed
CancelledThe 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

  1. Navigate to Settings > Subscription.
  2. Click History (or scroll to the Subscription History section).
  3. The history log shows:
ColumnDescription
DateWhen the event occurred
EventType of event (Creation, Renewal, Upgrade, Downgrade, License Change, Cancellation)
Previous PlanThe plan before the change
New PlanThe plan after the change
License ChangeAny change in license quantity
AmountThe cost associated with the event
StatusCompleted, Pending, Failed

Subscription history log


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

  1. Navigate to Reports > Active Users Report.
  2. Review the report columns:
    • Employee name and ID
    • Account status (Active, Inactive, Terminated)
    • License assigned (Yes/No)
    • Last login date
    • Days since last login
  3. 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
  4. 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

StatusDescriptionUser Experience
ActiveSubscription is current and paid. All features are available.Full access
TrialOrganization is in the 14-day free trial period.Full access with trial limitations (employee cap)
Past DuePayment is overdue. Grace period in effect.Full access, but payment reminders are shown
ExpiredThe subscription term has ended and was not renewed.Read-only mode — view data but cannot perform actions
CancelledThe subscription was explicitly cancelled by the administrator.Read-only mode; data retained for the data retention period
SuspendedThe account has been suspended (e.g., for policy violations or extended non-payment).No access; contact support

Common Errors and Solutions

ProblemCauseSolution
"License limit reached" when adding an employeeAll purchased licenses are assignedPurchase additional licenses or unassign from inactive users
Employee cannot log inNo license assignedAssign a license from Settings > Subscription > Licenses
Subscription shows "Expired"Auto-renewal was off and the term endedRenew the subscription from Settings > Subscription
Payment failedCredit card expired or insufficient fundsUpdate payment method in Settings > Billing
Cannot downgradeCurrent usage exceeds the lower plan's limitsReduce license count or disable features that are not in the target plan
Subscription request stuck in PendingApprover has not reviewed the requestContact the approver or escalate through your procurement process

Best Practices

  1. Start with the Free Trial. Evaluate all features before committing to a paid plan.
  2. Choose annual billing for savings. Annual subscriptions typically offer a discount compared to monthly billing.
  3. Enable auto-assignment. Reduce administrative overhead by letting the system handle license assignment.
  4. Audit licenses monthly. Use the Active Users Report to keep license counts aligned with your workforce.
  5. Plan for growth. Purchase licenses slightly ahead of hiring to avoid delays when onboarding new employees.
  6. Keep auto-renewal on. Avoid service interruptions caused by forgotten renewals.
  7. Use the subscription request workflow for larger organizations where procurement approval is required for purchases.

Quick Reference

ActionNavigationNotes
View subscriptionSettings > SubscriptionShows plan, term, and license usage
Assign licensesSettings > Subscription > LicensesManual or auto-assignment
Change license quantitySettings > Subscription > Change QuantityProrated billing for mid-term changes
Upgrade planSettings > Subscription > Change PlanImmediate feature activation
Downgrade planSettings > Subscription > Change PlanTakes effect at next renewal
View historySettings > Subscription > HistoryAll subscription events logged
Audit licensesReports > Active Users ReportMonthly 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).