🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
Leave Management
This page was created by Charles on 2026-10-11. Last edited by Charles on 2026-10-11.

You can use HR and Leave Management to create and maintain employee records, run the leave request and approval process, configure leave policies and calendars, and control who can see and change what.

This page was generated from the application's model. Screen and button names follow the ViewModel and column names in the model; confirm wording against the running application before publishing.

1 What HR and Leave Management does

HR and Leave Management is the core personnel-record and time-off workspace. It keeps each employee's current profile available for daily HR work, and it retains history where changes must be auditable.

The system covers five areas:

Area What you can do Example
Employee records Maintain personal details, employment terms, bank and statutory data, and documents. Store an employee's contract PDF and passport scan in their file.
Lifecycle tracking Record dated status changes such as Probation, On Leave, or Resigned. Schedule On Leave to start on a future date.
Leave requests Employees request leave; managers and HR approve in two stages. An employee requests five days of annual leave and a manager approves it.
Leave rules Define leave types, policies, accrual methods, and blackout periods. Block leave for the Finance department during year-end close.
Administration Set up the organization, calendars, public holidays, roles, and users. Import a country's public holidays for the new year.

For example, when an employee receives a pay rise, you add a salary revision instead of replacing the previous salary record. When an employee starts a period of leave, you record a lifecycle status change with an effective date rather than changing the displayed status directly.

2 Roles and access

Access is controlled by role-based access groups. The application defines four business roles and three general-purpose access groups.

Access group Intended use
AdminRole System administrators. Manage API settings, employee settings, and user-role assignments.
HumanResourceRole HR staff. Manage the employee directory, system administration, leave calendar settings, and lookup lists.
ManagerRole Managers. Review and decide leave requests in the Approval Inbox.
EmployeeRole Ordinary employees. Use self-service features such as the leave dashboard and leave requests.
IsLoggedIn Any signed-in user.
IsAdmin Users flagged as administrators.
OpenView Screens that any visitor can open, such as the start page and the Access Denied page.

The table below lists screens that are explicitly restricted in the model.

Screen Restricted to
Employee Directory HR
System Administration HR
Leave Calendar Settings HR
Lookup lists (Departments, Jobs, Contract Types, Employment Types, ID Types, Document Types) HR
Approval Inbox Managers
API Settings, Employee Settings Administrators
User Roles, User Seeker Administrators
System user records Users with IsAdmin

If you open a screen you are not permitted to use, the application shows the Access Denied page.

3 Historical record rules

The system is designed to preserve historical information for reporting and audit purposes.

Area How changes are recorded Example
Employee profile details Edit the profile and save it. Until you save, you can discard the unsaved edits. Correct a phone number before saving.
Lifecycle status Create a dated status record in Lifecycle History. Schedule On Leave to begin on a future date.
Salary Add a salary revision. The prior salary remains under Previous Revisions. Record a new monthly salary effective from the start of next month.
Bank details Keep bank-account records; one account is the current account and earlier accounts are kept as previous accounts. Keep a former account for historical payment tracking.
Statutory details Add each government identification record separately. Store both a National ID and a Tax Identification Number.
Leave requests Every status change is written to the leave request log with reviewer comments. Keep the reason a request was rejected.
Leave balances Policy assignments create balances. Removing a policy makes its balance inactive rather than deleting it. An employee moves to a new policy; the old balance is retained as inactive.

4 Find or create an employee

The Employee Directory is the landing page for personnel records. It is available to HR.

Search the directory

Use the Search box and the Filter control to find employees. Each row shows the employee's current status so you can see the lifecycle state before opening the record. Open an employee to go to the employee profile workspace.

Create an employee

  1. In the Employee Directory, select Add New Employee.
  2. Complete the information in the Personal Info and Employment tabs.
  3. Select Save Changes. The system ensures the employee has a unique employee ID.
  4. Open Lifecycle History.
  5. Record the employee's initial lifecycle status, such as Onboarding or Probation, with the applicable date.

The system also prepares the employee's leave request form and leave balances for them. Do not try to set the lifecycle status in the Employment tab. Use Lifecycle History so the status change has a dated audit record.

5 Manage the employee profile

The employee profile workspace shows the employee's photo, full name, employee ID, and title at the top. The workspace groups information into tabs:

  1. Personal Info
  2. Employment
  3. Lifecycle & History
  4. Financial & Statutory
  5. Documents
  6. Leave Management

Use Back to return to the directory.

5.1 Personal Info

Use Personal Info for demographic and contact data.

Section Information to maintain Example
Basic details First name, last name, gender, and date of birth. Record the employee's legal first and last name.
Contact information Email address, phone number, and address (street, city, state or province, postal code). Store the employee's current home address.
Emergency contacts Name, phone number, and relationship. You can add more than one contact. Add a spouse as the primary emergency contact.

