~xrg/openobject-doc/trunk-xrg

« back to all changes in this revision

Viewing changes to source/book/4/4_11_HR/4_11_HR_timesheet.rst

  • Committer: TruongSinh Tran
  • Date: 2009-07-17 18:59:45 UTC
  • Revision ID: truongsinh@vipescoserver-20090717185945-ajjp3zso6xh5jddm
[FIX]private issue

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
.. index::
 
3
   single: timesheet
 
4
..
 
5
 
 
6
Timesheets
 
7
==========
 
8
 
 
9
In most service companies where Open ERP has been integrated, service sheets, or timesheets, have
 
10
revolutionized management practices. These service sheets are produced by each employee as they work
 
11
on the different cases or projects that are running. Each of these is represented by an analytic
 
12
account in the system.
 
13
 
 
14
Throughout the day, when employees work on one project or another, they add a line to the timesheets
 
15
with details of the time used on each project. At the end of the day, each employee must mark all
 
16
the time worked on client or internal projects to make up the full number of hours worked in the
 
17
day. If an account isn't in the system then the time is added to the hours that haven't been
 
18
assigned for the day.
 
19
 
 
20
.. _fig-servtimlis:
 
21
 
 
22
.. figure::  images/service_timesheet_list.png
 
23
   :scale: 50
 
24
   :align: center
 
25
 
 
26
   *Timesheet for a working day*
 
27
 
 
28
The figure :ref:`fig-servtimlis` gives an example of a timesheet for an employee.
 
29
 
 
30
.. index::
 
31
   pair: cost; allocation
 
32
 
 
33
.. note:: Don't confuse timesheets and attendence compliance
 
34
 
 
35
        The timesheet system isn't intended to be a disguised attendance form. There's no control over the
 
36
        service times and the employee is free to encode 8 or 9 hours or more of services each day if they
 
37
        want.
 
38
 
 
39
        If you decide to put such a system into place, it's important to clarify this point with your
 
40
        staff. The objective here isn't to control hours, because the employees decide for themselves what
 
41
        they'll be entering – but to track the tasks running and the allocation of costs between them.
 
42
 
 
43
Amongst the many uses of such a timesheet system for a company, here are some of the most important:
 
44
 
 
45
* enabling tracking of the true costs of a project by accounting for the time used on it,
 
46
 
 
47
* tracking the services provided by different employees,
 
48
 
 
49
* comparing the hours really used on a project with the initial planning estimates,
 
50
 
 
51
* automatically invoicing based on the service hours provided,
 
52
 
 
53
* obtaining a list of the service hours for a given client,
 
54
 
 
55
* knowing the costs needed to run the company, such as the marketing costs, the training costs for a
 
56
  new employee, and the invoicing rates for a client.
 
57
 
 
58
Timesheet categories
 
59
--------------------
 
60
 
 
61
The different timesheet categories (working time sessions) can be defined in the menu 
 
62
:menuselection:`Human Resources --> Configuration --> Working Time Categories` and select 
 
63
one of the groups there such as :guilabel:`38 Hours/Week`.
 
64
 
 
65
.. figure::  images/service_timesheet_def.png
 
66
   :scale: 50
 
67
   :align: center
 
68
 
 
69
   *Timesheet category for full time 38 hours per week*
 
70
 
 
71
.. index::
 
72
   single: employee; configuring
 
73
..
 
74
 
 
75
Employee configuration
 
76
----------------------
 
77
 
 
78
To be able to use the timesheets at all, you must first define those employees who are system users.
 
79
The employee definition forms contain the information necessary to use that sheet, such as the job
 
80
title, and hourly costs.
 
81
 
 
82
Two fields will be of particular interest to you for managing timesheets: the :guilabel:`Analytic
 
83
Journal` and the :guilabel:`Product`.
 
84
 
 
85
In the analytic journal will be stored all the analytic entries about the costs of service times.
 
86
These enable you to isolate the cost of service from other company costs such as the purchase of raw
 
87
materials, expenses receipts and subcontracting. You can use different journals for each employee to
 
88
separate costs by department or by function.
 
89
 
 
90
The employee is also associated with a product in your database in Open ERP. An employee is linked
 
91
with a product so they can be 'bought' (subcontracting) or 'invoiced' (project management). You have
 
92
to create a product for each job type in your company.
 
