Odoo 19.0 Community · Persistant

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 techniqueLibelléTypeDétails
allowed_uom_idsUnité de mesure autoriséemany2many
calculé
batch_idLotmany2one

related : picking_id.batch_id

ajouté par Gestion de l'entrepôt : transfert par lot (stock_picking_batch)

carrier_idTransporteurmany2one

related : picking_id.carrier_id

ajouté par Livraison - Stock (stock_delivery)

company_idSociétémany2one
requislecture seule
consume_line_idsLigne traitéemany2many
dateDate

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_pickingDescription Pickingtext

related : move_id.description_picking

destination_country_codeDestination Country Codechar

related : picking_id.destination_country_code

ajouté par Livraison - Stock (stock_delivery)

expiration_dateDate 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 (product_expiry)

is_entire_packEst ajouté dans l'ensemble du colisboolean
is_expiredA expiréboolean

related : lot_id.product_expiry_alert

ajouté par Date de péremption des produits (product_expiry)

is_inventoryIs Inventoryboolean

related : move_id.is_inventory

is_lockedEst verrouilléboolean
lecture seule

related : move_id.is_locked

location_dest_idAumany2one
requiscalculé, stocké
location_dest_usageType d'emplacement de destinationselection

related : location_dest_id.usage

location_idDemany2one
requiscalculé, stocké
location_usageType d'emplacement d'origineselection

related : location_id.usage

lot_idLot/numéro de sériemany2one
lot_nameNom du lot/numéro de sériechar
lots_visibleLots visiblesboolean
calculé
move_idOpération de stockmany2one
move_partner_idMove Partnermany2one
lecture seule

related : move_id.partner_id

originSourcechar

related : move_id.origin

owner_idAppartenant à

À la validation du transfert, les produits seront pris de ce propriétaire.

many2one
package_history_idHistorique du colismany2one
package_idColis d'originemany2one
pickedTransféréboolean
calculé, stocké
picking_codePicking Codeselection
lecture seule

related : picking_type_id.code

picking_idTransfert

L'opération de stock où le colis a été fait.

many2one
picking_location_dest_idPicking Location Destmany2one

related : picking_id.location_dest_id

picking_location_idPicking Locationmany2one

related : picking_id.location_id

picking_partner_idPicking Partnermany2one
lecture seule

related : picking_id.partner_id

picking_type_idType d'opérationmany2one
calculé
picking_type_use_create_lotsPicking Type Use Create Lotsboolean
lecture seule

related : picking_type_id.use_create_lots

picking_type_use_existing_lotsPicking Type Use Existing Lotsboolean
lecture seule

related : picking_type_id.use_existing_lots

produce_line_idsLigne de productionmany2many
product_category_nameCatégorie de produitschar

related : product_id.categ_id.complete_name

product_idProduitmany2one
product_uom_idUnitémany2one
requiscalculé, stocké
production_idOrdre de productionmany2one

ajouté par Fabrication (mrp)

quant_idEnlever parmimany2one
quantityQuantitéfloat
calculé, stocké
quantity_product_uomQuantité dans l'UdM du produitfloat
calculé, stocké
referenceRéférencechar

related : move_id.reference

removal_dateDate d'enlèvementdatetime
calculé, stocké

ajouté par Date de péremption des produits (product_expiry)

result_package_dest_nameNom du colis de destinationchar

related : result_package_id.dest_complete_name

result_package_idColis de destination

Si renseigné, les opérations sont emballées dans ce colis.

many2one
sale_pricePrix de ventefloat
calculé

ajouté par Livraison - Stock (stock_delivery)

scheduled_dateDate planifiéedatetime

related : move_id.date

scrap_idRebutmany2one

related : move_id.scrap_id

stateStatutselection

related : move_id.state

trackingSuiviselection
lecture seule

related : product_id.tracking

use_expiration_dateUtiliser la date d'expirationboolean

related : product_id.use_expiration_date

ajouté par Date de péremption des produits (product_expiry)

workorder_idOrdre de travailmany2one

ajouté par Fabrication (mrp)

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 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.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}'
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.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

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.