View source | View content page | Page history | Printable version   

Projects:Humancapitalmanagement/Employee Information Management/Functional Specification




The aim of this document is to describe the functional specifications for an Employee information management system. It is part of an extension module that supports Human Capital Management. This funtional specifications will be later on implemented following the Technical documentation.


This is the core of the module and every other functionality will depend on this. It will provide the functionality of managing the information of the employees. That is, it will provide the ability to add, delete, modify, search and list the employees and the information associated to them.

Design Considerations


Every other future extension of this module will be based on this module. This makes it necessary to design a solid structure that will allow other functionality to be developed in top of it. This module will be dependent on Openbravo core module.


Openbravo ERP already provides a mean to manage employees. This module will provide wider managing tool. Still, it will be consistent with the previous approach.

Functional Requirements

User roles & profiles

The following roles are involved:

Business process definition

Employee records management:

System setup:

User stories

Mary is the Human Capital Manager of an advertising agency responsible for the coordination of 120 employees with several level of management. The legal structure of the company follows a structure similar to the one shown in the following diagram.

Legal structure

At the same time, the management structure of the organization could be similar to:

Management structure

System Setup

First of all, Mary does the setup of the system to have it ready for usage.

This process is illustrated in the following diagram:

HCM BPMN setup.jpg


Whenever there is a new hire in the office, Mary navigates to the Human Capital menu and clicks on employee window. Then clicks on new icon to enter a new register.


Whenever there is any change in an employee data, Mary can access the system and change the information in the required field. This information update could have different effects in the system. There are some fields that may force some others to be changed.

On the one hand, there are some fields that will not affect anything else. These changes can be done just typing in the correspondent field and saving. The change will be saved and reflected in anywhere is used. For example, modifications in the employee header, such as First Name, Last Name, Nationality, Sex, Marital Status, etc.

On the other hand, some changes will make some other fields to be displayed. For instance, if the field status in the employee header is turned to former employee, the exit date field will be displayed.

However, there are some fields that require a more complex process.

On the other hand, changes in employment information tab will require a new record to be inserted every time, so track of the changes can be kept. Whenever the new tab is inserted the previous records information will be displayed, so the insertion is easier. Once the information has being inserted, the record will be completed and not modificable anymore.

The following diagram illustrated this process:

HCM BPMN complete.jpg

This are examples of modifications that would need a new record to be opened in the employment information tab or in the team window:


Whenever an employee leaves the company, Mary will set the status field to 'former employee'. The information related to this employee will be kept in the system for possible future usage. When an employee is the status will be turned to former employee and the exit date will be displayed. The exit date will be today as default.


Whenever Mary wants to search for an employee, she can click on the search icon. This icon will allow her to search by:

  • First Name
  • Last name
  • Know as
  • Employee Number
  • Search Key
  • Organization
  • Position
  • Team
  • Status
  • Active


Whenever Mary want to see the list of employees she can access the records in the grid view or export it into excel, CVS or PDF.

Functional requirements based on business processes

In the following tables the functional requirements are listed. For readability reasons, the requirements have been broken into different tables and some mockups have been added to help in the understanding. The code for the icons in the field lists:


Num Requirement Importance Approved
Menu_1 There is going to be a new menu entry named Human Capital Management. Must have
Menu_2 In this menu there will be a window named employee. This window will allow to add, modify, delete, search and list employees. The registers entered in this window will be visible from the business partner window as well. Must have
Menu_3 In this menu, there will be also a setup folder containing windows to add, modify, delete, search and list the following items:
  • Team
  • Salary Category
  • Position
  • Contract type
  • Defaults
Must have
Menu_4 There is no going to be a window to manage countries or nationalities. The list of countries shown in the dropdown named country of citizenship will be set in the usual country window from core. Must have

HCM Menu.jpg

Setup Windows

Defaults Window
Num Requirement Importance Approved
DefWin_1 The defaults window will have the following fields:
  • Employee Category
  • Active
Expense Reimbursement Information:
  • Form of Payment <
  • Payment Terms <
  • Purchase Pricelist
