Module Jalon EN
Table of Contents
Information
| Module name | Milestone/Jalon |
| Editor / Editeur | - http://www.atoo-net.com
|
| Download or buy page / Page achat ou téléchargement | External module - www.dolistore.com |
| Status / Statut / Estado | Stable |
| Prerequisites / Prérequis |
Dolibarr min version: See on Dolistore Dolibarr max version: See on Dolistore |
| Last update date / Date mise à jour fiche / Fecha última actualización | 2026-04-19 |
| Note / Nota | ⬆ Back to top |
Features
This module allows you to associate/group products/services under a milestone and display the subtotal. It is possible to add comment lines without details (tax, price, etc.), as well as force page breaks in commercial documents.
The module is compatible with the following document types:
- Commercial proposals - Customer orders - Customer invoices - Supplier orders - Supplier invoices
Compatible with the Multi-Company module.
Main features:
- Line grouping: associate products/services with a milestone to group them visually and manage them as a block. - Automatic subtotal: display the total amount per milestone on the document and in the PDF. - Comment lines: add text lines without amount or VAT. - Forced page break: insert a page break at any desired position in the PDF. - Move a line into a milestone: attach an existing line to a milestone after the fact, using a dropdown menu. - Block cloning: duplicate a milestone and all its child lines in a single click. - Block deletion with options:
- Option 1 — Delete the milestone and all its lines.
- Option 2 — Delete the milestone only and detach its lines (they remain on the document).
- Option 3 — Delete the milestone and migrate its lines to another existing milestone.
- Milestone dictionary: save reusable milestones from the configuration page.
Prerequisites
Dolibarr 20.0.0 - 23.0.0
⚙️ Installation
⚙️ Manual installation
- Download the module archive file (.zip).
- Place the file in the Dolibarr root directory.
- Extract the zip file with the following command:
unzip module_milestone-X.0.0.zip
- Verify that the correct module location is:
htdocs/custom/milestone
- The module is now available and can be enabled from Dolibarr.
---
⚙️ Installation via the Dolibarr interface
You can also deploy and install the module directly from the Dolibarr interface:
- Go to the Setup > Modules/Applications menu.
- Open the Deploy/Install an external module tab.
- Click Choose a file and select the module .zip file.
- Click Send File to start the installation.
- Enable the module once the installation is complete.
✅ The module is now operational and ready to use! ⬆ Back to top
Configuration
To use this module, you must first enable it. To do so, log in with an administrator account and go to "Home - Setup - Modules". The module appears under "Add-on modules/Cross-module tools". Click "Enable". A settings icon appears at the end of the module row — click it to access the module-specific configuration page.
The module is then ready to use.
Module configuration
Module-specific configuration page:
The configuration page contains one tab:
- Options tab
The following options are available:
- Hide by default the detail of products/services associated with milestones. - Hide by default the description of products/services associated with milestones. - Hide by default the amount of milestones. - Set the background color of milestones.
You can save milestones you wish to reuse in a dictionary.
Usage
Easy to get started — just a few clicks.
Compatibility and Synergies
Milestone is compatible with:
- The MultiCompany module - The UltimatePdf module - Commercial proposals (propal) - Customer orders (order) - Customer invoices (invoice) - Supplier orders (order_supplier) — support added in v23 - Supplier invoices (invoice_supplier) — support added in v23
Technical Notes
Supplier document specifics
The Dolibarr ORM classes for supplier documents (CommandeFournisseur, FactureFournisseur) have limitations compared to their customer counterparts:
- Thefetch_lines()method ofCommandeFournisseurdoes not map thelabelfield onto line objects. The module works around this behaviour with direct SQL queries whenever the label is empty. - Theupdateline()andaddline()methods of these classes do not handle thefk_parent_lineparameter. Any write to this field (attaching to a milestone, cloning, deletion) is performed via a directSQL UPDATEon the corresponding line table.
These workarounds are encapsulated within the module and are fully transparent to the end user.
Development
Milestone is tracked on the Framasoft Git repository: https://git.framasoft.org/inodbox/milestone
