Module Projects

From Dolibarr Open Source ERP CRM Wiki

Return to user
documentation index

File Doc user.png

Return to
list of modules index

Art.png

Project
Numero/ID of module 400
User doc. of module This page
Developer doc. of module Module Projects (developer)

Contents

Introduction

The Project Module is a core Dolibarr module. It is optional and part of the Projects/Collaborative work group in module list.

The main purpose of the module is to manage projects defined as a hierarchy of tasks and to track time consumed by users on these tasks. Projects could be used for internal projects, done for your organisation or for projects linked to Dolibarr entities (like commercial proposals, customers orders or customers invoices).

Current documentation applies to 4.0.4 Dolibarr release.

Important notice regarding definitions

The term Tasks is often confused with terms like "Events", "Action", "Journal".

Before you read this documentation, it is important to know the meanings of each terms which have been defined and normalized by the norm RFC2445.

If you are not familiar with these, read this summary page : Events-Todo-Journal.

What this module does

  • Manage project as a hierarchy of tasks.
  • Allow to define internal projects (done for your organization).
  • Allow to define external projects (done by your organization for a client).
  • Allow to allocate internal or external users on tasks.
  • Allow to share projects across users, providing to each assigned user the proper view of tasks and projects.
  • Allow to track time spend on task per working slot and user.
  • Allow to assign any element or document (invoice, order, proposal, intervention, ...) or URL to project and tasks.
  • Provide a full view of the project with time planned and spend, Gant view and all documents.
  • Support extra fields for projects and task.
  • Provide document models for projects and tasks reports.

What this module does not

  • Does not support automated planning based on user availability.
  • Does not calculate any critical path.
  • Does not support allocating resources other than users on tasks.

Installation

This module is provided with standard Dolibarr distribution, so there is no need to install it.

Configuration

To use this module, you must first enable it. For this, with an administrator account, go on page "Home - Setup - Modules".

Choose the tab where the module stand. Then click on "Activate".

The module is now activated.

If an icon appears at end of module line, click on it to access the setup page, specific to this module.

Below are the options available to configure this module.

Set-up options

Projects > Parameters

Use projects to follow leads/opportunities
If selected you could associate the project to a third party and follow the status of the proposal. This is required to manage external project.
Use projects to follow tasks and time
You need to select this option if you want to enter the detailed tasks of the projects and eventually follow time spend (this is not mandatory even if the option is selected). If not selected the module just allow to follow business opportunities (i.e. sales projects status).

Projects > Projects numbering module

Projects are numbered automatically using a simple model. You could change this model and define your own number template using the universal engine.

Projects > Tasks numbering module

Tasks are numbered automatically using a simple model. You could change this model and define your own number template using the universal engine. The task numbering model is independent from the project one.

Projects > Project reports document model

You could select a template for linked objects overview and a report template for project tasks. It is also possible to generate documents from OpenDocuments templates, a simple one is provided.

Projects > Task reports document model

It is possible to generate documents from OpenDocuments templates, a simple one is provided.

Projects > Other Parameters

Use auto-completion fields to choose project (instead of using a list box)
This could be very useful if you track a large volume of opportunities as projects.
On document of a third-party, can choose a project linked to another third-party
By default only document of the third party attached to the project could be linked to the project, however you may have a sub-contractor that will provide documents related to the project. In this case you need the option activated.

Complementary attributes (project)

Use this tab to define extra fields that will be available in the project card.

Complementary attributes (task)

Use this tab to define extra fields that will be available in the task card.

Dictionaries

The module comes with the the "Opportunity status for project/lead" dictionary.

This dictionary is used when the module is used to follow leads/opportunities. It contains the probability to sign the opportunities.

Go to the Setup menu and select Dictionaries to customize the list of values to qualify your opportunities.

The module also use the "Contact/Address types" dictionary, and populate it by default to associate a contact or a user allocated to a project or a task.

