This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.

Managing Human Resources

To establish a system that is integrated into the company's management, you need to start with a current list of collaborators.


Do not confuse employees and users

For OpenERP, “employee” represents all of the physical people who have a work contract with the company. This includes all types of contracts: contracts with both fixed and indeterminate time periods, and also independent and freelance service contracts.

A “user” is a physical person who is given access to the company's systems. Most employees are users but some users are not employees: external partners can have access to parts of the system.

Here are some examples of functions which depend on the accuracy of the employee list:

  • the cost of a service, which depends on the employee's working contract,

  • project planning, which depends on the work pattern of the project contributors,

  • the client billing rate, which probably depends on the employee's job function,

  • the chain of command, or responsibilities, which is related to the hierarchical structure of the company.

Define employees' billing prices and costs

To be able to use the timesheets at all, you must first define those employees who are system users. The employee definition forms contain the information necessary to use that sheet, such as the job title, and hourly costs.

Two fields will be of particular interest to you for managing timesheets: the Analytic Journal and the Product.

All the analytic entries about the costs of service times will be stored in the analytic journal. These enable you to isolate the cost of service from other company costs, such as the purchase of raw materials, expenses receipts and subcontracting. You can use different journals for each employee to separate costs by department or by function.

The employee is also associated with a product in your database in OpenERP. An employee is linked with a product, so they can be 'bought' (subcontracting) or 'invoiced' (project management). You have to create a product for each job type in your company.

The following information is important in the product form:

  • Name : Secretary , Salesperson or Project Manager

  • Product Type : Service

  • Unit of Measure : Hour or Day

  • Cost Price

  • Sale Price

  • Costing Method : either Standard Price or Average Price


Price Indexation

When the Costing Method is Average Price in the Product form, you can have a button Update, beside the Cost Price field, that opens up a wizard for changing the cost price.

In summary, each company employee corresponds, in most cases, to:

  • a Partner

  • an Employee form,

  • a System User.

And each company job position corresponds to a Product.


Time Charge Rates

By default, the hourly cost of an employee is given by the standard cost of the product linked to that employee. But if you install the hr_contract module, it is possible to manage contracts differently. The hourly cost of the employee is then automatically calculated from their employment contract when they enter their timesheet data.

To do this, the software uses a factor defined in the contract type (for example, the gross monthly salary, calculated per day). Ideally, this factor should take into account the salary costs, taxes, insurances and other overheads associated with pay.

Define employee categories to assign different Holiday’s rights to different employee groups

You must create and assign employee categories for employees in order to be able to assign and manage leave and allocation requests by category. You can define employee categories from Human Resources ‣ Configuration ‣ Human Resources ‣ Employees ‣ Categories of Employee. For a new category, define its name in Category. A category may also be assigned a Parent Category.


Example of categories defined for employees

To link an employee to a category, open the employee form through Human Resources ‣ Human Resources ‣ Employees. In the Categories tab, you can assign more than one category to an employee by clicking Add and selecting a category.


Assign categories to an employee in the Employee form

Now, when you create a new leave or allocation request from the menuitems under Human Resources ‣ Holidays, if your Leave Category or Allocation Category is By Employee Category, then you must choose a pre-defined Category. The request will then be applicable to all those employees who belong to the category selected. For example, you can create an allocation request for employees belonging to the Trainee category, entitling them to fewer leaves than the rest of the employees.

Define contract types and wage types with start and end dates for contracts as well as trial periods

If you install the hr_contract module you can link contract details to the employee record. The configuration wizard to install this module is shown below.


Configuration wizard to install hr_contract

Define new contract types at Human Resources ‣ Configuration ‣ Human Resources ‣ Contract ‣ Contract Types.


Contract Types list

You may similarly define wage types at Human Resources ‣ Configuration ‣ Human Resources ‣ Contract ‣ Wage Type. Enter the following details in the form:

  • Wage Type Name : A name for the wage type.

  • Wage Period : Select a pre-defined wage period. Wage periods are defined at Human Resources ‣ Configuration ‣ Human Resources ‣ Contract ‣ Wage period.

  • Type : Either Gross or Net.

  • Factor for hour cost : Used by the timesheet system to compute the price of an hour of work based on the contract of an employee.


Wage Type form

Using Human Resources ‣ Human Resources ‣ Contracts you can create and edit contracts.


Definition of a working contract for a given employee

You can enter information about the employment contract for the employee, such as:

  • Contract Reference

  • Job Title

  • Working Schedule

  • Start Date

  • End Date

  • Wage Type : Select one from pre-defined wage types.

  • Contract Type : Select one from pre-defined contract types.

  • Trial Start Date : Start date for the contract trial period, if any.

  • Trial End Date : End date for the contract trial period, if any.

Manage attendance (Sign in / Sign out)

In some companies, staff have to sign in when they arrive at work and sign out again at the end of the day. If each employee has been linked to a system user, then they can sign into OpenERP by using the menu Human Resources ‣ Attendances ‣ Sign in / Sign out.

If an employee has forgotten to sign out on leaving, the system proposes that they sign out manually and type in the time that they left when they come in again the next day. This gives you a simple way of managing forgotten sign-outs.

Find employee attendance details from their forms in Human Resources ‣ Employees.

To get the detail of attendances from an employee's form in OpenERP, you can use the available reports:

  • Attendances By Month

  • Attendances By Week

  • Attendance Error Report

The last report highlights errors in attendance data entry. It shows you whether an employee has entered the time of entry or exit manually and the differences between the actual and expected sign out time and the sign in time.

The second report shows the attendance data for the selected month.