OdooWiki OCA HUB

Sale Sub State

sale_substate folder_open OCA/sale-workflow open_in_new
Tools License: AGPL-3

This module allows to add a substate to sale order. For each sale order state you can define a substate. With this module substates can be defined allowing to extend the sales workflow. For example, you can add substate "waiting for legal documents" if the order cannot be validated without this document (sell a car for example).

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds a secondary status (substate) to quotations and sales orders, so you can track finer steps like "Waiting for legal documents" or "In delivering" on top of the standard Quotation/Sale status.

This module lets you define extra statuses, called substates, for quotations and sales orders. Each substate is attached to one of the standard order statuses, so you can only pick substates that match the current stage of the order.

Where it appears: - On the sales order form, a new status bar is shown under the main buttons, where you can click to change the substate. - In the quotations and orders lists, a new column shows the substate. - In the sales search filters, you can filter by substate and group orders by substate.

Business rules and automatic behaviour: - A substate type for sales orders is created automatically, linked to the order status field. - Two target statuses are preconfigured: Quotation and Sale. - Demo data provides example substates such as In negotiation, Won, Lost, Waiting for legal documents, To validate legal documents, In delivering and Delivered. - Two email templates are included: one asking the customer for legal documents, and one telling the customer the order is being prepared for delivery. These can be linked to a substate so the email is sent when that substate is set.

It touches the sales order model (sale.order) and the substate configuration model (base.substate.type).

Depends on

base_substatesale_management
Models and fields (2)
  • sale.order · new model
  • base.substate.type · extends an existing modelmodel

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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 7 confirmed, 2 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/sale-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0
  • Go to Settings \> Technical \> Sub State Configuration and Add "Base Substate". If necessary you can add "Target State values" (ex define a substate for "cancel" state). Substate sequence is very important.
  • Create a sale order and check if the substate are displayed on the header of form view. Check if you can't set substate defined for sale if sate is a quotation.

No verified information in OCA: Installation, Configuration.

info

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.