Odoo 20.0 Community · Persistent

product.pricelist.item: fields, relations and API

The product.pricelist.item model ("Pricelist Rule") is a persistent model declared by the Products & Pricelists module, then extended by 4 other modules. It exposes 35 fields, 29 of them declared directly on the model; 1 field from other models points to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 20 JSON-2 API call.

Model identity

Technical name
product.pricelist.item
Label
Pricelist Rule
Type
Persistent (models.Model)
SQL table
product_pricelist_item
Origin module
Products & Pricelists (product)
Extended by
sale, point_of_sale, website_sale, website_event_sale
Default order (_order)
applied_on, min_quantity desc, categ_id desc, id desc
Inherits from (mixins)
pos.load.mixin

Model fields

29 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

35 of 35 fields shown

Technical nameLabelTypeDetails
allowed_uom_idsAllowed Uommany2many
computed
applied_onApply On

Pricelist Item applicable on selected option

selection
requiredcomputed, stored

Values: 0_product_variant (Product Variant), 1_product (Product), 2_product_category (Product Category), 3_global (All Products)

baseBased on

Base price for computation. Sales Price: The base price will be the Sales Price. Cost Price: The base price will be the cost price. Other Pricelist: Computation of the base price based on another Pricelist.

selection
required

Values: list_price (Sales Price), standard_price (Cost), pricelist (Other Pricelist)

base_pricelist_idOther Pricelistmany2one
categ_idCategory

Specify a product category if this rule only applies to products belonging to this category or its children categories. Keep empty otherwise.

many2one
company_idCompanymany2one
computed, stored
compute_priceCompute Price

How the price is derived from the base price. Discount: a percentage taken off it. Surcharge: a percentage added on top of it. Fixed Price: a set amount, ignoring the base price entirely. Activate the discount settings to show the discount to the customer.

selection
required

Values: discount (Discount), markup (Surcharge), fixed (Fixed Price)

currency_idCurrencymany2one
computed, stored
date_endEnd Date

Ending datetime for the pricelist item validation The displayed value depends on the timezone set in your preferences.

datetime
date_startStart Date

Starting datetime for the pricelist item validation The displayed value depends on the timezone set in your preferences.

datetime
fixed_priceFixed Pricefloat
is_plain_discountPlain Discount

Whether the rule lowers the price by exactly its discount percentage.

boolean
computed
is_pricelist_requiredIs Pricelist Requiredboolean
computed
min_quantityMin. Quantity

For the rule to apply, bought/sold quantity must be greater than or equal to the minimum quantity specified in this field. Expressed in the default unit of measure of the product.

float
nameName

Explicit rule name for this pricelist line.

char
computed
pricePrice

Explicit rule name for this pricelist line.

char
computed
price_discountPrice Discountfloat
price_markupSurchargefloat
computed
price_max_marginMax. Price Margin

Specify the maximum amount of margin over the base price.

float
price_min_marginMin. Price Margin

Specify the minimum amount of margin over the base price.

float
price_roundPrice Rounding

Sets the price so that it is a multiple of this value. Rounding is applied after the discount and before the surcharge. To have prices that end in 9.99, round off to 10.00 and set an extra at -0.01

float
price_surchargeExtra Fee

Specify the fixed amount to add or subtract (if negative) to the amount calculated with the discount.

float
pricelist_idPricelistmany2one
product_idVariant

Specify a product if this rule only applies to one product. Keep empty otherwise.

many2one
product_tmpl_idProduct

Specify a template if this rule only applies to one product template. Keep empty otherwise.

many2one
product_uom_nameProduct Uom Namechar

related: product_tmpl_id.uom_name

product_variant_countProduct Variant Countinteger

related: product_tmpl_id.product_variant_count

rule_tipRule Tipchar
computed
uom_idPackagingmany2one
create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 20 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/product.pricelist.item/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","applied_on","base","compute_price","base_pricelist_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/product.pricelist.item/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","applied_on","base","compute_price","base_pricelist_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/product-pricelist-item">product.pricelist.item (Odoo 20.0)</a>

Sources

Data verified on September 25, 2026 · Odoo 20.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.