93
 
 
94
The following information is important in the product form:
 
95
 
 
96
*  :guilabel:`Name` : \ ``Secretary``\  \ ``Salesperson``\  \ ``Project Manager``\
 
97
 
 
98
*  :guilabel:`Product Type` : \ ``Service``\
 
99
 
 
100
*  :guilabel:`Unit of Measure` : \ ``Hour``\  \ ``Day``\
 
101
 
 
102
*  :guilabel:`List Price`
 
103
 
 
104
*  :guilabel:`Standard Price`
 
105
 
 
106
.. index::
 
107
   single: module; product_index
 
108
 
 
109
.. tip:: Price Indexation
 
110
 
 
111
        The module :mod:`product_index` lets you generate indexes connected to the change of purchase or sale
 
112
        price for individual products.
 
113
 
 
114
        In human resources, this module can be used to change your prices or costs in step with a national
 
115
        index.
 
116
 
 
117
In summary, each company employee corresponds, in most cases, to:
 
118
 
 
119
*  :guilabel:`Partner`
 
120
 
 
121
* an :guilabel:`Employee` form,
 
122
 
 
123
*  :guilabel:`System User`.
 
124
 
 
125
And each company job position corresponds to a :guilabel:`Product`.
 
126
 
 
127
.. index::
 
128
   single: module; hr_contract
 
129
 
 
130
.. note:: Time charge rates
 
131
 
 
132
        By default the hourly cost of an employee is given by the standard cost of the product linked to
 
133
        that employee.
 
134
        But if you install the :mod:`hr_contract` module it's possible to manage contracts differently.
 
135
        The hourly cost of the employee is then automatically calculated from their employment contract
 
136
        when they enter their timesheet data.
 
137
 
 
138
        To do this, the software uses a factor defined in the contract type
 
139
        (for example, the gross monthly salary, calculated per day).
 
140
        Ideally this factor should take into account the salary costs, and the taxes, insurances and other
 
141
        overheads associated with pay.
 
142
 
 
143
.. index::
 
144
   single: timesheet; entering data
 
145
..
 
146
 
 
147
Entering timesheet data
 
148
------------------------
 
149
 
 
150
.. index::
 
151
   single: module; hr_timesheet
 
152
 
 
153
To be able to use timesheets fully, install the module :mod:`hr_timesheet_sheet`. Once this module
 
154
has been installed and the employees configured, the different system users can enter their
 
155
timesheet data in the menu 
 
156
:menuselection:`Human Resources --> Working Hours --> My Working Hours --> My Working Hours of The Day`,
 
157
the click :guilabel:`New`.
 
158
 
 
159
.. tip:: Shortcut to timesheets
 
160
 
 
161
        It's a good idea if all employees who use timesheets place this menu in their shortcuts.
 
162
        That's because they'll need to return to them several times each day.
 
163
 
 
164
For a new entry:
 
165
 
 
166
        #.      The :guilabel:`User` : proposed by default, but you can change it if you're encoding the first timesheet
 
167
                for another company employee.
 
168
 
 
169
        #.      The :guilabel:`Date` : automatically proposed as today's date, but it's possible to change it if you're
 
170
                encoding the timesheet for a prior day.
 
171
 
 
172
        #.      :guilabel:`Analytic Account` : for the project you've been working on - obviously it should be predefined.
 
173
 
 
174
        #.      :guilabel:`Description` : a free text description of the work done in the time.
 
175
 
 
176
        #.      :guilabel:`Quantity` : number of units of time (the units are defined as part of the product).
 
177
        
 
178
The other fields are automatically completed but can be modified: the :guilabel:`Product` 
 
179
which is the service product such as consultancy, the
 
180
:guilabel:`Unit of Measure` (predefined, and could perhaps be minutes, hours or days), 
 
181
the :guilabel:`Cost` of the service (which is calculated by default), 
 
182
and the associated :guilabel:`General Account`.
 
183
 
 
184
The hours are then encoded throughout the day by each employee. It helps to revisit the list at the
 
185
end of the day to verify that the number of hours of attendance in the company has been properly
 
186
accounted for. The total entered is shown at the bottom right of the list of service hours.
 
187
 
 
188
The accuracy of the services entered is crucial for calculating the profitability of the different
 
189
jobs and the recharging of services. Different reports are therefore available for verifying
 
