Adding Your First Employee
Once your organization structure is in place — departments, designations, offices, and roles — you are ready to add employees to Udyamo HRMS. This chapter walks through creating an employee record, understanding each required field, and what happens after you save.
Prerequisites
Required: Before adding employees, complete the following setup steps:
- At least one department exists (see Departments & Designations)
- At least one designation exists within that department
- At least one office exists (see Offices & Locations)
- Your work week and timezone are configured (see Work Week, Timezone & Fiscal Year)
Navigating to the Add Employee Form
- From the sidebar, click Employees.
- On the Employees list page, click the Add New button in the top-right corner.
- The Add Employee form opens.

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

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

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

Adding Statutory Details
After creating the employee, you should add their statutory identifiers. Navigate to the employee's profile and enter:
| Field | Description | Format |
|---|---|---|
| EPF Number | Employees' Provident Fund member ID | State/Office/Establishment/Extension/Account (e.g., MH/BOM/12345/000/0001234) |
| ESIC Number | Employees' State Insurance Corporation number | 17-digit numeric |
| UAN Number | Universal Account Number for EPF | 12-digit numeric |
These fields are stored on the OrganizationEmployee model and are required for statutory compliance and payroll processing. See Employee Profiles for full details.
Common Errors and Solutions
| Error Message | Cause | Solution |
|---|---|---|
| "Email has already been taken" | Another employee in the organization has the same email | Use a unique email address for each employee |
| "Employee ID has already been taken" | The employee ID is not unique within the organization | Choose a different employee ID |
| "Department is required" | No department was selected | Select a department from the dropdown |
| "Date of Joining cannot be blank" | The date of joining field was left empty | Select a valid date |
| "Annual CTC must be greater than 0" | CTC was left blank or set to zero | Enter a positive value for the annual CTC |
Next Steps
After adding your first employee:
- Complete their profile with personal details, bank information, and documents — see Employee Profiles
- Add more employees individually or use Bulk Import for large teams
- Send invitations so employees can access the self-service portal — see Inviting Employees & Self-Service