In most service companies where Open ERP has been integrated, service sheets, or timesheets, have revolutionized management practices. These service sheets are produced by each employee as they work on the different cases or projects that are running. Each of these is represented by an analytic account in the system.
Throughout the day, when employees work on one project or another, they add a line to the timesheets with details of the time used on each project. At the end of the day, each employee must mark all the time worked on client or internal projects to make up the full number of hours worked in the day. If an account is not in the system then the time is added to the hours that have not been assigned for the day.
The figure Timesheet for a working day gives an example of a timesheet for an employee.
Don’t confuse timesheets and attendence compliance
The timesheet system is not intended to be a disguised attendance form. There is no control over the service times and the employee is free to encode 8 or 9 hours or more of services each day if they want.
If you decide to put such a system into place, it is important to clarify this point with your staff. The objective here isn’t to control hours, because the employees decide for themselves what they’ll be entering – but to track the tasks running and the allocation of costs between them.
To enable your system with all the features related to Timesheet, your configuration wizard should be like this.
Amongst the many uses of such a timesheet system for a company, here are some of the most important:
- enabling tracking of the true costs of a project by accounting for the time used on it,
- tracking the services provided by different employees,
- comparing the hours really used on a project with the initial planning estimates,
- automatically invoicing based on the service hours provided,
- obtaining a list of the service hours for a given client,
- knowing the costs needed to run the company, such as the marketing costs, the training costs for a new employee, and the invoicing rates for a client.
The different timesheet categories (working time sessions) can be defined in the menu Manufacturing ‣ Configuration ‣ Resources ‣ Working Period and select one of the groups there such as 38 Hours/Week.
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.
In the analytic journal will be stored all the analytic entries about the costs of service times. 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 Open ERP. 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 Project Manager
- Product Type : Service
- Unit of Measure : Hour Day
- Cost Price
- Sale Price
- Costing Method : either Standard Price or Average Price
When the Costing Method is Average Price in the Product form you can have a button beside Cost Price field that open up the wizard for changing the cost price.
In summary, each company employee corresponds, in most cases, to:
- an Employee form,
- 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, and the taxes, insurances and other overheads associated with pay.
Entering timesheet data¶
To be able to use timesheets fully, install the module hr_timesheet_sheet. Once this module has been installed and the employees configured, the different system users can enter their timesheet data in the menu Human Resources ‣ Time Tracking ‣ Working Hours, then click New.
Shortcut to timesheets
It’s a good idea if all employees who use timesheets place this menu in their shortcuts. That is because they will need to return to them several times each day.
For a new entry:
- The User : proposed by default, but you can change it if you are encoding the first timesheet for another company employee.
- The Date : automatically proposed as today’s date, but it is possible to change it if you are encoding the timesheet for a prior day.
- Analytic Account : for the project you’ve been working on - obviously it should be predefined.
- Description : a free text description of the work done in the time.
- Quantity : number of units of time (the units are defined as part of the product).
The other fields are automatically completed but can be modified: the Product which is the service product such as consultancy, the Unit of Measure (predefined, and could perhaps be minutes, hours or days), the Cost of the service (which is calculated by default), and the associated General Account.
The hours are then encoded throughout the day by each employee. It helps to revisit the list at the end of the day to verify that the number of hours of attendance in the company has been properly accounted for. The total entered is shown at the bottom right of the list of service hours.
Hiding service costs
By default, Open ERP is configured to show the cost of each service when an employee encodes the number of hours per project. You can modify this field by adding the attribute invisible=True in the timesheet view.
(And the way to do that is either to modify the view on the filesystem, or to use the web client to modify the view in the current database. For the latter, there is a pale grey [Customize] label to the bottom left of each form that gives you access to the Manage Views option. If you have sufficient permissions you can edit the XML that defines the current view.)
The value in the cost field shows employees the cost of their time used in the company, so masking this field might not always be the best option.
The accuracy of the services entered is crucial for calculating the profitability of the different jobs and the recharging of services. Different reports are therefore available for verifying employees’ data entry. Employees can verify their own timesheet using the following reports:
- Printing the particular employee’s timesheet, using the menu Human Resources ‣ Reporting ‣ Timesheet ‣ Employee Timesheet.
- Printing the more then one employees’ timesheet, using the menu Human Resources ‣ Reporting ‣ Timesheet ‣ Employees Timesheet.You can print a summary in the form of a table per user and per day.
- Reviewing profit of timesheet, using the menu Human Resources ‣ Reporting ‣ Timesheets ‣ Timesheet Profit.
- You can then use the statistical reports to analyze your services by period, by product or by account using the menu Human Resources ‣ Reporting ‣ Timesheets ‣ Timesheet Analysis and Human Resources ‣ Reporting ‣ Timesheets ‣ Timesheet Sheet Analysis.
The data making up these list view can be varied using the filters available in the upper part of the screen. If you want to see more detail, switch to the graph view.
Evaluation of service costs¶
You already know that timesheets are closely linked with analytic accounts. The different projects reported on the timesheets correspond to analytic accounts. The timesheet entries themselves are analytic entries.
These entries comprise various analytic operations that don’t correspond to any of the general accounts. Therefore all operations that modify and create timesheet lines automatically impact the corresponding analytic line and, conversely are automatically modified by changes in that line.
Timesheets and analytical data
The implementation of timesheets in Open ERP relating to analytic entries is managed by an inheritance mechanism: the timesheet object inherits the analytic entry object.
The information is therefore not encoded into the database as two separate events, which avoids many synchronization problems. They are stored in two different tables, however, because a service is an analytical entry, but an analytical entry is not necessarily a service.
This is not a classical approach but it is logical and pragmatic. Employee timesheets are a good indication of how the costs of a service enterprise are spread across different cases as reported in the analytic accounts.
An analytic account should be reflected in the general accounts, but there is no direct counterpart of these analytic accounts in the general accounts. Instead, if the hourly costs of the employees are correctly accounted for, the month’s timesheet entries should be balanced by the salary + benefits package paid out to all the employees at the end of the month.
Despite all this it is quite difficult to work out the average hourly cost of an employee precisely because it depends on:
- the extra hours that they have worked,
- holidays and sickness,
- salary variations and all the linked costs, such as social insurance charges.
The reports that enable you to relate general accounts to analytic accounts are valuable tools for improving your evaluation of different hourly costs of employees. The difference between product balances in the analytic account and in the general accounts, divided by the total number of hours worked, can then be applied to the cost of the product. Some companies adjust for that difference by carrying out another analytic operation at the end of the month in an account created for that purpose. This analytic account should have a balance that tends towards zero.
Because you’ve got a system with integrated timesheets you can then:
- track the profitability of projects in the analytic accounts,
- look at the history of timesheet entries by project and by employee,
- regularly adjust hourly costs by comparing your rates with reality,
Project Cost Control
Controlling the costs and the profitability of projects precisely is very important.
It enables you to make good estimates and to track budgets allocated to different services and their projects, such as sales and, R&D costs. You can also refine your arguments on the basis of clear facts rather than guesses if you have to renegotiate a contract with a customer following a project slippage.
The analyses of profitability by project and by employee are available from the analytic accounts. They take all of the invoices into account, and also take into account the cost of the time spent on each project.
Managing by department¶
When they are used properly, timesheets can be a good control tool for project managers and can provide awareness of costs and times.
When employee teams are important, a control system must be implemented. All employees should complete their timesheets correctly because this forms the basis of planning control, and the financial management and invoicing of projects
You will see in Deliver Quality Services that you can automatically invoice services at the end of the month based on the timesheet. But at the same time some contracts are limited to prepaid hours. These hours and their deduction from the original limit are also managed by these timesheets.
In such a situation, hours that are not coded into the timesheets represent lost money for the company. So it is important to establish effective follow-up of the services timesheets and their encoding. To set up a structure for control using timesheets you should install the module hr_timesheet_sheet.
This module supplies a new screen enabling you to manage timesheets by period. Timesheet entries are made by employees each day. At the end of the week, employees validate their week’s sheet and it is then passed to the services manager, who must approve his team’s entries. Periods are defined in the company forms, and you can set them to run monthly or weekly.
To enter timesheet data each employee uses the menu Human Resources ‣ Time Tracking ‣ My Timesheet.
In the upper part of the screen the user starts with the sign-in and sign-out times. The system enables the control of attendance day by day. The two buttons Sign in and Sign out enable the automatic completion of hours in the area to the left. These hours can be modified by employee, so it is not a true management control system.
The area to the bottom of the screen represents a sheet of the employee’s time entries for the selected day. In total, this should comprise the number of hours worked in the company each day. This provides a simple verification that the whole day’s attendance time has been coded in properly.
The second tab of the timesheet By day gives the number of hours worked on the different projects. When there is a gap between the attendance and the timesheet entries, you can use the second tab to detect the days or the entries that have not been correctly coded in.
The action Timesheet by Account shows the time worked on all the different projects. That enables you to step back to see an overview of the time an employee has worked spread over different projects.
At the end of the week or the month, the employee confirms his timesheet. If the attendance time in the company corresponds to the encoded entries, the whole timesheet is then confirmed and sent to his department manager, who is then responsible for approving it or asking for corrections.
Each manager can then look at a list of his department’s timesheets waiting for approval using the menu Human Resource ‣ Reporting ‣ Timesheet ‣ Timesheet Sheet Analysis by applying the proper filters. He then has to approve them or return them to their initial state.
To define the departmental structure, use the menu Human Resources ‣ Configuration ‣ Human Resources ‣ Departments.
At first sight, the approval of timesheets by a department manager can seem a bureaucratic hindrance. This operation is crucial for effective management, however. We have too frequently seen companies in the situation where managers are so overworked that they do not know what their employees are doing.
So this approval process supplies the manager with an outline of each employee’s work at least once a week. And this is carried out for the hours worked on all the different projects.
Once the timesheets have been approved you can then use them for cost control and for invoicing hours to clients.
Contracts and their rates, planning, and methods of invoicing are the object of the following chapter, Deliver Quality Services.