Must have
DefWin_2 Employee category field is a drop down that takes the values of business partner categories. This values are inserted in: Master Data Management > Business Partner Setup > Business Partner Category. To be able to insert records in this defaults setup window, there must be at least one record in Business Partner Category, as employee category is a mandatory field. Must have
DefWin_3 The employee category is static. Every employee will have the same default value unless it is individually changed from the business partner window. The employee category is a hidden field in the employee header. Must have
DefWin_4 The parameters set in expense reimbursement fields will be the default values for every new employee created. If they are null, the new employees will have null in those fields. If they are not null, the employee will be set to Vendor = yes and this values copied in their vendor attributes. This parameters will be hidden in the employee tab but could be changed if required from the business partner window. Must have
DefWin_5 The defaults are NOT set by organization. Every employee will belong to * organization, and every employee will have this same default values. Must have
DefWin_6 If any of the default values are changed, the new values will be used from them on. No previous records will be modified. The previously entered employees will continue having the previous default values set. They could be modified in the business partner window if required. Must have
DefWin_7 It will not be possible to delete the business partner category if it is used in the defaults window. A message will be pop-up. Must have

HCM default.jpg

Salary Category Window
Num Requirement Importance Approved
SalWin_0 The salary category window will have two tabs: salary category header and cost. Must have
SalWin_1 The salary category window will have the following fields:
  • Client/Org
  • Name
  • Salary From
  • Salary To
  • Currency
  • Cost applied
  • Bonus type
  • Max %
  • Min %
  • Description
  • Active
Must have
SalWin_2 The cost tab will have the following fields:
  • Client/Org
  • Salary Category
  • Starting date
  • Cost
  • Cost UOM
Must have
SalWin_3 This window is the same window available in Master Data Management > Business Partner Setup. That is, this window will have two menu entries, the one provided by core (in Master Data Management folder) and the one provided by the module (in the HCM folder). Must have
SalWin_4 It will not be possible to deactivate a salary category record if there are active employees linked to it. Must have
SalWin_5 The values of the cost window are used for operational reasons. The cost per cost unit of measurement are not necessarily directly related to the salary range of the salary category. Must have
SalWin_6 The starting date in the cost tab will be used to decide which cost to apply when the employee is used as an operational resource. Depending on the starting date of the employee in certain salary category, the cost valid in that period will be applied. Must have
SalWin_7 When the salary is entered in the employment information tab, the currency of the salary category selected will be concatenated in the end. The system will check that the inserted value is a number, but the field will contain strings, as the currency symbol is a string. Nice to have

HCM SalaryCategory.jpg

HCM SalCatCost.jpg

Num Requirement Importance Approved
PosWin_1 The position window will have two tabs: the header, and a child tab called salary category. In the child tab the salary categories available for the selected position can be registered. Must have
PosWin_2 The header tab will have the following fields:
  • Client/Org
  • Name
  • Active
Must have
PosWin_3 It will not be possible to deactivate a position record if there are active employees linked to them. Must have
PosWin_4 The child tab salary category will have the following fields:
  • Client/Org
  • Position
  • Salary Category
  • Active
Must have
PosWin_5 A position can be related to several salary categories within certain organization. The same position could be linked to different salary categories for different organizations. Must have
PosWin_5 In the child tab, only the organizations that are children of the selected position will be available. Must have
PosWin_6 Only the salary categories available within the selected organization will be available. Must have
PosWin_7 The combination of position and salary category will be only available for the selected and its children. Must have

HCM Position.jpg HCM PositionAndSalaryMapping.jpg

It is very important to remark that a position can be related to different salary categories for different organizations. At the same time, a slary category can be related to more than one position in different organization. It is a three side relation. This idea is shown in the following image:

HCM trioCalabera.jpg

Contract type Window
Num Requirement Importance Approved
ConWin_1 The contract type window will have the following fields:
  • Client/Org
  • Name
  • Search key
  • Active
Must have
ConWin_2 It will not be possible to deactivate a setup record if there are active employees linked to them. Must have

HCM ContractType.jpg

Team Window
Num Requirement Importance Approved
TeamWin_1 The team window will have the following fields:
  • Client/Org
  • Team
  • Current Manager
  • Effective from
  • Assign Manager
  • Summary level
  • Active
