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 (for example, contract type, wages, working schedule, etc). 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 ‣ Employee Tags. 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 Tags , you can assign more than one category to an employee.


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 ‣ Leaves, if your Allocation Mode 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 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. Go to the menu Settings ‣ Configuration ‣ Human Resources.And then tick the Record contracts per employee.


Install hr_contract

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


Contract Types list

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:

  • Employee : Employee for whom you want to define a contract.

  • Job Title : Select job position.

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

  • Working Schedule: For example 45 Hours/Week.

  • Duration: Start date and end date, since the employee started working where Start date is mandatory.

  • Wage : Basic salary of the employee.

  • Trial Period Duration : Start date & End date for the contract trial period, if any.

  • Work Permit tab : Information regarding the Visa No, Visa Expire date and Work Permit No.

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 clicking on the icon at top-right.


Sign In/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 first and second report shows the attendance data for the selected month and week respectively.