From a0f0953112a454ffbc7f8e089a9d1a3261989641 Mon Sep 17 00:00:00 2001 From: Zuzanna Luczynska Date: Thu, 13 Nov 2025 15:00:40 +0100 Subject: [PATCH] [ADD] project/milestones: using project milestones closes odoo/documentation#15258 Task-id: 3305827 Signed-off-by: Xavier Platteau (xpl) --- .../services/project/project_management.rst | 2 + .../project_management/project_dashboard.rst | 4 +- .../project_management/project_milestones.rst | 67 ++++++++++++++++++ .../project_milestones/gantt-milestones.png | Bin 0 -> 35640 bytes 4 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 content/applications/services/project/project_management/project_milestones.rst create mode 100644 content/applications/services/project/project_management/project_milestones/gantt-milestones.png diff --git a/content/applications/services/project/project_management.rst b/content/applications/services/project/project_management.rst index 2c6523e58..275dd6eb3 100644 --- a/content/applications/services/project/project_management.rst +++ b/content/applications/services/project/project_management.rst @@ -156,4 +156,6 @@ You can also create your own buttons to access more specific views: project_management/project_dashboard project_management/project_profitability + project_management/project_milestones project_management/project_templates + diff --git a/content/applications/services/project/project_management/project_dashboard.rst b/content/applications/services/project/project_management/project_dashboard.rst index 1c8edc9fa..270025c79 100644 --- a/content/applications/services/project/project_management/project_dashboard.rst +++ b/content/applications/services/project/project_management/project_dashboard.rst @@ -67,8 +67,8 @@ The following smart buttons are displayed on the top right of the project dashbo Milestones ---------- -This section is only visible if :doc:`milestones ` -have been enabled in the project you're browsing: go to :guilabel:`Project`, click the +This section is only visible if :doc:`milestones <../project_management/project_milestones>` have +been enabled in the project you're browsing: go to :guilabel:`Project`, click the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) icon on one of your projects, and click on :guilabel:`Settings`. Click on the :guilabel:`Settings` tab, look for :guilabel:`Tasks Management` and make sure :guilabel:`Milestones` is enabled. diff --git a/content/applications/services/project/project_management/project_milestones.rst b/content/applications/services/project/project_management/project_milestones.rst new file mode 100644 index 000000000..a5c99968f --- /dev/null +++ b/content/applications/services/project/project_management/project_milestones.rst @@ -0,0 +1,67 @@ +================== +Project milestones +================== + +**Milestones** enable you to track ongoing project work by designating a sequence of key steps that +must be reached before the project’s completion. Milestones are particularly useful in expensive, +long, or large-scale projects. They can be used purely for indicative purposes, as a way to ensure +that the project is completed in a timely manner. + +Milestones can also be used as a basis for :doc:`invoicing the client `. +This benefits both parties, as it ensures consistent cash flow for project funding and allows the +client to pay for the project in several installments. + +Configuration +============= + +Enable milestones for the desired project by opening the :guilabel:`Project` app, clicking the +:icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) on the project’s card, and clicking +:guilabel:`Settings`. Under :guilabel:`Tasks Management`, enable :guilabel:`Milestones`. + +.. note:: + Milestones are automatically enabled for projects created from a sales order for a service + :doc:`invoiced by milestone `. + +Configure project milestones by clicking the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) +on the project’s card and selecting :guilabel:`Milestones`. Create a milestone by clicking +:guilabel:`New`, entering the milestone's :guilabel:`Name`, selecting a :guilabel:`Deadline` if +desired, and clicking :guilabel:`Save`. + +Add or remove options by clicking the :icon:`oi-settings-adjust` :guilabel:`sliders`. The following +options are relevant when using +:doc:`invoicing based on milestones `: + + - :guilabel:`Sales Order Item`: this field is filled in automatically with the Sales Order number. + - :guilabel:`Quantity (%)`: percentage of the ordered quantity that will automatically be delivered + on the sales order once the milestone is marked as reached. + +Once milestones are configured, **you can link project tasks to milestones**. To do so, navigate to +the project you created the milestones in, then click one of the tasks to open it. Then, click the +:guilabel:`Milestone` field to open a drop-down menu. Select the desired milestone from the list. + +Once all the tasks linked to the milestone are completed (marked as +:doc:`Done or Cancelled <../tasks/task_stages_statuses>`), the milestone will be automatically +marked as :guilabel:`Reached` in the :menuselection:`Project --> Settings --> Milestones`. You can +also check the :guilabel:`Reached` box manually whenever the milestone is reached. Manual checking +of the box will not impact the tasks linked to the milestone. + +Using milestones +================ + +Odoo offers several ways to oversee the project’s milestones and their relationship to ongoing +tasks. + +In the **Gantt view**, a milestone is shown as a vertical line marked with a diamond shape, +displayed on the day of the milestone’s deadline. The line is color-coded in blue to indicate that +the milestone has not yet reached its deadline, or it has been marked as reached (in which case, a +check mark is displayed on the milestone). A milestone is color-coded in red if it has not been +reached by its deadline. + +If a milestone’s deadline falls on the same day as the project’s deadline, it is displayed with a +vertical line marked with a circle, and the same color coding principles as above apply. + +Aside from the Gantt view, you can also create, edit, and mark milestones as reached from +:ref:`the project dashboard `. + +.. image:: project_milestones/gantt-milestones.png + :alt: Project milestones in Gantt view. diff --git a/content/applications/services/project/project_management/project_milestones/gantt-milestones.png b/content/applications/services/project/project_management/project_milestones/gantt-milestones.png new file mode 100644 index 0000000000000000000000000000000000000000..bedc7824badf975ec8f767b8bef3b97961b81a29 GIT binary patch literal 35640 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