Skip to Content
Odoo model

sale.order.template.line

Quotation Template Line. Defined in module sale_management; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 18 fields added, 2 removed, 0 renamed.

  1. Odoo 16 sale_management
  2. Odoo 17 sale_management
  3. Odoo 18 sale_management
  4. Odoo 19 sale_management
  5. Odoo 20 sale_management

Odoo 16 to 17

Community only All changes in this step

Fields removed (1)

FieldTypeModuleNotes
website_descriptionhtmlsale_quotation_builderIts module (sale_quotation_builder) is not in Odoo 17: removed, renamed or merged into another module.

Odoo 17 to 18

Community only All changes in this step

No change to this model's own fields in this step.

Odoo 18 to 19

Community + Enterprise All changes in this step

Fields removed (1)

FieldTypeModuleNotes
product_uom_category_idmany2onesale_management

Fields added (3)

FieldTypeModule
allowed_uom_idsmany2manysale_management
is_optionalbooleansale_management
parent_idmany2onesale_management

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields added (15)

FieldTypeModule
collapse_compositionbooleansale_management
collapse_pricesbooleansale_management
discountfloatsale_management
is_configurable_productbooleansale_management
labeltextsale_management
mandatory_productbooleansale_management
price_unitfloatsale_management
product_custom_attribute_value_idsone2manysale_management
product_no_variant_attribute_value_idsmany2manysale_management
product_template_attribute_value_idsmany2manysale_management
product_template_idmany2onesale_management
purchase_pricefloatsale_margin
section_qtyfloatsale_management
section_uom_idmany2onesale_management
tax_idsmany2manysale_management

Now also inherits product.catalog.line.mixin (fields from these parents are listed on their own pages).

All fields declared on sale.order.template.line (29)

Fields this model declares itself in any version, with the versions they exist in. Inherited fields (mail.thread and other mixins) are on the parent model's page.

present not present not covered (Enterprise, Odoo 16 and 17)

Show all 29 fields
FieldTypeLabelModule1617181920
allowed_uom_idsmany2many uom.uomsale_management
collapse_compositionbooleansale_management
collapse_pricesbooleansale_management
company_idmany2onesale_management
discountfloatDiscount (%)sale_management
display_typeselectionsale_management
is_configurable_productbooleanIs the product configurable?sale_management
is_optionalbooleanOptional Linesale_management
labeltextLabelsale_management
mandatory_productbooleanIs Product Mandatorysale_management
nametextDescriptionsale_management
parent_idmany2one sale.order.template.lineParent Section Linesale_management
price_unitfloatUnit Pricesale_management
product_custom_attribute_value_idsone2many product.attribute.custom.valueCustom Valuessale_management
product_idmany2one product.productsale_management
product_no_variant_attribute_value_idsmany2many product.template.attribute.valueExtra Valuessale_management
product_template_attribute_value_idsmany2manysale_management
product_template_idmany2one product.templateProduct Templatesale_management
product_uom_category_idmany2onesale_management
product_uom_idmany2one uom.uomUnitsale_management
product_uom_qtyfloatQuantitysale_management
purchase_pricefloatUnit Costsale_margin
recurring_invoicebooleansale_subscriptionE
sale_order_template_idmany2one sale.order.templateQuotation Template Referencesale_management
section_qtyfloatSection Quantitysale_management
section_uom_idmany2one uom.uomSection Unit of Measuresale_management
sequenceintegerSequencesale_management
tax_idsmany2many account.taxTaxessale_management
website_descriptionhtmlWebsite Descriptionsale_quotation_builder
Coverage. Odoo 16 to 17 and 17 to 18 compare Community modules only (the Enterprise 16 and 17 sources are not available to us). Odoo 18 to 19 and 19 to 20 include Community and Enterprise modules. Everything here comes from a static read of the Odoo source code: a field counts as removed only when no parent model, mixin or delegated model still provides it. Fields created dynamically at run time can be missed, and entries we could not confirm are marked as low confidence.