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 4 autres modules. Il expose 45 champs, dont 26 déclarés directement sur le modèle ; 16 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 19.
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_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
26 champs propres, 13 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
45 champs affichés sur 45
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| active | Actif | boolean | |
| allow_operation_dependencies | Dépendances d'opération Créez des dépendances au niveau de l'opération qui influenceront le planning et le statut des ordres de travail lors de la confirmation de l'OF. Si cette fonctionnalité est activée et si rien n'est précisé, Odoo supposera que toutes les opérations peuvent être démarrées simultanément. | boolean | |
| batch_size | Taille de lot Tous les ordres de fabrication générés automatiquement pour ce produit seront de cette taille. | float | |
| bom_line_ids | Lignes de nomenclature | one2many | inverse : |
| byproduct_ids | Sous-produits | one2many | inverse : |
| code | Référence | char | |
| company_id | Société | many2one | |
| consumption | Consommation flexible Defines if you can consume more or less components than the quantity defined on the BoM: * Allowed: allowed for all manufacturing users. * Allowed with warning: allowed for all manufacturing users with summary of consumption differences when closing the manufacturing order. Note that in the case of component Highlight Consumption, where consumption is registered manually exclusively, consumption warnings will still be issued when appropriate also. * Blocked: only a manager can close a manufacturing order when the BoM consumption is not respected. | selection | requis Valeurs : |
| days_to_prepare_mo | Jours pour préparer l'ordre de fabrication 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_size | Activer la taille de lot | boolean | |
| operation_count | Nombre d’opérations | integer | calculé |
| operation_ids | Opérations | one2many | inverse : |
| picking_type_id | Type 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_ids | Valeur d'attribut possible du modèle produit | many2many | calculé |
| produce_delay | Dé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_id | Variante de produit Si une variante de produit est définie, la nomenclature n'est disponible que pour ce produit. | many2one | |
| product_qty | Quantité 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_id | Produit | many2one | requis |
| product_uom_id | Unité L'unité de mesure est l'unité utilisée dans la gestion du stock | many2one→ uom.uom | requis |
| project_id | Projet | many2one | ajouté par Projet MRP ( |
| ready_to_produce | Statut de préparation de la fabrication | selection | requis Valeurs : |
| sequence | Séquence | integer | |
| show_copy_operations_button | Afficher 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_button | Afficher le bouton Définir la nomenclature | boolean | calculé |
| subcontractor_ids | Sous-traitants | many2many | ajouté par MRP Sous-traitance ( |
| type | Type de nomenclature | selection | requis Valeurs : |
| has_message | A un message | boolean | calculé hérité de mail.thread |
| message_attachment_count | Nombre de pièces jointes | integer | calculé hérité de mail.thread |
| message_follower_ids | Abonnés | one2many | inverse : hérité de mail.thread |
| message_has_error | Erreur d'envoi du message Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_has_error_counter | Nombre d'erreurs Nombre de messages avec des erreurs d'envoi | integer | calculé hérité de mail.thread |
| message_has_sms_error | Erreur d'envoi SMS Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_ids | Messages | one2many | inverse : hérité de mail.thread |
| message_is_follower | Est un abonné | boolean | calculé hérité de mail.thread |
| message_needaction | Nécessite une action Si coché, de nouveaux messages demandent votre attention. | boolean | calculé hérité de mail.thread |
| message_needaction_counter | Nombre d'actions Nombre de messages nécessitant une action | integer | calculé hérité de mail.thread |
| message_partner_ids | Abonnés (Partenaires) | many2many | calculé hérité de mail.thread |
| rating_ids | Évaluations | one2many | inverse : hérité de mail.thread |
| website_message_ids | Messages du site web Historique de communication du site web | one2many | inverse : hérité de mail.thread |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- mrp.bom.byproduct : byproduct_ids
- mrp.bom.line : bom_line_ids
- mrp.routing.workcenter : operation_ids
- product.product : product_id
- product.template : product_tmpl_id
- product.template.attribute.value : possible_product_template_attribute_value_ids
- project.project : project_id
- res.company : company_id
- res.partner : subcontractor_ids
- stock.picking.type : picking_type_id
- uom.uom : product_uom_id
Champs d'autres modèles qui pointent ici
- account.analytic.account : bom_ids
- mrp.bom.byproduct : bom_id
- mrp.bom.line : bom_id, child_bom_id
- mrp.production : bom_id
- mrp.routing.workcenter : bom_id
- mrp.unbuild : bom_id, mo_bom_id
- mrp.workorder : production_bom_id
- res.partner : bom_ids
- stock.replenish.mixin : bom_id
- stock.replenishment.info : bom_id, bom_ids
- stock.scrap : bom_id
- stock.warehouse.orderpoint : bom_id, effective_bom_id
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 19 : 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 -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","consumption","product_qty","product_uom_id","ready_to_produce"],"limit":5}'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","consumption","product_qty","product_uom_id","ready_to_produce"], "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 19.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
Données vérifiées le 23 septembre 2026 · Odoo 19.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.