This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.

Project Management

In the previous chapter you learned more about the financial management of projects, based on OpenERP's analytic accounts, structured into cases. This way of working enables you to analyze time plans and budgets, to control invoicing and to manage your different contracts.

Here we will explain operational project management to organize tasks and plan the work you need to get the tasks completed. All the necessary operations are carried out from the Project menu.



In OpenERP, a project is represented by a set of tasks to be completed. Projects have a tree structure that can be divided into phases and sub-phases. This structure is very useful to organise your work.

Whereas analytic accounts look at the past activities of the company, Project Management's role is to plan the future. Even though there is a close link between the two (such as where a project has been planned and then completed through OpenERP) they are still two different concepts, each making its own contribution to a flexible workflow.

Most customer projects are represented by:

  • one or several analytic accounts in the Accounting System, to keep track of the contract and its different phases,

  • one or several projects in Project Management, to track the project and the different tasks to be completed.

There is a direct link between the project and the analytic account, because for each new project created, OpenERP will automatically create the corresponding analytic account in the Projects analytic chart of accounts. Note that you have no access to the analytic account directly from a project.

Managing Tasks

Once a project has been defined, you can enter the tasks to be executed. You have two possibilities for this:

  • click the button Tasks to the right of the project form, then click Create,

  • from the menu Project ‣ Project ‣ Tasks, create a new task and assign it to an existing project.

Each task has one of the following states:

  • Draft: the task has been entered but has not yet been validated by the person who will have to do it,

  • In Progress: you can start working on the task, hence the task is in progress,

  • Done: task is completed,

  • Cancelled: task work is no longer required,

  • Pending: task is waiting for response of someone else (e.g. customer information).

A task can be assigned to a user, who then becomes responsible for closing it. But you could also leave it unassigned so that nobody specific will be responsible: various team members instead are made jointly responsible for working on tasks they have the skills for.


Tasks in Project Management

Each user manages his or her own task using the various menus available. To open the list of unclosed tasks that have been specifically assigned to you, go to the menu Project ‣ Project ‣ Tasks. Or to open the unassigned tasks, go to Project ‣ Project ‣ Tasks and then Clearthe search and then click Unassigned Tasksfrom search filter.



Every user should create a link in their own shortcuts to the Tasks menu, because they will have to consult this menu several times a day.

The Delegation tab allows you to define links between your tasks. From Parent Tasks set the tasks that are related to this task. Use this feature to define the order in which tasks need to be accomplished, i.e. task 2 may not be executed before task 1.

Invoicing Tasks

Several methods of invoicing have already been described:

  • invoicing from a sales order,

  • invoicing on the basis of analytic costs (service times, expenses),

  • invoicing on the basis of deliveries,

  • manual invoicing.

Although invoicing tasks might appear useful, in certain situations it is best to invoice from the service or purchase orders instead. These methods of invoicing are more flexible, with various pricing levels set out in the pricelist, and different products that can be invoiced. And it is helpful to limit the number of invoicing methods in your company by extending the use of an invoicing method that you already have.

If you want to connect your Sales Order with Project tasks you should create products such as On Site Assistance and On Site Monitoring. These products should be configured with Product Type Service, a Procurement Method of Make to Order , and a Supply Method of Produce. Once you have set this up, OpenERP automatically creates a task in project management When the Quotation will be Converted to Sale Order. You can even take this further by adding a default project to your product. In the Product form, on the Information tab, enter the default project to which the automatically created task (from the sales order) should be linked.

You can also change some of the order parameters, which affects the invoice:

  • Shipping Policy : Invoice on Order After Delivery (when the task is closed),

  • Invoice On : Shipped Quantities (actual hours in the task).

Create the Sales Order using the product On Site Assistance with the above configuration and confirm it. You can find the task created from this sale order using the menu Project ‣ Project ‣ Tasks. Once you find that task, click on the specific stage e.g.:guilabel:Design. You have to manually assign the project for this task, unless you specified a default project in the Product form. When you complete the task, enter the information in the Task Work field. Then click the Done button in order to indicate to OpenERP that this task is finished. As an example, the new task SO008:On Site Assistance generated from sales order SO008 is shown in following figure.


Task created from Sales Order


You need to carefully configure the analytic account related to this project. If you use the Billing tab of the project to do this, the analytic account linked to the project will automatically get the related settings.

After finishing this task, go to the menu Project ‣ Invoicing ‣ Invoice Tasks in order to find the list of uninvoiced tasks. Click the action Create Invoice from more button, when you want to create an invoice for this task work.


Create Invoice for Tasks Work

Priority Management

Several methods can be used for ordering tasks by their respective priorities. OpenERP orders tasks based on a function of the following fields: Sequence, Priority, and Deadline.

Use the Sequence field on the second tab, Other Info, to plan a project made up of several tasks. In the case of an IT project, for example, where development tasks are done in a given order, the first task to do will be sequence number 1, then numbers 2, 3, 4 and so on. When you first open the list of project tasks, they are listed in their sequence order. You can simply drag and drop tasks to change their sequence.

You can use one of these three ordering methods, or combine several of them, depending on the project.


Gantt chart, calculated for earliest delivery

You can set the Working Time in the project file. If you do not specify anything, OpenERP assumes by default that you work 8 hours a day from Monday to Sunday. Once the time is specified you can call up a project Gantt chart from Tasks. The system then calculates a project plan for earliest delivery using task ordering and the working time.


Calendar View

OpenERP can give you a calendar view of the different tasks. This is all based on the deadline data and displays only tasks that have a deadline. You can then delete, create or modify tasks using drag and drop (only in web).


Calendar View of the System Tasks

Delegate your Tasks

To delegate a task to another user, you can just change the person Assigned to for that task. However, the system does not help you track tasks that you have delegated, such as monitoring of work done, if you do it this way.


Form for Delegating a Task to Another User

Instead, you can use the Delegate button on a task.

The system enables you to modify tasks at all levels in the chain of delegation, to add additional information. A task can therefore start as a global objective and become more detailed as it is delegated down in the hierarchy.

The second tab on the task form gives you a complete history of the chain of delegation for each task. You can find a link to the parent task there, and the different tasks that have been delegated.