190
employees' data entry. Employees can verify their own timesheet using the following reports:
 
191
 
 
192
* Printing the timesheets per month, using the menu :menuselection:`Human Resources --> Reporting
 
193
  --> Timesheet --> Print my timesheet`.
 
194
 
 
195
* Reviewing all service entries using the menu :menuselection:`Human Resources --> Timesheets
 
196
  --> My Timesheets --> My timesheets to confirm`. 
 
197
  You can then use the filters to analyze your services by project, by
 
198
  period or by product.
 
199
 
 
200
.. tip:: Hiding service costs
 
201
 
 
202
        By default, Open ERP is configured to show the cost of each service when an employee encodes the
 
203
        number of hours per project.
 
204
        You can modify this field by adding the attribute invisible=True in the timesheet view.
 
205
        
 
206
        (And the way to do that is either to modify the view on the filesystem, or
 
207
        to use the web client to modify the view in the current database.
 
208
        For the latter, there's a pale grey :guilabel:`[CUSTOMIZE]` label
 
209
        to the bottom left of each form that gives you access to the 
 
210
        :guilabel:`Manage Views` option.
 
211
        If you have sufficient permissions you can edit the XML that defines the current view.)
 
212
 
 
213
        The value in the cost field shows employees the cost of their time used in the company, so masking this
 
214
        field might not always be the best option.
 
215
 
 
216
Managers can draw on different reports for managing timesheets quite easily. You can print a summary
 
217
in the form of a table per user and per day in the menu :menuselection:`Human Resources -->
 
218
Reporting --> Timesheet --> Employees timesheet`. This helps you spot when an employee has
 
219
forgotten to enter her timesheet details on a certain day.
 
220
 
 
221
.. figure::  images/service_timesheet_all.png
 
222
   :scale: 50
 
223
   :align: center
 
224
 
 
225
   *Employees' monthly summary timesheet*
 
226
 
 
227
If you install the module :mod:`report_timesheet` you'll have many more reports available.
 
228
Some new graphs become available through the menus 
 
229
:menuselection:`Human Resources --> Reporting --> This Month` and 
 
230
:menuselection:`Human Resources --> Reporting --> All Months`, for example:
 
231
 
 
232
*  :guilabel:`Timesheet by User`
 
233
 
 
234
*  :guilabel:`Timesheet by Invoice`
 
235
 
 
236
*  :guilabel:`Daily Timesheet by Account`
 
237
 
 
238
*  :guilabel:`Timesheet by Account`
 
239
 
 
240
.. figure::  images/service_timesheet_graph.png
 
241
   :scale: 50
 
242
   :align: center
 
243
 
 
244
   *Chart of timesheet by account*
 
245
 
 
246
The data making up these graphs can be varied using the filters available in the upper part of the
 
247
screen. If you want to see more detail, switch to the list view.
 
248
 
 
249
.. note:: Project dashboard when signing in
 
250
 
 
251
        The dashboard for managing projects has a graphical view that summarizes the current user's
 
252
        timesheet for the last seven days.
 
253
 
 
254
        you can assign a dashboard to users so that it appears when they sign into Open ERP.
 
255
        Then each employee will be able to see if they forgot to complete their timesheet next time
 
256
        they sign into the system.
 
257
        
 
258
        .. index::
 
259
           single: module; board_project        
 
260
 
 
261
        To use this dashboard, install the module :mod:`board_project`.
 
262
 
 
263
.. index::
 
264
   single: timesheets; evaluation
 
265
..
 
266
 
 
267
Evaluation of service costs
 
268
---------------------------
 
269
 
 
270
You already know that timesheets are closely linked with analytic accounts. The different projects
 
271
reported on the timesheets correspond to analytic accounts. The timesheet entries themselves are
 
272
analytic entries. 
 
273
 
 
274
These entries comprise various analytic operations that don't correspond to any of
 
275
the general accounts. Therefore all operations that modify and create timesheet lines automatically
 
276
impact the corresponding analytic line and, conversely are automatically modified by changes in that
 
277
line.
 
278
 
 
279
.. note:: Timesheets and analytical data
 
280
 
 
281
        The implementation of timesheets in Open ERP relating to analytic entries is managed by an
 
282
        inheritance mechanism:
 
283
        the timesheet object inherits the analytic entry object.
 
