Odoo 20.0 Community · Persistant

product.category : champs, relations et API

Le modèle product.category (« Catégorie de produits ») est un modèle persistant déclaré par le module Products & Pricelists, puis enrichi par 9 autres modules. Il expose 54 champs, dont 36 déclarés directement sur le modèle ; 22 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 20.

Fiche d'identité

Nom technique
product.category
Libellé
Catégorie de produits
Type
Persistant (models.Model)
Table SQL
product_category
Module d'origine
Products & Pricelists (product)
Étendu par
account, sale, delivery, point_of_sale, stock, stock_account, mrp_account, purchase, pos_stock
Tri par défaut (_order)
parent_id desc, name asc
Champ d'affichage (_rec_name)
complete_name
Hérite de (mixins)
mail.threadpos.load.mixin

Champs du modèle

36 champs propres, 12 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.

54 champs affichés sur 54

Nom techniqueLibelléTypeDétails
account_stock_variation_activeStock Variation Account Activeboolean

related : account_stock_variation_id.active

ajouté par Facturation (account)

account_stock_variation_idStock Variation Accountmany2one

related : property_stock_valuation_account_id.account_stock_variation_id

ajouté par Facturation (account)

anglo_saxon_accountingUtiliser la comptabilité anglo-saxonne

Si coché, le produit sera valorisé selon la méthode comptable anglo-saxonne.

boolean
calculé

ajouté par WMS Accounting (stock_account)

child_idCatégories enfantsone2many

inverse : parent_id

company_idSociétémany2one
complete_nameNom completchar
calculé
filter_for_stock_putaway_rulestock.putaway.ruleboolean

ajouté par Inventaire (stock)

nameNomchar
requistraduisible
packaging_reserve_methodRéserver des conditionnements

Reserve Only Full Packagings: will not reserve partial packagings. If customer orders 2 pallets of 1000 units each and you only have 1600 in stock, then only 1000 will be reserved Reserve Partial Packagings: allow reserving partial packagings. If customer orders 2 pallets of 1000 units each and you only have 1600 in stock, then 1600 will be reserved

selection

Valeurs : full (Réserver seulement des conditionnements entiers), partial (Réserver des conditionnements partiels)

ajouté par Inventaire (stock)

parent_idCatégorie parentemany2one
parent_pathChemin parentchar
parent_route_idsItinéraires parentsmany2many
calculé

ajouté par Inventaire (stock)

product_count# Produits

Le nombre de produits dans cette catégorie (Ne tient pas compte des catégories enfants)

integer
calculé
product_properties_definitionPropriétés du produitproperties_definition
property_account_billed_not_received_activeBilled Not Received Account Activeboolean

related : property_account_billed_not_received_id.active

ajouté par Achats (purchase)

property_account_billed_not_received_idBilled Not Received Account

Account holding the accrued value of the goods billed but not received yet. With perpetual valuation, it counterbalances the stock valuation account at closing.

many2one
dépend de la société

ajouté par Achats (purchase)

property_account_bills_to_receive_activeBills to Receive Account Activeboolean

related : property_account_bills_to_receive_id.active

ajouté par Achats (purchase)

property_account_bills_to_receive_idBills to Receive Account

Account holding the accrued value of the goods received but not billed yet. With perpetual valuation, it counterbalances the stock valuation account at closing.

many2one
dépend de la société

ajouté par Achats (purchase)

property_account_expense_categ_idCompte de charges

La charge est comptabilisée lorsqu'une facture fournisseur est validée, sauf dans le cadre du système comptable anglo-saxon avec la valorisation permanente d'inventaire, auquel cas la charge (compte du coût des biens vendus) est comptabilisée lors de la validation de la facture client.

many2one
dépend de la société

ajouté par Facturation (account)

property_account_income_categ_idCompte des revenus

Ce compte sera utilisé lors de la validation d'une facture client.

many2one
dépend de la société

ajouté par Facturation (account)

property_account_invoiced_not_delivered_activeInvoiced Not Delivered Account Activeboolean

related : property_account_invoiced_not_delivered_id.active

ajouté par Ventes (sale)

property_account_invoiced_not_delivered_idInvoiced Not Delivered Account

Account holding the accrued value of the goods invoiced but not delivered yet. With perpetual valuation, it counterbalances the stock valuation account at closing.

many2one
dépend de la société

ajouté par Ventes (sale)

property_account_invoices_to_issue_activeInvoices to be Issued Account Activeboolean

related : property_account_invoices_to_issue_id.active

ajouté par Ventes (sale)

property_account_invoices_to_issue_idInvoices to be Issued Account

Account holding the accrued value of the goods delivered but not invoiced yet. With perpetual valuation, it counterbalances the stock valuation account at closing.

many2one
dépend de la société

ajouté par Ventes (sale)

property_cost_methodMéthode de coût

Standard Price: The products are valued at their standard cost defined on the product. Average Cost (AVCO): The products are valued at weighted average cost.

selection
dépend de la société

Valeurs : standard (Prix standard), average (Coût moyen (AVCO))

ajouté par Facturation (account)

property_price_difference_account_activePrice Difference Account Activeboolean

related : property_price_difference_account_id.active

ajouté par Facturation (account)

property_price_difference_account_idCompte de différence de prix