To add an emergency contact, select Add Emergency Contact, complete the form, and save.

5.2 Employment

Use Employment to describe the employee's place in the organization and their terms.

Section Information to maintain Example
Role and placement Department, job title, reporting manager, and work location. Assign an employee to Finance with a named manager.
Employment terms Hire date and contract type. Record a contractor's hire date and contract type.
Current status The currently effective lifecycle state. An employee shows On Leave after the corresponding lifecycle record takes effect.

Department, job title, manager, and contract type are chosen from pick lists. The current status is displayed here, but you cannot change it directly in this tab.

The reporting manager you choose here matters for leave: it determines whose Approval Inbox receives the employee's leave requests.

5.3 Lifecycle History

Use Lifecycle History as the dated audit trail for an employee's journey through the organization. Each entry has a status, an effective date, a reason, and an applied indicator.

To record a status change:

  1. Open the employee profile and select Lifecycle & History.
  2. Select Record Change.
  3. Choose the new status, such as On Leave or Terminated.
  4. Enter the effective date.
  5. Enter a reason when needed. For example, enter Maternity leave commencement.
  6. Save the record.

The effective date determines how the record is handled. A background job applies scheduled records when their date arrives (see Automated background jobs).

Effective date Result Example
Future date The record is scheduled and applies automatically on that date. Record On Leave for next month's leave start date.
Today or past date The change applies to the employee's status. A past date acts as a historical correction. Correct a termination record to its actual date.
Applied record The record is part of the employee's permanent history. A leave status that has already taken effect remains in the audit trail.

The allowed transitions between statuses are described in Employee lifecycle states.

5.4 Financial and Statutory

Use Financial & Statutory for salary, bank, and government-identification data.

Add a salary revision

  1. Open the employee profile and select Financial & Statutory.
  2. In the salary section, select Add Salary Structure.
  3. Enter the base salary, currency, pay frequency, and effective date.
  4. Save the revision.

The new revision becomes the current salary once its effective date arrives; a background job applies salary revisions by date. The former salary stays under Previous Revisions. For example, to give an employee a raise from the first day of next month, create a new revision with the new amount and that future effective date. Do not overwrite the existing amount.

Maintain bank details

Use Add Bank Account to record an account. Each account holds the bank name, account name, account number, routing code, SWIFT/BIC code, and branch address. The employee has one current bank account; earlier accounts are listed under Previous Accounts for historical payment tracking.

Add statutory details

Employees can have multiple government identification records. Select Add Statutory Identifier to add another record, such as a National ID, Passport, or Tax Identification Number. Each record has an ID type, an ID number, and an expiry date. Some ID types are marked as required in the system settings.

5.5 Documents

Use Documents as the employee-file repository.

  1. Open the employee profile and select Documents.
  2. Select Add Document and upload the file.
  3. Choose the document type, such as a contract or ID scan.
  4. Review the upload date in the document list.

Contracts can also hold a signed-on date and the signed file. Document types are maintained by HR under Organization structure.

5.6 Leave Management tab

The Leave Management tab shows the employee's leave dashboard: leave balances, leave history, the leave calendar, and quick apply. See Request leave.

HR can also open Leave balances and policies for an employee to do two things:

  • Review balances. Each balance shows accrued days, carried-over days, used days, pending days, and the available balance.
  • Assign policies. The system suggests recommended policies for the employee. Select the policies you want and select Assign Selected. Policies that no longer apply are shown as inactive allocations.

6 Save or discard profile edits

Profile edits are not retained until you select Save Changes. If you change a field accidentally and have not saved, select Discard Changes. This restores the profile to its last saved state.

Use Discard Changes only for unsaved profile edits. It does not remove an applied lifecycle-history record.

7 Request leave

Employees request leave from their leave dashboard or the leave calendar.

The leave dashboard

The dashboard shows the employee's leave balances, a leave calendar, their leave history, and a Quick Apply option.

Submit a request

  1. Open the leave calendar, or select Quick Apply on the dashboard.
  2. Enter the leave type, start date, end date, and reason.
  3. Review the calculated number of days.
  4. Attach a supporting document if the leave type requires one.
  5. Select Submit Request.

The request form checks your request before it is saved. It does not accept a request that:

Check What it means Example
Days within limit The calculated days must not exceed the maximum allowed per event for the policy. A policy allows five days per event; a seven-day request is refused.
No overlap The dates must not clash with your existing leave requests. You cannot submit leave that overlaps an approved week.
No blackout The dates must not fall in a blackout period that applies to you. Leave is blocked during a department freeze.
Sufficient balance Days deducted come from your balance unless the policy allows a negative balance. A policy with Allowed Negative Balance lets the balance go below zero.

The leave calendar also shows the public holidays for your country. Use Show Leave Balances and Hide Leave Balances to toggle the balance panel.

Track a request

Your leave history lists each request with its status. See Leave request states for what each status means. You can cancel a request while it is still waiting for manager review.

8 Approve leave

Leave requests follow a two-stage approval: first the employee's manager, then HR.

Manager review

  1. Open Approval Inbox.
  2. Select a request to see the dates, reason, and days requested.
  3. Enter reviewer comments if needed.
  4. Approve the request to send it on to HR, or reject it.

HR review

Requests approved by a manager move to Pending Human Resource. HR approves the request, which deducts the days from the balance, or rejects it.

Reversing an approval

An approved request can be reversed. Reversing sends it back to Pending Human Resource for another decision.

Every decision is written to the request's log with the state, time, and reviewer comments.

9 Review leave across the company

Screen Use it to Example
Leave Directory Search and filter all leave requests, including by status. Find every pending request.
Department Leave Directory See leave by department. Check who in Sales is off next week.
Company Calendar View the company-wide calendar. Plan coverage around public holidays.

10 Configure the system

System configuration is under System Administration, available to HR. It has tabs for Leaves Rules and Policies, Organization Structure, Public Holidays, and Roles and Permissions. A warning appears if the leave year has not been set.

10.1 Leave rules and policies

This screen has three sections: leave types, blackout periods, and leave policies.

Leave types

Field Meaning
Name The leave type name, such as Annual Leave or Sick Leave.
Is Paid Whether the leave is paid.
Must Attach Documents Whether a supporting document is required when requesting.

Leave policies

Field Meaning Example
Name, Description Identify the policy. Standard Annual Leave
Leave Type The type the policy grants. Annual Leave
Annual Allowance Days granted per leave year. 21
Maximum Carry Over Days that can carry into the next year. 5
Accrual Method How the allowance is earned. Monthly
Allowed Days Per Event Maximum days in a single request. 10
Allowed Negative Balance How far the balance can go below zero. 0
Eligibility Criteria Free-text description of who qualifies. After six months of service
Country, Contract Type, Gender Restriction, Jobs Restrict the policy to matching employees. Only full-time employees in Kenya
Leave Blackouts Blackout periods that apply to the policy. Year-end freeze

The accrual method controls how a balance grows:

Method Behavior
Monthly Days accrue each month, up to a monthly upper limit.
Upfront The full allowance is available from the start.
Uncapped No fixed limit on the balance.
One-time grant A single grant of days.

Blackout periods

A blackout period has a reason, a start date, and an end date. You can link it to specific leave policies and to specific departments, so the restriction applies only to the people you intend.

10.2 Organization structure

Maintain the lists that employee records draw from:

List Fields
Departments Name, description
Jobs Title, grade level, description
Contract Types Name
Genders Name

HR also maintains these lookup lists, each with its own screen: Employment Types, ID Types (with a required flag), Document Types, and Hours of Day.

10.3 Public holidays

Public holidays are kept per country.

  1. Open the Public Holidays tab.
  2. Select Refresh Country List to load countries from the external API.
  3. Select Fetch Holidays to retrieve holidays from the external API.
  4. Choose a country and a year.
  5. Review the holidays shown and select the ones you want.
  6. Select Import Selected Holidays.

Each holiday stores its name, local name, country code, date, and whether it is global.

10.4 Calendar and leave year

The system uses a generated calendar of years, months, weeks, and days.

Calendar settings

  1. Open Calendar Settings.
  2. Choose or create a week definition (the system includes an ISO definition).
  3. Select Generate Calendar.
  4. Save your changes.

Leave calendar settings

  1. Open Leave Calendar Settings (HR only).
  2. Set the leave cycle's start and end dates.
  3. Select Create Leave Calendar, then save.

The leave year must be set before leave can be managed. At year end, the system can roll the leave calendar over automatically, carrying over blackout periods and selected public holidays and generating new balances.

10.5 Roles and permissions

  • Roles. Open the Roles and Permissions tab to add roles. Each role has a name, a type, and a specification.
  • User roles. Administrators open User Roles, search for a user, edit their roles, and save. Discard unsaved changes with Discard Changes.

10.6 Application settings

Screen Restricted to Use
Employee Settings Administrators Application-level settings, including options used when generating employee IDs.
API Settings Administrators The addresses of the external calendar and countries APIs used for public holidays.

11 Automated background jobs

These jobs run without user action. They keep balances, statuses, and calendars current.