Must have
TeamWin_2 The team will have a read only manager history tab, with the following fields:
  • Team
  • Manager
  • Effective from
  • Effective to
Must have
TeamWin_3 The add manager button a pop up will show up. This popup will have the following fields:
  • Team
  • Manager
  • Effective from
  • Effective to
Must have
TeamWin_4 The data inserted in the popup window will create records in the manager history tab. Which is only read only. Must have
TeamWin_5 Add Manager is a none mandatory process in the team setup window. But if it is not performed, the system will not allow any employee to be assigned to this team. An error message will be displayed if this happens. Must have
TeamWin_6 It will not be possible to deactivate a team record if there are active employees linked to them. Must have
TeamWin_7 Teams follow a tree structure. After inserting a team, clicking on the tree icon in the toolbar, the recently created organization can be located in certain position in the team tree. The summary level check box field must be checked for 'parent' teams, that is, for teams that will have some other team under them. Must have
TeamWin_8 There is no need for a relation between the team the employee manges and the team the employee belong to. Must have
TeamWin_9 The same employee could manage more than one team. Must have

HCM Team.jpg HCM PopupManager.jpg

HCM TeamManager.jpg HCM TeamManagerGrid.jpg

Employee Window and Tabs

Employee Window
Num Requirement Importance Approved
EmpWin_1 The employee window will have a header main tab and several tabs. Except for the header itself, the rest of the tabs will be pending of this header tab. All of them in the same level, right under the header. The tabs will be the following:
  • Employee (header tab)
  • Contact
  • Location
  • Bank information
  • Employment information
  • Family Member
  • Operational Resource
  • Other Citizenship
Must have
EmpWin_2 The employee search filter will filter by the following fields:
  • First Name
  • Last Name
  • Know as
  • Employee Number
  • Search key
  • Organization
  • Team
  • Position
  • Status
  • Active

The active check box will be checked by default. The rest of the fields will allow to be left null to mean any.

Must have
EmpWin_3 An employee selector is needed as there amount of employees in the application is large. The filters of the selector will be the following:
  • First Name
  • Last Name
  • Know as
  • Organization
  • Team
  • Position
  • Status
Nice to have
EmpWin_4 When the user navigates from the header to the tabs, if the tab is date driven, the form view will be opened with the actual record. If the tab is not date driven, the grid view will be shown. That is, for employment information tab, the actual record will be opened. For the rest, the grid view will the initial view. Nice to have

HCM EmpWindowHeader.jpg

Employee Tab
Num Requirement Importance Approved
EmpTab_1 Fields for the Employee Tab
  • Search key + <
  • Employee number <
  • Greeting
  • First Name + <
  • Middle Name + <
  • Last Name + <
  • Known As + <
  • ID / Passport <
  • Tax ID <
  • Place of Birth <
  • Date of Birth <
  • Country of citizenship <
  • Language
  • Gender <
  • Marital status <
  • Education Level <
  • Personal Notes <
  • Status <
  • Education Degree
  • Exit date
Must have
EmpTab_2 The organization of the employee will not be defined in the header but in the employment information tab. Must have
EmpTab_3 When an employee stops working for the company it will be set to former employee in the status field of the header. The exit date field will be automatically displayed to set an ending date. The ending date will be today for default. This exit date will be the end date for the actual employment information record and for the team manager records of the employee, if any. Must have
EmpTab_4 When a first name, middle name or last name is entered, known as field will be updated to contain the concatenation of those fields. If the previous know as field is different to the previous names' concatenation the known as field will not be updated. Must have
EmpTab_5 Country of citizenship combo, that is nationality, will be filled with the values of country window (General Setup - Application - Country Region and City - Country). Must have
EmpTab_6 When a new record is inserted, the employee number will be automatically filled to the next available number (to the max(employeeNumber) + 1). It will only be a suggestion, as it is an editable field. Similar to the sequences for transaction documents. Nice to have

HCM employee.jpg

Contact Tab
Num Requirement Importance Approved
ConTab_1 Fields in contact tab:
  • Employee *
  • Contact type +<
  • Contact +<
  • Business Contact <
  • Default <
  • Comments
  • Make default
  • Active
Must have
ConTab_2 Contact tab contains records for different kind of contacts of the employee. Some contact types will be available at installation (email, cell, phone, URL, etc.) but the list is user modifiable. So, there could be as many contact types as needed. Must have
ConTab_3 The 'business contact' field is a check box to point out whether the contact is a business contact or private. There can be as many business contacts as needed, even of the same type. Must have
ConTab_4 There will be a check box to select the default contact. This check box is read only and will be set by clicking the button 'make default'. There could be only one default business and one private default contact for each contact type. The user will be able to set main check-box to different records if they are from different contact type. If a record is set to default, if there was some other default record, it will be unmarked. Must have

HCM contact.jpg

Location Tab
Num Requirement Importance Approved
LocTab_1 Fields in location tab
  • Employee *
  • Name
  • Location
  • Business Contact
  • Default
  • Comments
  • Make Default
  • Active
Must have
LocTab_2 There could be as many records set to business contact as needed. Must have
LocTab_3 There can only be one record set to default business location and one record set to default 'not business' location, that is, default private location. Must have

HCM Location.jpg

Bank information tab
Num Requirement Importance Approved
BankTab_1 Fields in bank information tab:
  • Employee *
  • Account Name
  • Bank Name
  • Bank Account Geography
  • Bank Account Number
  • IBAN
  • Active
  • Default
  • Make default
Must have
BankTab_2 If the account type is set to domestic only the account number fields will be displayed. The IBAN and SWIFT fields will not be displayed. If the account type is set to international, this last two fields will be displayed as well. Account number will remain visible. Must have
BankTab_3 Only one record can have default checked. Must have
BankTab_4 In the business partner bank account tab, show generic or show IBAN must be selected. this two fields are hidden in the specs. If domestic is selected, show generic will be checked, if 'international' is selected, show IBAN will be checked. Must have

HCM bank.jpg

Employment information tab
Num Requirement Importance Approved
EmpInfoTab_1 Fields in the employment information tab:
  • Client/Org/Employee *
  • Full/Part time +<
  • Salary Category +<
  • Position +<
  • Salary +<
  • Contract Type +<
  • Team +<
  • Standard Hours
  • Work Period
  • Bonus %
  • Comments
  • Effective date +<
  • Complete button.
Must have
EmpInfoTab_2 The salary will be introduced manually by the HR manager. It is not being calculated by the system. Must have
EmpInfoTab_3 If the salary entered is greater than the maximum quantity set by the salary category or smaller than the minimum quantity, an information message will be shown. The information message will read "The current salary is not in the salary range. The salary range for this salary category is between x and y." Nice to have
EmpInfoTab_4 For default, full/part time field is set to full-time.Standard hours and work period will be hidden fields that will be displayed if the dedication field is set to part-time. Must have
EmpInfoTab_5 If the full/part time field is changed from part-time to full-time the standard hours and work period field will not be displayed and their values will be set to null. Must have
EmpInfoTab_6 The organization of the employee is defined in this tab. Must have
EmpInfoTab_7 Whenever an employees organization is changed in the information tab, the other fields (contract type, team, salary category, etc.) will load the data according to the new organization in the drop-down lists. If possible, the previously selected option will be maintained as selected. Must have
EmpInfoTab_8 In the positions drop down every position available according to the employees organization will be shown. In the salary category dropdown only the salary categories available for the selected position and organization will be shown. Must have
EmpInfoTab_9 Whenever an employees position is changed in the information tab, the salary category field will load the data according to this change. If possible, the previous salary-category will be maintained as selected. If this is not possible, the first of the list will be selected. Must have
EmpInfoTab_10 If the salary category is changed, the positions will not be reloaded. All the positions will be available in the dropdown. Not only the ones matching the salary category. Must have
EmpInfoTab_11 Time based historic information about the employees employment information must be kept. That is, every information related to the employee activity in the company will be recorded. Must have
EmpInfoTab_12 Workflow to kept historical data: Open a new tab. the record will be in Draft Status. Fill the fields and once the record has being properly being saved, press complete button. The record will turn to complete status. The record will be in read only from now on and will not be modifiable anymore. Must have
EmpInfoTab_13 Only one record can be in draft status. Must have
EmpInfoTab_14 Whenever a record changes it status from draft to complete, the previous record in ready status will turn to historic status. That is, only one record can be in complete status. Must have
EmpInfoTab_15 The complete button will not be visible when the record is in complete or historic status. Must have
EmpInfoTab_16 The employment information grid view will be ordered by date. Nice to have
EmpInfoTab_17 In the employment information tab it would be nice to have a read only field for the manager and another one with the salary range. Another solution could be to show a message whenever the salary category is changed showing the salary range. Nice to have
EmpInfoTab_18 An employee can only be assigned to a team with a manager assigned. Otherwise a message will pop up. Must have
EmpInfoTab_18 Employment information tabs can not be deleted. A message will pop up if the delete button is clicked. Must have
EmpInfoTab_19 Bonus % field will only be visible when a salary category with bonus type set to salary %. Must have

