Odoo 19.0 Community · Persistant

stock.rule : champs, relations et API

Le modèle stock.rule (« Règle de stock ») est un modèle persistant déclaré par le module Inventaire, puis enrichi par 16 autres modules. Il expose 28 champs, dont 22 déclarés directement sur le modèle ; 12 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
stock.rule
Libellé
Règle de stock
Type
Persistant (models.Model)
Table SQL
stock_rule
Module d'origine
Inventaire (stock)
Étendu par
sale_stock, point_of_sale, mrp, purchase_stock, product_expiry, mrp_subcontracting, sale_purchase_stock, stock_dropshipping, mrp_subcontracting_dropshipping, purchase_mrp, mrp_subcontracting_purchase, project_mrp, project_mrp_account, sale_mrp, project_purchase_stock, purchase_requisition_stock
Tri par défaut (_order)
sequence, id

Champs du modèle

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

28 champs affichés sur 28

Nom techniqueLibelléTypeDétails
actionActionselection
requis

Valeurs : pull (Tirer depuis), push (Pousser vers), pull_push (Tirer & Pousser)

activeActif

Si décoché, cela permet de masquer la règle sans la supprimer.

boolean
autoMouvement automatique

La valeur 'Opération manuelle' permet de créer un mouvement de stock après le mouvement actuel. Si 'Mouvement automatique sans ajout d'étape' est sélectionné, l'emplacement de stock sera remplacé lors du mouvement initial.

selection
requis

Valeurs : manual (Opération manuelle), transparent (Automatique, pas d'étape ajoutée)

company_idSociétémany2one
delayDélai

La date prévue pour le transfert créé sera calculée selon ce délai.

integer
location_dest_from_ruleEmplacement de destination de la règle

Si la valeur définie est vrai, l'emplacement de destination du stock.move deviendra la règle, sinon la règle sera déduite du type de transfert.

boolean
location_dest_idEmplacement de destinationmany2one
requis
location_src_idEmplacement d'originemany2one
nameNom

Ce champ remplira l'origine du colisage et le nom de ses mouvements

char
requistraduisible
partner_address_idAdresse du partenaire

Adresse à laquelle les biens doivent être livrés. Optionnel.

many2one
picking_type_code_domainDomaine de codes de types de transfertjson
calculé
picking_type_idType d'opérationmany2one
requis
procure_methodMéthode d'approvisionnement

Take From Stock: the products will be taken from the available stock of the source location. Trigger Another Rule: the system will try to find a stock rule to bring the products in the source location. The available stock will be ignored. Take From Stock, if Unavailable, Trigger Another Rule: the products will be taken from the available stock of the source location.If there is no stock available, the system will try to find a rule to bring the products in the source location.

selection
requis

Valeurs : make_to_stock (Prendre dans le stock), make_to_order (Déclencher une autre règle), mts_else_mto (Prendre dans le stock, si pas disponible, déclencher une autre règle.)

propagate_cancelAnnuler le mouvement suivant

Si coché, le prochain mouvement créé par cette règle sera annulé dans le cas où le mouvement source est annulé.

boolean
propagate_carrierPropagation du transporteur

Lorsque coché, le transporteur d'expédition sera propagé.

boolean
push_domainApplicabilité pushchar
route_company_idSociété de la routemany2one

related : route_id.company_id

route_idRoutemany2one
requis
route_sequenceSéquence de routeinteger

related : route_id.sequence

rule_messageMessage de règlehtml
calculé
sequenceSéquenceinteger
warehouse_idEntrepôtmany2one
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

  • stock.move : rule_id
  • stock.warehouse : buy_pull_id, manufacture_mto_pull_id, manufacture_pull_id, mto_pull_id, pbm_mto_pull_id, repair_mto_pull_id, sam_rule_id, subcontracting_dropshipping_pull_id, subcontracting_mto_pull_id, subcontracting_pull_id
  • stock.warehouse.orderpoint : rule_ids

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
curl -X POST "https://votre-instance.odoo.com/json/2/stock.rule/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: votre-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","action","auto","location_dest_id","picking_type_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}/stock.rule/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","action","auto","location_dest_id","picking_type_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/stock-rule">stock.rule (Odoo 19.0)</a>

Sources

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.