[19.0] sales: undocumented removal of Optional Products tab / sale.order.option model
Nobody has claimed this yet.
- Dominant language
- reStructuredText
- Stars
- 1.3k
- Forks
- 12.1k
- PR merge metrics
- No merged PRs in 30d
Description
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)
- The
sale.order.optionmodel no longer exists. Theaddons/sale_management/modelsdirectory in the 19.0 branch contains onlysale_order.py,sale_order_line.py,sale_order_template.pyandsale_order_template_line.py(plusdigest.py,res_company.py,res_config_settings.py). There is nosale_order_option.py. - The refactor is explicit in the commit history. The commit on
addons/sale_management/models/sale_order_template_line.pyis titled "[REF] sale(_management): replace optional products with optional sections". - The replacement mechanism is confirmed in that same file: optional items are now ordinary lines carrying an
is_optionalboolean and adisplay_typeofline_section/line_subsection, and_prepare_order_line_valuespassesis_optionalstraight onto thesale.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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the v19 release notes, the Sales Optional Products documentation page, and the developer ORM changelog; use addons/sale_management/models/sale_order_template_line.py to verify the replacement terminology. Add an explicit removal and replacement note, including migration impact for sale.order.option customisations, in the relevant documentation locations.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100