Skip to Content
Odoo model

product.pricelist.item

Pricelist Rule. Defined in module product; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 9 fields added, 3 removed, 1 renamed.

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

Odoo 16 to 17

Community only All changes in this step

Fields removed (1)

FieldTypeModuleNotes
activebooleanproduct

Odoo 17 to 18

Community only All changes in this step

Fields added (4)

FieldTypeModule
display_applied_onselectionproduct
price_markupfloatproduct
product_uomcharproduct
product_variant_countintegerproduct

Now also inherits pos.load.mixin (fields from these parents are listed on their own pages).

Odoo 18 to 19

Community + Enterprise All changes in this step

Renamed (1)

Odoo 18Odoo 19Confidence
product_uomproduct_uom_name possible (same type, name extended)

Fields added (2)

FieldTypeModule
is_pricelist_requiredbooleanproduct
plan_idmany2onesale_subscription

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields removed (2)

FieldTypeModuleNotes
display_applied_onselectionproduct
percent_pricefloatproduct

Fields added (3)

FieldTypeModule
allowed_uom_idsmany2manyproduct
is_plain_discountbooleanproduct
uom_idmany2oneproduct
4 views of this model removed
  • sale.product_pricelist_item_form
  • sale_subscription.product_pricelist_item_form_view
  • sale_subscription.product_pricelist_item_sale_subscription_view
  • website_sale.product_pricelist_item_form

All fields declared on product.pricelist.item (34)

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 34 fields
FieldTypeLabelModule1617181920
activebooleanproduct
allowed_uom_idsmany2many uom.uomproduct
applied_onselectionApply Onproduct
baseselectionBased onproduct
base_pricelist_idmany2one product.pricelistOther Pricelistproduct
categ_idmany2one product.categoryCategoryproduct
company_idmany2one res.companyproduct
compute_priceselectionproduct
currency_idmany2one res.currencyproduct
date_enddatetimeEnd Dateproduct
date_startdatetimeStart Dateproduct
display_applied_onselectionproduct
fixed_pricefloatFixed Priceproduct
is_plain_discountbooleanPlain Discountproduct
is_pricelist_requiredbooleanproduct
min_quantityfloatMin. Quantityproduct
namecharNameproduct
percent_pricefloatPercentage Priceproduct
plan_idmany2one sale.subscription.planRecurring Plansale_subscriptionE
pricecharPriceproduct
price_discountfloatPrice Discountproduct
price_markupfloatSurchargeproduct
price_max_marginfloatMax. Price Marginproduct
price_min_marginfloatMin. Price Marginproduct
price_roundfloatPrice Roundingproduct
price_surchargefloatExtra Feeproduct
pricelist_idmany2one product.pricelistPricelistproduct
product_idmany2one product.productVariantproduct
product_tmpl_idmany2one product.templateProductproduct
product_uomcharproduct
product_uom_namecharproduct
product_variant_countintegerproduct
rule_tipcharproduct
uom_idmany2one uom.uomPackagingproduct
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.