Permissions

  1. Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
  2. Create/modify projects (shared project and projects i'm contact for)
  3. Delete projects (shared project and projects i'm contact for)
  4. Export projects
  5. Read all projects and tasks (also private projects i am not contact for)
  6. Create/modify all projects and tasks (also private projects i am not contact for)
  7. Delete all projects and tasks (also private projects i am not contact for)


By default 1 is the default permission.

Go to the Setup menu and select Security if you need to add some.

Usage

The module is available from the Projects icon available in Dolibarr top menu.

Note that the left menu display two sets of options :

  1. to access your own projects and tasks. These are projects and task you have been assigned to.
  2. to access shared projects and tasks. These are projects and task readable by you (even if you are not assigned to). Depending on your permission, access to this view may be restricted.

Entities and Business rules

Project entity

This is the root object added by the module.

Properties

Property Description Note / Values
Reference Generated automatically by a template. It is unique. See Set-up Options to customize the template.
Label The full name of the project.
Visibility This property define the users permissions.
  • Project Contacts, the project is only available to users associated.
  • Everybody, the project is shared (public).
Status Current status of the project, updated by the project workflow.
  • Draft
  • Open
  • Closed
Start date Starting date for the project Could be any valid date in past or future. Note that no control is made between start and end date.
End date Ending date for the project Could be any valid date in past or future. Note that no control is made between start and end date.
Opportunity status Value selected from the "Opportunity status for project/lead" dictionary. Only displayed when "Use projects to follow leads/opportunities" option is set-up.
Opportunity probability The percentage associated to the Opportunity status, could be updated manually. Only displayed when "Use projects to follow leads/opportunities" option is set-up.
Opportunity amount Amount of the opportunity in default currency. Only displayed when "Use projects to follow leads/opportunities" option is set-up.
Budget Amount of the budget required for the project in default currency (if any).
Description A text to describe your project.
Public Notes A text area (html) to store public notes on the project.
Private Notes A text area (html) to store private notes on the project.

Links

Entity linked Description Notes
Users You could allocate multiple users to a project, specifying a role. Two roles are defined by default, but you could extend it if needed. There is no limitation to number of users linked, even with the same role.
Contacts You could allocate multiple contacts - from different third parties - to a project, specifying a role. Two roles are defined by default, but you could extend it if needed There is no limitation to number of contacts linked, even with the same role. Contact and User roles could be different if needed.
Documents You could upload multiple document files and link them to a project. Document could also be generated using templates, see Set-up Options to activate the templates.
URL You could attach multiple URL links to a project.
Commercial proposal You could attach multiple proposals to a project. You could create the proposal from the project overview tab.
Customer order You could attach multiple customer orders to a project. You could create the order from the project overview tab.
Customer invoice You could attach multiple customer invoices to a project. You could create the invoice from the project overview tab.
Customer template invoice You could attach multiple template customer invoices to a project. You could create the invoice from the project overview tab.
Supplier order You could attach multiple supplier orders to a project. You could create the order from the project overview tab.
Supplier invoice You could attach multiple supplier invoices to a project. You could create the invoice from the project overview tab.
Contract You could attach multiple contracts to a project. You could create the contract from the project overview tab.
Expense report You could attach multiple expense report to a project. You could create the invoice from the project overview tab.
Event You could attach multiple events to a project. You could create the event from the project overview tab. The Agenda module should be activated.
Task You could attach multiple tasks to a project. See below the tasks properties. The option to manage tasks in a project should be properly activated, see Set-up Options

Task entity

This is the child entity of the project entity. It is possible to create a hierarchy of tasks, the project being the root of the tree.

Properties

Property Description Note / Values
Reference Generated automatically by a template. It is unique. See Set-up Options to customize the template.
Label The full name of the task.
Child of project/task By default the current project but could be changed to an other project task to create a tasks hierarchy.
Assigned to The user responsible of the task. By default the task creator.
Start date Starting date for the task Could be any valid date in past or future. Note that no control is made between start and end date neither with project dates.
End date Ending date for the task Could be any valid date in past or future. Note that no control is made between start and end date neither with project dates.
Planned workload Planned workload to complete the task in hours and minutes.
Declared progress A percentage to be updated manually. Could also be updated when capturing time spend on task.
Description A text to describe your task.
Public Notes A text area (html) to store public notes on the task.
Private Notes A text area (html) to store private notes on the task.

Links

Entity linked Description Notes
Users You could allocate multiple users to a task, specifying a role. Two roles are defined by default, but you could extend it if needed. There is no limitation to number of users linked, even with the same role.
Contacts You could allocate multiple contacts - from different third parties - to a task, specifying a role. Two roles are defined by default, but you could extend it if needed There is no limitation to number of contacts linked, even with the same role. Contact and User roles could be different if needed.
Documents You could upload multiple document files and link them to a project. Document could also be generated using ODT templates, see Set-up Options to activate the templates.
URL You could attach multiple URL links to a project.
Time spent You could attach multiple time spent slot to a task. See the entity attributes below for more details.
Task You could attach multiple tasks to a task by using it as a parent task.

Time spent record

These records allows to capture the time spent by a user on a task at a given time.

The time spent could be entered from different points:

  • using the tab dedicated in the task form
  • using the "New time spent" option in the module left menu.

In both cases you could enter time spend by day, but the menu option allows also to enter time spend by week. In this case you could only enter one time slot by day.

Properties

Property Description Note / Values
Start Date and Time Define when the time has been spent. Time is not available when you enter the data by weeks.
Duration Hours and minutes spent on the task. This is mandatory to create a record
Note A small text to comment what was done or how time was spent. Note is not available when you enter the data by weeks.
Done by The user who has spent time on the task. The user should be assigned to the task to enter a time spent record

Links

Entity linked Description Notes
Users One and only one user is linked to a time spent record The user should be linked to the task, to create the record.
Task One and only one task is linked to a time spent record

Project visibility and user actions

This module allow to share projects and task across users. Each user could interact based on :

  • Permissions allowed
  • Project visibility
  • Assignment to project

The following table summarizes actions available based on these factors.

User Project
Not Shared Shared
Status not a project user is a project user not a project user is a project user
Permission Read Project hidden read project & tasks

add time spent on owned tasks

Project hidden read project & tasks

add time spent on tasks

Create/Modify modify close project

create modify tasks

modify close project

create modify tasks

Delete delete projects & tasks delete projects & tasks
Read All

(require Read*)

read projects & tasks

add time spent on owned tasks

Create/Modify All

(require Create/Modify*)

modify close project

create modify tasks

Delete All

(require Delete*)

delete projects and tasks
  • the All permissions work only when the standard corresponding permission is given, else an error message will be displayed when attempting the action.

Project Workflow

Project status follows this workflow sequence : draft, open , closed.


Previously , the page was providing the following informations regarding actions :
See file File:Project.odg that describe different conditions to realize different actions of module.
Project right access.png
== Create a project ==
Creation of a new project is done from menu "New project" on main menu "Project"
Public projects (and all tasks) can be read/edited by anybody with read project permissions.
Private project (and all tasks) can be read/edited only by users defined as contact/actors of project + the creator of project (if all contacts are removed, we must keep at least one user authorized on project. This is the creator).
== Create a task ==
Creation of a task is done from button "Create Task" on the tab "Task" of a project or from menu "Projects -> New task".
* A task can be created on all shared projects or on a project you are a contact for.
* A task is on the root of a project or under another task of the project.
However this information needs to be double checked and completed using the table above.

En verysmall.png Page waiting to complete. To complete, create an account, go back and clic on "Modify".
Fr verysmall.png Page en attente d'être complété. Pour compléter, créez un compte, revenez et cliquez sur "Modifier".
Es verysmall.png Página a completar. Para completarla, cree una cuenta, vuelva a la página y haga clic en "editar"

Examples of use cases

En verysmall.png Page waiting to complete. To complete, create an account, go back and clic on "Modify".
Fr verysmall.png Page en attente d'être complété. Pour compléter, créez un compte, revenez et cliquez sur "Modifier".
Es verysmall.png Página a completar. Para completarla, cree una cuenta, vuelva a la página y haga clic en "editar"

UCMP01:
Situation
Actions
 
Personal tools
  • Ask to contact@dolibarr.org to request an account to contribute to this documentation
  • Log in
In other languages
FrenchSpanishDeutschItalian
No translation in Italian.
Greek
No translation in Greek.
<multilanguagemanager_cn>
No translation in &lt;multilanguagemanager_cn&gt;.

Social networks
Follow us on Google+ Follow us on Facebook Follow us on LinkedIn Follow us on Twitter