documentation/content/applications/services/project/advanced/so_to_task.rst
Antoine Vandevenne (anv) e3fee2cf46 [REF][MOV] documentation apocalypse
Prior to this commit, the Odoo documentation was mainly split between
two repositories: odoo/odoo/doc and odoo/documentation-user. Some bits
of documentation were also hosted elsewhere (e.g., wiki, upgrade, ...).
This was causing several problems among which:
  - The theme, config, Makefile, and similar technical resources had to
    be duplicated. This resulted in inconsistent layout, features, and
    build environments from one documentation to another.
  - Some pages did not fit either documentation as they were relevant
    for both users and developers. Some were relevant to neither of the
    two (e.g., DB management).
  - Cross-doc references had to be absolute links and they broke often.
  - Merging large image files in the developer documentation would bloat
    the odoo/odoo repository. Some contributions had to be lightened to
    avoid merging too many images (e.g., Odoo development tutorials).
  - Long-time contributors to the user documentation were chilly about
    going through the merging process of the developer documentation
    because of the runbot, mergebot, `odoo-dev` repository, etc.
  - Some contributors would look for the developer documentation in the
    `odoo/documentation-user` repository.
  - Community issues about the user documentation were submitted on the
    `odoo/odoo` repository and vice-versa.

Merging all documentations in one repository will allow us to have one
place, one theme, one work process, and one set of tools (build
environment, ...) for all of the Odoo docs.

As this is a good opportunity to revamp the layout of the documentation,
a brand new theme replaces the old one. It features a new way to
navigate the documentation, centered on the idea of always letting the
reader know what is the context (enclosing section, child pages, page
structure ...) of the page they are reading. The previous theme would
quickly confuse readers as they navigated the documentation and followed
cross-application links.

The chance is also taken to get rid of all the technical dangling parts,
performance issues, and left-overs. Except for some page-specific JS
scripts, the Odoo theme Sphinx extension is re-written from scratch
based on the latest Sphinx release to benefit from the improvements and
ease future contributions.

task-2351938
task-2352371
task-2205684
task-2352544

Closes #945
2021-05-04 15:44:00 +02:00

115 lines
4.1 KiB
ReStructuredText

======================================
How to create tasks from sales orders?
======================================
In this section, we will see the integration between Odoo's **Project
management** and **Sales** modules and more precisely how to generate tasks
from sales order lines.
In project management, a task is an activity that needs to be
accomplished within a defined period of time. For a company selling
services, the task typically represents the service that has been sold
to the customer and that needs to be delivered. This is why it is useful
to be able to generate a task from a sale order in order to streamline
the process between the Sales and Services departments.
As an example, you may sell a pack of ``50 Hours`` of support at ``$25,000``.
The price is fixed and charged initially. But you want to keep track of
the support service you did for the customer. On the sale order, the
service will trigger the creation of a task from which the consultant
will record timesheets and, if needed, reinvoice the client according to
the overtime spent on the project.
Configuration
=============
Install the required applications
---------------------------------
In order to be able to generate a task from a sale order you will need
to install the **Sales Management** and **Project** application. Simply go into
the application module and install the following:
.. image:: media/so_to_task01.png
:align: center
.. image:: media/so_to_task02.png
:align: center
And finally, the **Timesheet** app, Timesheet will not only let you create a task from a Sales order, but also invoice your customer based on the time spent on that task.
Simply go into the application module and install the following:
.. image:: media/so_to_task03.png
:align: center
Create and set up a product
===========================
You need to configure your service on the product form itself in order
to generate a task every time it will be sold. From the **Sales** module,
use the menu :menuselection:`Sales --> Products` and create a new
product with the`following setup:
- **Name**: Technical Support
- **Product Type**: Service
- **Unit of Measure**: Hours (go to :menuselection:`Configuration --> Settings`
and, under **Unit of measures**, check the **Some products may be
sold/purchased in different unit of measures (advanced)** radio
button)
- **Invoicing policy**: You can set up your invoice policy either on
ordered quantity or on delivered quantity. You can easily follow
the amount of hours that were delivered and/or invoiced to your
client.
- **Track Service**: Create a task and track hours, as your product
is a service invoiceable by hours you have to set the units of
measures of the product to hours as well.
.. image:: media/so_to_task04.png
:align: center
.. note::
Link your task to an existing project or create a new one on the fly if
the product is specific to one project. Otherwise, you can leave it
blank, odoo will then create a project per SO.
Create the Sales Order
======================
Once the product is set up, you can create a quotation or a sale order
with the related product. Once the quotation is confirmed and
transformed into a sale order, the task will be created.
.. image:: media/so_to_task05.png
:align: center
Access the task generated from the sale order
=============================================
On the Project module, your new task will appear :
- either on a related project if you have selected one in the product
form
- either on a new project with the name of related the sale order as
title (you can easily change the name of the project by clicking
on :menuselection:`More --> Settings`)
.. image:: media/so_to_task06.png
:align: center
On the task itself, you will now be able to record timesheets and to
invoice your customers based on your invoicing policy.
.. note::
On Odoo, the central document is the sales order, which means that
the source document of the task is the related sales order.
.. seealso::
* :doc:`../configuration/setup`
* :doc:`../../../sales/sales/invoicing/subscriptions`