284
 
 
285
        The information is therefore not encoded into the database as two separate events, which avoids
 
286
        many synchronization problems.
 
287
        They are stored in two different tables, however, because a service is an analytical entry, but an
 
288
        analytical entry isn't necessarily a service.
 
289
 
 
290
This isn't a classical approach but it's logical and pragmatic. Employee timesheets are a good
 
291
indication of how the costs of a service enterprise are spread across different cases as reported in
 
292
the analytic accounts.
 
293
 
 
294
.. index::
 
295
   single: benefits
 
296
   
 
297
An analytic account should be reflected in the general accounts, but there's no direct counterpart
 
298
of these analytic accounts in the general accounts. Instead, if the hourly costs of the employees
 
299
are correctly accounted for, the month's timesheet entries should be balanced by the salary +
 
300
benefits package paid out to all the employees at the end of the month.
 
301
 
 
302
Despite all this it's quite difficult to work out the average hourly cost of an employee precisely
 
303
because it depends on:
 
304
 
 
305
* the extra hours that they've worked,
 
306
 
 
307
* holidays and sickness,
 
308
 
 
309
* salary variations and all the linked costs, such as social insurance charges.
 
310
 
 
311
The reports that enable you to relate general accounts to analytic accounts are valuable tools for
 
312
improving your evaluation of different hourly costs of employees. The difference between product
 
313
balances in the analytic account and in the general accounts, divided by the total number of hours
 
314
worked, can then be applied to the cost of the product. Some companies adjust for that difference by
 
315
carrying out another analytic operation at the end of the month in an account created for that
 
316
purpose. This analytic account should have a balance that tends towards zero.
 
317
 
 
318
Because you've got a system with integrated timesheets you can then:
 
319
 
 
320
* track the profitability of projects in the analytic accounts,
 
321
 
 
322
* look at the history of timesheet entries by project and by employee,
 
323
 
 
324
* regularly adjust hourly costs by comparing your rates with reality,
 
325
 
 
326
.. important:: Project Cost Control
 
327
 
 
328
        Controlling the costs and the profitability of projects precisely is very important.
 
329
 
 
330
        It enables you to make good estimates and to track budgets allocated to different services and
 
331
        their projects, such as sales and, R&D costs.
 
332
        You can also refine your arguments on the basis of clear facts rather than guesses if you have
 
333
        to renegotiate a contract with a customer following a project slippage.
 
334
 
 
335
The analyses of profitability by project and by employee are available from the analytic accounts.
 
336
They take all of the invoices into account, and also take into account the cost of the time spent on
 
337
each project.
 
338
 
 
339
.. index:: department
 
340
 
 
341
Managing by department
 
342
----------------------
 
343
 
 
344
When they're used properly, timesheets can be a good control tool for project managers and can
 
345
provide awareness of costs and times.
 
346
 
 
347
When employee teams are important, a control system must be implemented. All employees should
 
348
complete their timesheets correctly because this forms the basis of planning control, and the
 
349
financial management and invoicing of projects
 
350
 
 
351
You'll see in :ref:`ch-services` that you can automatically invoice services at the end of
 
352
the month based on the timesheet. But at the same time some contracts are limited to prepaid hours.
 
353
These hours and their deduction from the original limit are also managed by these timesheets.
 
354
 
 
355
.. index::
 
356
   single: module; hr_timesheet_sheet
 
357
 
 
358
In such a situation, hours that aren't coded into the timesheets represent lost money for the
 
359
company. So it's important to establish effective follow-up of the services timesheets and their
 
360
encoding. To set up a structure for control using timesheets you should install the module 
 
361
:mod:`hr_timesheet_sheet`.
 
362
 
 
363
.. figure::  images/timesheet_flow.png
 
364
   :scale: 50
 
365
   :align: center
 
366
 
 
367
   *Process of approving a timesheet*
 
368
 
 
369
This module supplies a new screen enabling you to manage timesheets by period. Timesheet entries are
 
370
made by employees each day. At the end of the week, employees validate their week's sheet and it's
 
371
then passed to the services manager, who must approve his team's entries. Periods are defined in the
 
372
company forms, and you can set them to run monthly or weekly.
 
373
 
 
374
To enter timesheet data each employee uses the menu :menuselection:`Human Resources --> Timesheets
 
375
--> My Timesheets --> My Current Timesheet`.
 