With perpetual valuation, this account will hold the price difference between the standard price and the bill price.

many2one
dépend de la société

ajouté par Facturation (account)

property_stock_account_production_cost_idCompte de production

This account will be used as a valuation counterpart for both components and final products for manufacturing orders. If there are any workcenter/employee costs, this value will remain on the account once the production is completed.

many2one
dépend de la société

ajouté par Accounting - MRP (mrp_account)

property_stock_journalStock Journal

When doing automated inventory valuation, this is the Accounting Journal in which entries will be automatically posted when stock moves are processed.

many2one
dépend de la société

ajouté par Facturation (account)

property_stock_valuation_account_activeStock Valuation Account Activeboolean

related : property_stock_valuation_account_id.active

ajouté par Facturation (account)

property_stock_valuation_account_idCompte de valorisation des stocks

When automated inventory valuation is enabled on a product, this account will hold the current value of the products.

many2one
dépend de la société

ajouté par Facturation (account)

property_valuationValorisation d'inventaire

Periodic: The accounting entries are suggested manually in the inventory valuation report. Perpetual: An accounting entry is automatically created to value the inventory when a product is billed or invoiced.

selection
dépend de la société

Valeurs : periodic (Periodic (at closing)), real_time (Perpetual (at invoicing))

ajouté par Facturation (account)

putaway_rule_idsStratégies de rangementone2many

inverse : category_id

ajouté par Inventaire (stock)

removal_strategy_idForcer la stratégie d'enlèvement

Set a specific removal strategy that will be used regardless of the source location for this product category. FIFO: products/lots that were stocked first will be moved out first. LIFO: products/lots that were stocked last will be moved out first. Closest location: products/lots closest to the target location will be moved out first. FEFO: products/lots with the closest removal date will be moved out first (the availability of this method depends on the "Expiration Dates" setting). Least Packages: FIFO but with the least number of packages possible when there are several packages containing the same product.

many2one

ajouté par Inventaire (stock)

route_idsRoutesmany2many

ajouté par Inventaire (stock)

total_route_idsTotal des routesmany2many
lecture seulecalculé

ajouté par Inventaire (stock)

has_messageA un messageboolean
calculé

hérité de mail.thread

message_attachment_countNombre de pièces jointesinteger
calculé

hérité de mail.thread

message_follower_idsAbonnésone2many

inverse : res_id

hérité de mail.thread

message_has_errorErreur d'envoi du message

Si coché, certains messages ont une erreur de livraison.

boolean
calculé

hérité de mail.thread

message_has_error_counterNombre d'erreurs

Nombre de messages avec des erreurs d'envoi

integer
calculé

hérité de mail.thread

message_has_sms_errorErreur d'envoi SMS

Si coché, certains messages ont une erreur de livraison.

boolean
calculé

hérité de mail.thread

message_idsMessagesone2many

inverse : res_id

hérité de mail.thread

message_is_followerEst un abonnéboolean
calculé

hérité de mail.thread

message_needactionNécessite une action

Si coché, de nouveaux messages demandent votre attention.

boolean
calculé

hérité de mail.thread

message_needaction_counterNombre d'actions

Nombre de messages nécessitant une action

integer
calculé

hérité de mail.thread

message_partner_idsAbonnés (Partenaires)many2many
calculé

hérité de mail.thread

rating_idsÉvaluationsone2many

inverse : res_id

hérité de mail.thread

create_dateCréé ledatetime
lecture seuleautomatique
create_uidCréé parmany2one
lecture seuleautomatique
display_nameNom affichéchar
lecture seulecalculéautomatique
idIDinteger
lecture seuleautomatique
write_dateDernière mise à jour ledatetime
lecture seuleautomatique
write_uidDernière mise à jour parmany2one
lecture seuleautomatique

Relations

Modèles liés depuis ce modèle

  • account.account : account_stock_variation_id, property_account_billed_not_received_id, property_account_bills_to_receive_id, property_account_expense_categ_id, property_account_income_categ_id, property_account_invoiced_not_delivered_id, property_account_invoices_to_issue_id, property_price_difference_account_id, property_stock_account_production_cost_id, property_stock_valuation_account_id
  • account.journal : property_stock_journal
  • product.category : child_id, parent_id
  • product.removal : removal_strategy_id
  • res.company : company_id
  • stock.putaway.rule : putaway_rule_ids
  • stock.route : parent_route_ids, route_ids, total_route_ids

Champs d'autres modèles qui pointent ici

Lire ce modèle par l'API

Exemple d'appel à l'API JSON-2 d'Odoo 20 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.

curl
curl -X POST "https://votre-instance.odoo.com/json/2/product.category/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: votre-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["complete_name","name","account_stock_variation_id","company_id","parent_id"],"limit":5}'
Python (requests)
import requests

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

res = requests.post(
    f"{BASE_URL}/product.category/search_read",
    headers=headers,
    json={"domain": [], "fields": ["complete_name","name","account_stock_variation_id","company_id","parent_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • L'accès à l'API externe est réservé à la formule Custom d'Odoo.
  • XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
  • Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.

Citer cet outil

Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.

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

Sources

Données vérifiées le 25 septembre 2026 · Odoo 20.0 Community

Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons

Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.