Current version 4.4.9
Dolibarr minimum version : 3.5.6
Dolibarr latest version tested : 13.0
Author: Patrick Delcroix patrick@pmpd.eu
Note: this module is not able to do any changes to invoices; the only invoice related action possible is the creation of a draft invoice by using the Dolibarr core methods (there is no invoice related database request in the module)
Prerequisites:¶
Other module
Project module must be activated (should be automatically activated upon timesheet activation)
Project created and validated
draft project won’t be shown by default but they can be shown by changing the module configuration (see setup page part)
Project open
Timespent entry is only possible if date of the entry is between start and end date of the project; no start date mean that the project’s task will be shown until the end date; no end date means that the project’s task will be always shown after the start date
Task created and open
Timespent entry is only possible if date of the entry is between start and end date for the task. No start date mean that the task will be shown until the end date; no end date means that the task will be always shown after the start date
User assigned to the task
in order to assign a user to a task he must be first assign to the project via Project→contact Project. Then he can be assigned to the task : Task > resource assignation.
Module setup¶
The module setup can be found in the Home (top menu)>Setup (left Menu)>module
then on the timesheet line one must click on the icon at the right
Setup page
The module setup page is made of 4 tabs, the changes are not lost while changing tab so to reset the changes one must reload the page. The “Other” tab won’t be detailed in this manual as it is mostly a feedback email link.
Setup page: General Tab
This tab includes the setup that must be done after the module installation.
Setup Page: Advanced tab
This tab is to setup advanced behaviour of the timesheet such as the favourite task or the approval flows, this one can be left unchanged
Setup page: Invoice tab
This tab is to setup the default option in the invoice generation, the invoice generation is accessible from the project menu: either via the project report or via the Invoice Project Time left menu.
Entering time spent¶
Timesheet user right is required to have access to timesheet
The default page of the timesheet main menu is the user screen to log the time spent on task (can be change to the chrono page in the setup). The screenshot was taken with the favourite, approval flow & note per day and note activated
Blank/draft/saved timesheet:
This screen id shown when no timesheet where submitted for approval, if there is already time saved, the time will be on a light green background (not configurable) and the day/task that are not eligible for time spend are on a grey background (not configurable) and are not editable
Once filled in the timesheet can be save (the same layout will
be used) and modified later or submitted for approval if the approval is
set in the module configuration
the start is used to show and (un)set favourite by one click
Notes:¶
There is 3 level of notes:
User timesheet notes are per timesheet pages: might be useful for the team approver, those are the note in the bottom of the timesheet pages
Task user timesheet note are per task line and per timesheet page: might be useful for the project approver, those are the note at the beginning of a line. Once open a modal box will open.
Day notes are per day and task, those are saved in the core table: might be useful for the customer because they can be present on the attendance sheet, those are next to the time entry box
Submitted timesheet
Once submitted, only the task with time spent entered when it was “submitted “will be shown, the colour of the line background enables to have a quick idea of the timesheet status (colours can be changed in the module config page).
The timesheet will also appear in the “timesheet to approve” of his managers ( N+1 & N+2 based on Dolibarr organization chart, the manager should also have the approver right Admin>User>Rights>timesheet>Approver)
The user can recall his timesheet to make change until the timesheet is approved
When the timesheet is under approval (eg. project approval activated), the user can no longer recall it but the layout & colour will remain the same.
Timesheet approved
Once the timesheet is approved, the user can’t recall it anymore but he can still see what was approved (colours can be changed in the module config page). If for some reason the timesheet should be modified then it should be set back to draft via the timesheet admin view
Timesheet rejected
The timesheet appears redetected (editable) only when the team
leader will have rejected the timesheet, when a timesheet is challenged
in the approval flow, it is sent back to the previous approval until the
team leader rejected it (cf. challenged timesheet)
Timesheet challenged
During the approval flow a task of a timesheet could be
challenged (eg. by the project lead) but the timesheet won’t be rejected
directly, the decision remains on the team leader hand, the timesheet
will appear again in the “timesheet to approved” and he could contact
the project leader for more details.
Chronos page¶
This page needs a special right attendance/chrono user right
This page aims to enable user to launch chrono to the task on which they are currently working.
the chrono could be started by clicking on the arrow next to the task
Then the task details will be shown on the chrono
The chrono can be stop by clicking on the square next to the chrono or next to the task, starting the chrono for another task will automatically stop the running chrono for the user.
Once the chrono is stop the task and the time are added on the timespent for the day and task
Attendance sheets¶
From the project report, attendances sheets can be generated (only after the report is launch on a specific project and for a specific month and year.)
Timesheet approval admin access¶
To be able to modify the status of the timesheet, an admin page is available (see the users rights screenshots in the Approval section), even if all fields are editable it’s not recommended to change anything beside the status and/or note (a task-time need to be in the correct week for the correct user to be taken into account in all the other screens)
Timesheet approval admin list
Timesheet Attendance admin access¶
This screen can be used to correct a checkout time or to add a missing start or stop
Favourite¶
The favourite (white list & black list) enable a filtering the task list on the timesheet page so one can remove project/task from the default list
The behaviour can be set in the setup page: favourite, all but favourite or all by default
Additionally, there is an option for the deactivation of this feature.
Favourite list
This view show the current favourite list, one can remove easily items if not needed anymore.
New favourite item
Add one item to the favourite list by setting those parameters:
User: user to whom the item will be applied, Admin can choose it but the normal user can only set favourite list for themselves
Project / Task / subtask: define the target of the favourite list item, only project is mandatory; to apply the item to a specific task and its subtask is optional;
Start Date/ End date: define the timesheet timespan when the item should be taken into account. No date means no time limits
Approval:¶
There is two types of approvals; the team approval and the “other” approval, the difference is that the team approval shows all the tasks for a week and for one user when the other approval shows only the task that concern the approver ( ie. a project leader should only see the time spent on his projects not on the others.)
The timesheet module approval feature takes the assumption that the team leader is the responsible for the team resources management therefore only the team manager can send back the timesheet to the user.
In order to have access to approve his subordinate’s timesheets one should have the timesheet approver rights
Timesheets rights
ApprovalAdmin can access approvals and favourites for all.
ExportRead enable the access to all files (pdf) generated by the module
TeamApprover enable the user to approve the timesheet of his subordinates.
AttendanceUser has access to the attendance page
AttendanceAdmin has access to attendance admin page
Timesheet approval: team leader
The team approval screen can show the timesheet grouped per user, per week or per user/month, the maximum number of timesheets shown per page can be set in the module setup page.
Eg: timesheet per month.
Timesheet approval: other
The other approvals are showed by week, the number of item to
approve is indicated by the ‘#’ in the drop down list.
The approval is done by line by clicking on the
Note section will appear when the user will click on the icon in the note column, when a note is saved it will appear as an info as shown in the screenshot.
User report
A limited report by user is available by month (in timesheet main tab), several layouts are possible, if both short and export friendly are chosen then the export friendly will be shown.
Note: the search ribbon appears in every layout but only the normal layout screenshot shows it.
User report: Normal layout:
User report: Export friendly layout
User report: Short layout
Project report¶
A limited report by project is available by month (in project main tab), several layouts are possible like for user reports, once the report is generated,
A button appears to start the invoice creation based on this report.
A button appears to generate the attendances sheet related to the report generated.
Note: the search ribbon appears in every layout but only the normal layout screenshot shows it.
The “Only invoiceable task” option will take only the task that are defined as invoiceable in the task card.
Project report: Normal layout
Project report: Export friendly layout
Project report: Short layout
Project Invoice¶
This module enables the creation of an invoice based on the time spent. The time spent can be grouped by user, by task or by user and task to convert the sum of the time spent in quantity of existing services, or one-time services (only for the invoice, not saved) or to not be invoiced.
Prerequisite: the user making the invoice must be part of the project, have right to make invoice and able to see the customer to bill.
In order to achieve it, there is two steps before the draft invoice creation.
First invoice step: the general project’s invoice parameters
in this screen, the project, the dates, the customer, the
grouping method, invoiceable task need to be defined, if one comes from
the report the same value should be checked.
Second Invoice step: assignation of service to each time spent group
This screen will define what will be shown in the invoice.
The “Existing” field
Services defined in Product/service menu could be used. This field is a search box, just typing text in it will fetch services with a name close to the text entered. the service consumption will be updated correctly as for a normal invoice where an existing service is used. This field can have a default value, this value can come from different places:
If there is a default service defined on the task card, this one will be used
if not and If there is a default service defined on the user card, this one will be used
if not and If there is a default service defined on the module setup, this one will be used
the “New” fields
If something is entered in those fields then an ad-hoc service will be used with the price & VAT specified in the different columns.
The two last columns are used the generate the quantity of
the service that will be invoiced. The duration of the time spent on
task are shown in the column “Saved duration” and it will be converted
base on quantity based on the Quantity per unit column. If day is
selected, the calculation will use the hours per day set in the module
setup page. The quantity is editable
Example:
196 hours, with 1 day (8 h) as Quantity per unit will make a quantity of 196/(1*8)= 24,5.
in the Latest Dolibarr, once the invoice is created the time spend will be linked to the invoice and invoice line (information not used today)
Permisisons¶
there is 10 permisisons grouped by area
Timesheet¶
user :
enable time entry on timesheet and subordinate timesheet if “add for other” is activated.
enable access to user favourites.
admin :
enable time entry on any user timesheet.
enable access to all user favourites.
Chrono¶
user:
enable time entry on user chrono.
enable access to user favourites.
admin:
enable time entry on any user chrono.
enable access to all user favourites.
Approval¶
team:
enable the user to acces the approval page for its subordinates
project:
enable the user to access project approaval page fro the project where he has a LEADER role
admin:
access all approval pages for all users
reports¶
user:
enable access to user report, the user available are the subordinate or all if admin, chrono admin or timesheet admin rodolphe
project:
enable project report, list of project depend on project where the user is BILLING or LEADER. The admin and users with the right to access and modify all project will have access to all project
admin:
enable reports for all project and users.
Holiday¶
based on the setup the timesheet page will (there is settigns for holiday and public holiday):
show the paid and public holiday above the timesheet entry boxes
add day duration (in seetings) on the total for a day
block time entry on full holiday day (am and pm)