Skip to content

[19.0] sales: undocumented removal of Optional Products tab / sale.order.option model #18890

Description

@D3-Kieran

Summary

The v19 release notes and Sales documentation describe the new optional sections mechanism, but nowhere state that the previous Optional Products tab and its underlying sale.order.option model were removed. This is a breaking change for anyone upgrading from v18 who relied on that tab or built customisations against sale.order.option, and it is not discoverable from the published changelog.

Evidence of removal (19.0 branch)

  1. The sale.order.option model no longer exists. The addons/sale_management/models directory in the 19.0 branch contains only sale_order.py, sale_order_line.py, sale_order_template.py and sale_order_template_line.py (plus digest.py, res_company.py, res_config_settings.py). There is no sale_order_option.py.
  2. The refactor is explicit in the commit history. The commit on addons/sale_management/models/sale_order_template_line.py is titled "[REF] sale(_management): replace optional products with optional sections".
  3. The replacement mechanism is confirmed in that same file: optional items are now ordinary lines carrying an is_optional boolean and a display_type of line_section / line_subsection, and _prepare_order_line_values passes is_optional straight onto the sale.order.line.

Documentation gaps confirmed (as at 10 July 2026)

  • Not stated in the official v19 release notes; the Sales section describes only the new sections feature as an addition.
  • Not listed in the developer ORM changelog, where breaking model changes and deprecations are normally recorded.
  • The Optional Products documentation page was rewritten to the new section-based behaviour with no deprecation notice, no "changed in v19" callout, and no migration guidance.

Why this is a breaking change, not a documented enhancement

A function was removed (sale.order.option and the sale_order_option_ids relation) and a different one substituted that does not behave the same way. Optional items now render before the grand total with a quantity of 0 rather than as a clean options list after the total, which is harder for customers to read. Any v18 customisation referencing sale.order.option breaks silently on upgrade, with no changelog entry pointing to the cause.

Request

Add an explicit note to the v19 release notes and the Sales documentation stating that the Optional Products tab and the sale.order.option model have been removed and replaced by optional sections, so the change is discoverable during upgrade planning and migration scoping.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions