stock.move.line : champs, relations et API
Le modèle stock.move.line (« Mouvements de produit (Ligne de mouvement de stock) ») est un modèle persistant déclaré par le module Inventaire, puis enrichi par 9 autres modules. Il expose 60 champs, dont 54 déclarés directement sur le modèle ; 6 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.move.line- Libellé
- Mouvements de produit (Ligne de mouvement de stock)
- Type
- Persistant (models.Model)
- Table SQL
stock_move_line- Module d'origine
- Inventaire (
stock) - Étendu par
- stock_account, sale_stock, stock_delivery, stock_picking_batch, mrp, product_expiry, repair, mrp_subcontracting, sale_mrp
- Tri par défaut (_order)
result_package_id desc, id- Champ d'affichage (_rec_name)
product_id
Champs du modèle
54 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.
60 champs affichés sur 60
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| allowed_uom_ids | Unité de mesure autorisée | many2many→ uom.uom | calculé |
| batch_id | Lot | many2one | related : ajouté par Gestion de l'entrepôt : transfert par lot ( |
| carrier_id | Transporteur | many2one | related : ajouté par Livraison - Stock ( |
| company_id | Société | many2one | requislecture seule |
| consume_line_ids | Ligne traitée | many2many | |
| date | Date Date de création de cette ligne de mouvement jusqu'à la mise à jour en raison de : augmentation de la quantité, mise à jour du statut 'prélevé' ou de la ligne de mouvement terminée. | datetime | requis |
| description_picking | Description Picking | text | related : |
| destination_country_code | Destination Country Code | char | related : ajouté par Livraison - Stock ( |
| expiration_date | Date d'expiration Il s'agit de la date à laquelle les marchandises avec ce numéro de série deviennent dangereuses et ne doivent plus être consommées. | datetime | calculé, stocké ajouté par Date de péremption des produits ( |
| is_entire_pack | Est ajouté dans l'ensemble du colis | boolean | |
| is_expired | A expiré | boolean | related : ajouté par Date de péremption des produits ( |
| is_inventory | Is Inventory | boolean | related : |
| is_locked | Est verrouillé | boolean | lecture seule related : |
| location_dest_id | Au | many2one | requiscalculé, stocké |
| location_dest_usage | Type d'emplacement de destination | selection | related : |
| location_id | De | many2one | requiscalculé, stocké |
| location_usage | Type d'emplacement d'origine | selection | related : |
| lot_id | Lot/numéro de série | many2one | |
| lot_name | Nom du lot/numéro de série | char | |
| lots_visible | Lots visibles | boolean | calculé |
| move_id | Opération de stock | many2one | |
| move_partner_id | Move Partner | many2one | lecture seule related : |
| origin | Source | char | related : |
| owner_id | Appartenant à À la validation du transfert, les produits seront pris de ce propriétaire. | many2one | |
| package_history_id | Historique du colis | many2one | |
| package_id | Colis d'origine | many2one | |
| picked | Transféré | boolean | calculé, stocké |
| picking_code | Picking Code | selection | lecture seule related : |
| picking_id | Transfert L'opération de stock où le colis a été fait. | many2one | |
| picking_location_dest_id | Picking Location Dest | many2one | related : |
| picking_location_id | Picking Location | many2one | related : |
| picking_partner_id | Picking Partner | many2one | lecture seule related : |
| picking_type_id | Type d'opération | many2one | calculé |
| picking_type_use_create_lots | Picking Type Use Create Lots | boolean | lecture seule related : |
| picking_type_use_existing_lots | Picking Type Use Existing Lots | boolean | lecture seule related : |
| produce_line_ids | Ligne de production | many2many | |
| product_category_name | Catégorie de produits | char | related : |
| product_id | Produit | many2one | |
| product_uom_id | Unité | many2one→ uom.uom | requiscalculé, stocké |
| production_id | Ordre de production | many2one | ajouté par Fabrication ( |
| quant_id | Enlever parmi | many2one | |
| quantity | Quantité | float | calculé, stocké |
| quantity_product_uom | Quantité dans l'UdM du produit | float | calculé, stocké |
| reference | Référence | char | related : |
| removal_date | Date d'enlèvement | datetime | calculé, stocké ajouté par Date de péremption des produits ( |
| result_package_dest_name | Nom du colis de destination | char | related : |
| result_package_id | Colis de destination Si renseigné, les opérations sont emballées dans ce colis. | many2one | |
| sale_price | Prix de vente | float | calculé ajouté par Livraison - Stock ( |
| scheduled_date | Date planifiée | datetime | related : |
| scrap_id | Rebut | many2one | related : |
| state | Statut | selection | related : |
| tracking | Suivi | selection | lecture seule related : |
| use_expiration_date | Utiliser la date d'expiration | boolean | related : ajouté par Date de péremption des produits ( |
| workorder_id | Ordre de travail | many2one | ajouté par Fabrication ( |
| 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
- delivery.carrier : carrier_id
- mrp.production : production_id
- mrp.workorder : workorder_id
- product.product : product_id
- res.company : company_id
- res.partner : move_partner_id, owner_id, picking_partner_id
- stock.location : location_dest_id, location_id, picking_location_dest_id, picking_location_id
- stock.lot : lot_id
- stock.move : move_id
- stock.move.line : consume_line_ids, produce_line_ids
- stock.package : package_id, result_package_id
- stock.package.history : package_history_id
- stock.picking : picking_id
- stock.picking.batch : batch_id
- stock.picking.type : picking_type_id
- stock.quant : quant_id
- stock.scrap : scrap_id
- uom.uom : allowed_uom_ids, product_uom_id
Champs d'autres modèles qui pointent ici
- lot.label.layout : move_line_ids
- stock.add.to.wave : line_ids
- stock.move.line : consume_line_ids, produce_line_ids
- stock.package.destination : move_line_ids
- stock.put.in.pack : move_line_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 -X POST "https://votre-instance.odoo.com/json/2/stock.move.line/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["product_id","company_id","date","location_dest_id","location_id"],"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}/stock.move.line/search_read",
headers=headers,
json={"domain": [], "fields": ["product_id","company_id","date","location_dest_id","location_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-move-line">stock.move.line (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.