This module extends the functionality of sales orders to allow to set an elaboration on lines that will add an extra order line with an elaboration product linked to it when the delivery order is validated.
An elaboration is a process that needs to be done over the product, usually on picking/handling phase. It doesn't modify too much the product for needing an specific product, but it adds a surcharge on the final price.
If the elaboration has a defined route, selecting the elaboration, it is set on the order line, which will result in the generation of multiple delivery notes depending on the established route.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets you attach elaborations (extra handling or service work) to sales order lines, automatically adding a surcharge line when the delivery is validated.
This module adds the concept of an "elaboration" to sales: an extra process or service applied to a product, such as assembly or finishing, that carries a surcharge and can follow its own stock route.
Where it appears in Odoo: - Under Sales > Configuration > Elaborations you can create elaborations and elaboration profiles (groups of elaborations). - On a product or product category you can set a default elaboration profile. - On a sales order line you get an Elaborations section where you pick elaborations and write a note; the elaboration price is shown. - A report menu "Elaborations Report" is available under Sales reporting and Warehouse reporting.
Business rules and automatic behaviour: - The elaborations offered on a line are limited to the profile coming from the product, or from its category if the product has none. - Selecting elaborations fills the note automatically with their names (unless disabled by a system setting). - The elaboration price is computed from the order's pricelist. - If an elaboration defines a route, that route is set on the order line, which can generate several delivery orders. - When an outgoing delivery is validated, an extra sales order line is created (or its quantity increased) for each elaboration product, using the delivered quantity. - If a done delivery quantity is changed, the linked elaboration line quantity is adjusted. - Elaborations and notes are copied onto the stock moves and shown on delivery slips and picking operations reports if the corresponding settings are enabled.
Depends on
Required by other modules
Menus it adds
Models and fields (13)
- sale.order · extends an existing model
- stock.move · new modelsale_id, order_date, salesman_id, sequence_code
- stock.rule · extends an existing model
- stock.picking · extends an existing model
- product.product · extends an existing modelelaboration_profile_id
- sale.order.line · new modelroute_id, date_order (Date), elaboration_price_unit (Elab. Price), elaboration_profile_id
- stock.move.line · extends an existing modelelaboration_ids, elaboration_note
- product.category · extends an existing modelelaboration_profile_id (Elaboration Profile)
- product.template · extends an existing modelis_elaboration, elaboration_profile_id
- product.elaboration · new modelcode (Short Code), name, active, route_ids (Routes), product_id (Product), profile_ids
- res.config.settings · extends an existing modelgroup_elaboration_note_on_delivery_slip (Display Elaboration notes on Delivery Slips), group_elaboration_note_on_picking_operations (Display Elaboration notes on Picking Operations)
- product.elaboration.mixin · new modelis_elaboration, elaboration_ids (Elaborations), elaboration_note
- product.elaboration.profile · new modelcode (Short Code), name, active, elaboration_ids (Elaborations)
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 19.0
Confirmed on 2026-11-03 in branch 19.0 of OCA/sale-workflow.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0To configure this module you need to:
- Go to Sale \> Configuration \> Elaborations \> Sale Elaboration.
- Create a new record.
- Set a product linked to the elaboration.
- If you use Multi-Step Routes, you can also select a route to procure this elaboration.
- Go to Settings \> Inventory \> Traceability and select Display Elaboration notes on Delivery Slips if you want to show elaborations on Delivery Slips or Display Elaboration notes on Picking Operations if you want to show elaborations on Picking Operations.
You can define elaboration profiles to limit the elaborations that can be selected for each product.
If you want to prevent the elaboration note from being filled automatically from the selected elaborations, set the system parameter sale_elaboration.auto_notes to a falsey value in Settings > Technical > Parameters > System Parameters.
To set the profile globally for a product category:
- Go to Inventory > Configuration > Product Categories and choose one.
- In the Logistics sections, you can set the desired Elaboration profile.
If you want to set an specific elaboration profile for a product:
- Go to Sale \> Configuration \> Elaborations \> Sale Elaboration Profile.
- Create a new record.
- Select the elaborations included to the profile.
- Set the elaboration to the related products.
Usage
Source · Odoo 19.0- Go to Sale \> Quotations.
- Create a sales order.
- Add a new line.
- Select an elaboration in the line. If the product has an elaboration profile selected, you will just be able to select the elaborations set on the profile.
- Confirm the sales order.
- Go to the picking created by this sales order and validate it.
- Print Delivery Slip and Picking Operations.
- Go back to the sales order. A new line is created with the product linked to the elaboration.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.