HCM jobinformation.jpg

HCM jobinformation confirmed.jpg

Family member tab
Num Requirement Importance Approved
FamTab_1 Field in the family Member tab:
  • Client/Org/Employee *
  • Relation +<
  • First Name
  • Middle Name
  • Last Name
  • Know As +<
  • Date of Birth +<
  • Phone
  • Employment Status +<
  • Tax ID
  • Country of citizenship
  • ID/Passport
  • Email
  • Phone
  • Mobile Phone
  • Active
  • Comments
Must have
FamTab_2 If spouse is selected in the relation field of the relative tab of employee window and there employee is not set to marital status married a information message will be displayed. Nice to have

HCM relative.jpg

Operational Resource tab
Num Requirement Importance Approved
OpeRes_0 Operational Resource tab has got a child tab named cost salary category. Must have
OpeRes_1 Fields in the operational resource tab:
  • Employee
  • Operator
  • Sales representative
Must have
OpeRes_2 Fields in the cost salary category tab:
  • Employee
  • Cost Salary Category
  • Starting Date
  • Active
Must have
OpeRes_3 The salary category selected here is not necessarily the same salary category as the one selected in the employment information tab. The salary category selected here will be the one used when the employee is used as an operational resource. For instance in project & service management. Must have
OpeRes_4 The start date in this window is not necessarily related to the start date in the employmen information tab. This start date is used to select which costs will be applied. When costs are defined in the salary category cost tab, a valid from field must be inserted. Must have

HCM emp operationalR.jpg

HCM emp operationalR salcat.jpg

Other Citizenship tab
Num Requirement Importance Approved
CitiTab_1 Field in the family Member tab:
  • Employee
  • Country of citizenship
Must have
CitiTab_2 The main citizenship defined in the employee header will be copied to this tab. Nice to have

HCM emp othercitizenship.jpg

Other Functional Requirements

Drop Down Lists
Num Requirement Importance Approved
DropList_1 There will be closed drop down lists for:
  • Marital status
  • Employment status
  • Gender
  • Dedication
  • Status
  • Contact type
  • Relation
  • Education Level
  • Work Period
Must have
DropList_2 Values for Marital status will be:
  • Single
  • Separated
  • Divorced
  • Widowed
  • Married
  • Unknown
Must have
Values for Gender will be:
  • Female
  • Male
  • Unknown
Must have
Values for Full/Part time will be:
  • Full time
  • Part time
Must have
DropList_5 Values for Contact type will be:
  • Email
  • Mobile Phone
  • Phone
  • URL
  • FAX
  • Other
Must have
DropList_6 Values for Relation will be:
  • Spouse
  • Child
  • Partner
  • Parent
  • Other
Must have
Values for Employment status will be:
  • Employed
  • Unemployed
  • Unknown
Must have
DropList_8 Values for Work Period will be:
  • Annual
  • Quarterly
  • Monthly
  • Biweekly
  • Weekly
  • Daily
Must have
Values for Status will be:
  • Former employee
  • Current employee
Must have
DropList_10 Values for Education Level will be:
  • Mandatory schooling
  • Vocational school
  • High school
  • University Degree
  • Master's Degree
  • PhD
Must have
DropList_11 Values for Account Type will be:
  • Domestic
  • International
Must have
DropList_12 Values for Status' in employment information tab will be:
  • Draft
  • Complete
  • Historic