Job What it does
Leave balance monthly accrual Adds the monthly accrual to eligible leave balances.
Auto roll over leave calendar Starts the new leave year and carries forward the configured data.
Create calendar Generates calendar years, months, weeks, and days.
Update employee status Applies scheduled lifecycle status records when their effective date arrives.
Update employee salaries Applies scheduled salary revisions when their effective date arrives.
Update time Keeps the system's time-based values current.

12 System overview

12.1 Data model

The following table summarizes the main entities. (Insert the class diagram from the MDriven Designer here.)

Group Entities
People Employee, EmployeeAddress, EmergencyContact, EmployeeStatusLog
Employment Department, Job, ContractType, Contract, EmploymentType, Gender
Finance and identity SalaryStructure, BankAccount, StatutoryIdentifier, IDType
Documents Document, DocumentType
Leave LeaveType, LeavePolicy, EmployeeLeavePolicy, LeaveBalance, LeaveRequest, LeaveRequestForm, LeaveRequestLog, RequestAttachment
Leave rules AccrualMethod (Monthly, Upfront, UnCapped, OneTimeGrant), LeaveBlackout, LeavePolicyBlackout, DepartmentLeaveBlackout, LeaveCalendar
Calendar Calendar, WeekDefinition, Year, Month, Week, Day, DayOfWeek, DayOfMonth, MonthOfYear, HourOfDay, PublicHoliday, Country
Security Role, EmployeeRole, UserRole, Admin, HumanResource, Manager, SysUser, SysRole, SysUserRole, SysUserClaim, SysExternalLogin, SysSession
Configuration Settings, ApiSettings, ApiResult
Infrastructure SysAsyncTicket, SysSingleton, SysSuperClass

The model defines no enumerations. Values such as gender, contract type, and leave type are classes, so administrators can change them without a software change.

12.2 Employee lifecycle states

The employee lifecycle is modeled as a state machine. Statuses are grouped:

  • Active employment: Probation, Active
  • Temporary pause: On Leave, Suspended
  • Post-employment: Resigned, Terminated, Retired, Deceased
stateDiagram-v2
    [*] --> Onboarding
    Onboarding --> Probation
    Probation --> Active
    Active --> OnLeave
    Active --> Suspended
    Active --> NoticePeriod
    OnLeave --> Active
    Suspended --> Active
    OnLeave --> NoticePeriod
    Suspended --> NoticePeriod
    NoticePeriod --> Resigned
    NoticePeriod --> Terminated
    NoticePeriod --> Retired
    NoticePeriod --> Deceased

In the model, transitions out of active employment and the temporary-pause group apply to every status in the group. The diagram above shows them per status for readability.

12.3 Leave request states

stateDiagram-v2
    [*] --> PendingManager
    PendingManager --> PendingHumanResource: ApprovedByManager
    PendingManager --> Rejected: RejectedByManager
    PendingManager --> Cancelled: Cancel
    PendingHumanResource --> Approved: ApprovedByHumanResource
    PendingHumanResource --> Rejected: RejectedByHumanResource
    Approved --> PendingHumanResource: Reverse
State Meaning
Pending Manager Submitted and waiting for the employee's manager.
Pending Human Resource Approved by the manager and waiting for HR.
Approved Approved by HR. Days are deducted from the balance.
Rejected Rejected by the manager or by HR.
Cancelled Cancelled while it was still waiting for the manager.

Each request stores its start date, end date, reason, deducted days, current state, reviewer comments, and creation time.

12.4 Screen reference

Area Screens
Employee Employee Directory, Employee Details, Personal Info, Employment, Employee Status Log, Financial and Statutory, Documents, Bank Account modal, Emergency Contact modal, Salary Structure modal, Statutory Identifier modal, Employee Record Status Log modal
Leave (employee) Leave Dashboard, Leave Calendar, Leave Requests, Leave Balance Details modal, Employee Leave Balances and Policies, Employee Recommended Policies modal
Leave (review) Approval Inbox, Leave Directory, Department Leave Directory, Company Calendar
Leave configuration Leave Rules and Policies, Leave Policy Details, Leave Type Details, Leave Blackout Details, Leave Calendar Settings
Organization Organization Structure, Department Details, Job Details, Contract Type Details, Gender Details, and lookup lists
Calendar and holidays Calendar Settings, Date Structure Browser, Week Definition Browser and View, Year View, Public Holiday Management, Countries, Country Browser and View
Security and admin System Administration, Roles and Permissions, Role Details, User Roles, Edit User Roles, User Seeker, API Settings, Employee Settings, Access Denied
Background jobs The six jobs in Automated background jobs

13 See also

Categories: Tutorials and Learning Paths, Domain Modeling Best Practices