Odoo 20.0 Community · Persistant

mrp.bom : champs, relations et API

Le modèle mrp.bom (« Nomenclature ») est un modèle persistant déclaré par le module Fabrication, puis enrichi par 5 autres modules. Il expose 50 champs, dont 32 déclarés directement sur le modèle ; 15 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
mrp.bom
Libellé
Nomenclature
Type
Persistant (models.Model)
Table SQL
mrp_bom
Module d'origine
Fabrication (mrp)
Étendu par
mrp_account, mrp_subcontracting, purchase_mrp, project_mrp, sale_mrp
Tri par défaut (_order)
sequence, id
Champ d'affichage (_rec_name)
product_tmpl_id
Hérite de (mixins)
mail.threadproduct.catalog.mixin

Champs du modèle

32 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.

50 champs affichés sur 50

Nom techniqueLibelléTypeDétails
activeActifboolean
allow_operation_dependenciesCustom Operation Dependencies

Select to customise operation dependencies. When checked, operations will be in parallel by default.

boolean
batch_sizeValeur taille de lot

Tous les ordres de fabrication générés automatiquement pour ce produit seront de cette taille.

float
bom_line_idsLignes de nomenclatureone2many

inverse : bom_id

byproduct_idsSous-produitsone2many

inverse : bom_id

codeRéférencechar
company_idSociétémany2one
component_countComponent Countinteger
calculé
continuousContinuous Production

If active, registering production on a work order will automatically unblock the next work order if it is blocked.

boolean
currency_idDevisemany2one

related : company_id.currency_id

ajouté par Accounting - MRP (mrp_account)

days_to_prepare_moJours pour préparer

Créer et confirmer les ordres de fabrication ce nombre de jours à l’avance, afin de disposer de suffisamment de temps pour réapprovisionner les composants ou fabriquer les semi-produits.

integer
enable_batch_sizeTaille de lotboolean
extra_costExtra Cost

Set an additional cost per manufactured unit (e.g. labour, energy, packaging)

monetary

ajouté par Accounting - MRP (mrp_account)

json_popoverDonnées JSON pour le widget popoverchar
calculé
noteNotes supplémentaires

Notes supplémentaires pour l'ordre de fabrication. Les notes ajoutées ici seront également affichées dans l'Atelier.

html
operation_countNombre d’opérationsinteger
calculé
operation_idsOpérationsone2many

inverse : bom_id

picking_type_idType d'opération

Quand un approvisionnement a une route 'fabriquer' avec un type d'opération défini, le système essayera de créer un ordre de fabrication pour ce produit en utilisant une nomenclature qui a le même type d'opération. Si ce n'est pas le cas, le type d'opération n'est pas pris en compte dans la recherche de la nomenclature. Cela permet de définir des règles de stock qui génèrent des ordres de fabrication avec différentes nomenclatures.

many2one
possible_product_template_attribute_value_idsValeur d'attribut possible du modèle produitmany2many
calculé
produce_delayDélai de fabrication

Délai moyen en jours pour fabriquer ce produit. Dans le cas d'une nomenclature à plusieurs niveaux, les délais de fabrication des composants seront ajoutés. Dans le cas où le produit est sous-traité, cela peut être utilisé pour déterminer la date à laquelle les composants doivent être envoyés au sous-traitant.

integer
product_idVariante de produit

Si une variante de produit est définie, la nomenclature n'est disponible que pour ce produit.

many2one
product_qtyQuantité

Il doit s'agir de la plus petite quantité dans laquelle ce produit peut être produit. Si la nomenclature contient des opérations, assurez-vous que la capacité du poste de travail est exacte.

float
requis
product_tmpl_idProduitmany2one
requis
project_idProjetmany2one

ajouté par MRP Project (project_mrp)

ready_to_produceStatut de préparation de la fabricationselection
requis

Valeurs : all_available ( Quand tous les composants sont disponibles), asap (Quand les composants pour la première opération sont disponibles.)

sequenceSéquenceinteger
show_copy_operations_buttonAfficher le bouton de copie des opérations

Champ technique utilisé pour contrôler la visibilité du bouton "Copier les opérations existantes".

boolean
calculé
show_set_bom_buttonAfficher le bouton Définir la nomenclatureboolean
calculé
subassembly_countSubassembly Countinteger
calculé
subcontractor_idsSous-traitantsmany2many

ajouté par MRP Subcontracting (mrp_subcontracting)

typeType de nomenclatureselection
requis

Valeurs : normal (Fabriquer ce produit), phantom (Kit)

uom_idUnité

L'unité de mesure est l'unité utilisée dans la gestion du stock

many2one
requis
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

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/mrp.bom/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: votre-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["product_tmpl_id","product_qty","ready_to_produce","type","uom_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}/mrp.bom/search_read",
    headers=headers,
    json={"domain": [], "fields": ["product_tmpl_id","product_qty","ready_to_produce","type","uom_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/mrp-bom">mrp.bom (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.