Must have
DropList_13 Values for Bonus Type' will be:
  • None
  • Discretionary
  • Salary %
  • Quota Based
  • Other
Must have

Other Functional Requirements
Num Requirement Importance Approved
Other_1 The user defined entities (team, position, salary category, defaults, etc.) will belong to an organization. Only the ones available for the employee according to the users organization will be shown in each drop-down. Must have
Other_2 In this first basic approach, only the information related to the employees employment information and management structure will be time based tracked. Must have
Other_3 Effective Dates: Effective from and effective date will be both visible and both editable. Must have
Other_4 Current Record will be the one satisfying: effective from > all effective to. Must have
Other_5 Gaps are allowed but no overlapping. Must have
Other_6 When a new record is created, the end date of the previous record should be automatically populated based on the start date of the record being inserted. This will only happen if the end date is null. If a previous value exists, it must be validated that there is no overlapping. Must have
Other_7 When an employees status is set to former employee and the exit date is filled out, the exit date of the last employment information record will be filled with the exit date. Must have
Other_8 Only the current record can have the end date set to null. The other records must have the end date set. That is, only the record with maximum start date can have the end date set to null. Must have
Other_9 Organization change should be treated carefully. If the change is to a parent organization there is no problem, but if the change is to a child organization it must be checked that no record will remain inconsistent. If so, the change should not be allowed. Must have
Other_10 Every employee belong to * organization by default. This fields is hidden. The organization the employee is associated with can be seen in the employment information tab. Must have

In the following table a brief list of nice to have features is shown. At the end of this document there is a list of further feature request.

Nice to have Functional Requirements
Num Requirement Importance Approved
Nice_1 There will be a window visible to everyone with public information of every employee. Nice to have
Nice_2 There will be a window only visible for HR managers and team managers with important information in a single view. Nice to have
Nice_3 There will be a read only view with the manager list and a tab to show some information about the employees each of them supervises. Info available:
  • Client/Org/Employee *
  • Supervised employees name *
  • Supervised employees legal entity *
  • Supervised employees team *
  • Supervised employees start date at position *
  • Supervised employees end date at position *
  • Supervised employees hiring date *
  • Supervised employees exit date *
Nice to have
Nice_4 In a later stage, a hierarchical view of the managers and the team members could be implemented. It should provide navigation from a manager to its reporting employees and from the employees to their manager. And to their managers manager. And so on. Nice to have
Nice_5 The employee tab should include a picture field. Nice to have


User Interface Mockups

The images below display some user interface mockups for the employee management system that haven't being displayed in the previous section.

Employee Search Filter

The employee search filter is shown in the following image:

HCM EmpSearchFilter.jpg

Employee Selector

The employee selector is shown in the following image:

HCM EmpSelector.jpg

Nice to have windows

In the following images some of the nice to have features mockups are shown. The first one shows a view for the human resources managers and team managers. As it is only a window intended to show information, every field is set to read only. It will not be available for employees.

HCM employeeView.jpg

This one shows a very basic and simple view available for every employee in the company. It is intended to be a simple way to check the contact info of other employees.

HCM employeeViewForEmployees.jpg

Non-Functional Requirements

Security requirements
Num Requirement Importance
1 There will be different roles with different access levels:
  • Human Resource Director: Can see every record within the whole enterprise
  • Human Resource Organization Manager: Will have access to every record within the organization they are responsible for.
  • Human Resource Team Manager: Will have access to every record within the team they are responsible for.
  • Senior Managers: Will have read-only access to all the information about the employees reporting to them.
  • Front line managers: Will have read-only access to some information about the employees reporting to them.
  • Employees: Will have write access to their own information. Will have read-only access to every employees public information.
Must have
2 Ex-manager figure should be available. That is, managers should be able to see the records of the employees that where once reporting to them. They should only be able to access the records with the information of their ex-reporting employees in the period they where managed by them. Nice to have

Open Discussion Items

Closed Discussion Items

Nice to have Features for Future Extensions

This first approach will provide a basic, but solid, HCM module. There are plenty of good ideas that have being left out of this specifications but will be taken into account for future extensions.

Retrieved from ""

This page has been accessed 12,031 times. This page was last modified on 8 June 2012, at 05:27. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.