Module Projects


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

مقدمة هامة

The Project Module is a core Dolibarr module. It is optional and can be activated from the module setup page.

This module hase several purposes:

  • follow lead and opportunities
  • and|or manage projects defined as a hierarchy of tasks
  • and|or track time consumed by users on these tasks.

Projects could be used for internal projects, done for your organisation or for projects to link different Dolibarr objects (like commercial proposals, customers orders, customers invoices, ...).

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 can do

  • allow to define a status of opportinity and a probabiliy if the project is a commercial lead.
  • manages projects as a hierarchy of tasks
  • allow to define internal projects (done for your organization) or 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.
  • can generate invoices from time spent.
  • allow to assign any object (invoice, order, proposal, intervention, manufacturing order...) or document or URL to projects and tasks.
  • provide a full view of the project with time planned and spend, Gant view and all documents
  • support custom fields for projects and tasks
  • provide document models for projects and tasks reports

What this module can't do

  • Does not support automated planning based on user availability.
  • Does not calculate any critical path.

Installation

This module is included with the Dolibarr distribution, so there is no need to install it.

Configuration

To use this module, you must first enable it using an administrator account, via the menu option "Home - Setup - Modules".

Choose the tab where the module is listed. Then click on "Activate".

The module is now activated.

If a cog icon appears   on module thumb or at end of the line of the module, click on it to access the setup page specific to the 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)

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
Visibility on project contact only Visibility for everybody
Status User is not a contact of project User is a contact of project User is not a contact of project User is a contact of project
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 projects (even if not contact or public) read projects & tasks

add time spent on owned tasks

Create/Modify all projects (even if not contact or public) modify close project

create modify tasks

Delete all projects (even if not contact or public) delete projects and tasks

Project Workflow

Project status follows this workflow sequence : Draft, Open, Closed.

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 if you have permission to create/edit projects and if you are contact of a project (or if projet is a public project).
  • A task is on the root of a project or under another task of the project.

  Page waiting to complete. To complete, create an account, go back and clic on "Modify".
  Page en attente d'être complété. Pour compléter, créez un compte, revenez et cliquez sur "Modifier".
  Página a completar. Para completarla, cree una cuenta, vuelva a la página y haga clic en "editar"
  Seite wartet auf Vervollständigung. Um zu helfen, erstelle ein Konto, gehe zurück und klicke auf "Bearbeiten".
  待完成,欲帮助完成,注册帐号,点击“编辑"
  ページは未完成の状態です。完成させるにはアカウントを作成し、ページに戻って「編集」をクリックして下さい。