376
 
 
377
.. figure::  images/service_timesheet_sheet_form.png
 
378
   :scale: 50
 
379
   :align: center
 
380
 
 
381
   *Form for entering timesheet data*
 
382
 
 
383
In the upper part of the screen the user starts with the sign-in and sign-out times. The system
 
384
enables the control of attendance day by day. The two buttons Sign in and Sign out enable the
 
385
automatic completion of hours in the area to the left. These hours can be modified by employee, so
 
386
it's not a true management control system.
 
387
 
 
388
The area to the bottom of the screen represents a sheet of the employee's time entries for the
 
389
selected day. In total, this should comprise the number of hours worked in the company each day.
 
390
This provides a simple verification that the whole day's attendance time has been coded in properly.
 
391
 
 
392
The second tab of the timesheet :guilabel:`By day` gives the number of hours worked on the different
 
393
projects. When there's a gap between the attendance and the timesheet entries, you can use the
 
394
second tab to detect the days or the entries that haven't been correctly coded in.
 
395
 
 
396
.. figure::  images/timesheet_sheet_hours.png
 
397
   :scale: 50
 
398
   :align: center
 
399
 
 
400
   *Detail of hours worked by day for an employee*
 
401
 
 
402
The third tab :guilabel:`By account` shows the time worked on all the different projects. That enables you
 
403
to step back to see an overview of the time an employee has worked spread over different projects.
 
404
 
 
405
At the end of the week or the month, the employee confirms his timesheet. If the attendance time in
 
406
the company corresponds to the encoded entries, the whole timesheet is then confirmed and sent to
 
407
his department manager, who is then responsible for approving it or asking for corrections.
 
408
 
 
409
Each manager can then look at a list of his department's timesheets waiting for approval using the
 
410
menu :menuselection:`Human Resource --> Timesheets --> My Department's Timesheets --> Timesheets to
 
411
validate`. He then has to approve them or return them to their initial state.
 
412
 
 
413
To define the departmental structure, use the menu :menuselection:`Administration --> Users -->
 
414
Departments --> Departments`.
 
415
 
 
416
.. tip:: Timesheet approval
 
417
 
 
418
        At first sight, the approval of timesheets by a department manager can seem a bureaucratic
 
419
        hindrance.
 
420
        This operation is crucial for effective management, however.
 
421
        We have too frequently seen companies in the situation where managers are so overworked that they
 
422
        don't know what their employees are doing.
 
423
 
 
424
        So this approval process supplies the manager with an outline of each employee's work at least once
 
425
        a week.
 
426
        And this is carried out for the hours worked on all the different projects.
 
427
 
 
428
Once the timesheets have been approved you can then use them for cost control and for invoicing
 
429
hours to clients.
 
430
 
 
431
Contracts and their rates, planning, and methods of invoicing are the object of the following
 
432
chapter, :ref:`ch-services`.
 
433
 
 
434
 
 
435
.. Copyright © Open Object Press. All rights reserved.
 
436
 
 
437
.. You may take electronic copy of this publication and distribute it if you don't
 
438
.. change the content. You can also print a copy to be read by yourself only.
 
439
 
 
440
.. We have contracts with different publishers in different countries to sell and
 
441
.. distribute paper or electronic based versions of this book (translated or not)
 
442
.. in bookstores. This helps to distribute and promote the Open ERP product. It
 
443
.. also helps us to create incentives to pay contributors and authors using author
 
444
.. rights of these sales.
 
445
 
 
446
.. Due to this, grants to translate, modify or sell this book are strictly
 
447
.. forbidden, unless Tiny SPRL (representing Open Object Press) gives you a
 
448
.. written authorisation for this.
 
449
 
 
450
.. Many of the designations used by manufacturers and suppliers to distinguish their
 
451
.. products are claimed as trademarks. Where those designations appear in this book,
 
452
.. and Open Object Press was aware of a trademark claim, the designations have been
 
453
.. printed in initial capitals.
 
454
 
 
455
.. While every precaution has been taken in the preparation of this book, the publisher
 
456
.. and the authors assume no responsibility for errors or omissions, or for damages
 
457
.. resulting from the use of the information contained herein.
 
458
 
 
459
.. Published by Open Object Press, Grand Rosière, Belgium
 
460