Odoo 19.0 Community · Persistente

stock.move: campos, relaciones y API

El modelo stock.move («Movimiento de stock») es un modelo persistente declarado por el módulo Inventario y ampliado por 26 módulos más. Expone 123 campos, 117 de ellos declarados directamente en el modelo; 12 campos de otros modelos apuntan a él. A continuación encontrará cada campo con su nombre técnico, tipo, etiqueta en español y relaciones, y un ejemplo de llamada a la API JSON-2 de Odoo 19.

Ficha de identidad

Nombre técnico
stock.move
Etiqueta
Movimiento de stock
Tipo
Persistente (models.Model)
Tabla SQL
stock_move
Módulo de origen
Inventario (stock)
Ampliado por
stock_account, sale_stock, stock_delivery, stock_picking_batch, point_of_sale, mrp, mrp_account, purchase_stock, stock_landed_costs, product_expiry, repair, mrp_repair, mrp_subcontracting, mrp_subcontracting_account, sale_purchase_stock, mrp_subcontracting_dropshipping, purchase_mrp, mrp_subcontracting_purchase, pos_mrp, project_mrp, project_mrp_account, sale_mrp, project_stock_account, purchase_requisition_stock, sale_project_stock, sale_project_stock_account
Orden por defecto (_order)
sequence, id
Campo mostrado (_rec_name)
reference

Campos del modelo

117 campos propios, 0 heredados de mixins y 6 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.

123 de 123 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
account_move_idmovimiento_stock_idmany2one

añadido por Contabilidad del SGA (stock_account)

additionalSi el movimiento se añadió después de la confirmación del albaránboolean
allowed_operation_idsAllowed Operationone2many

related: raw_material_production_id.bom_id.operation_ids

añadido por Fabricación (mrp)

allowed_uom_idsUdM permitidamany2many
calculado
analytic_account_line_idsLínea de cuenta analíticamany2many

añadido por Contabilidad del SGA (stock_account)

availabilityCantidad prevista

Cantidad en stock que puede ser reservada aún para este movimiento

float
solo lecturacalculado
bom_line_idLínea de LdMmany2one

añadido por Fabricación (mrp)

byproduct_idSubproductos

Línea de subproductos que generó el movimiento en una orden de fabricación

many2one

añadido por Fabricación (mrp)

company_currency_idMoneda de la empresamany2one
solo lectura

related: company_id.currency_id

añadido por Contabilidad del SGA (stock_account)

company_idCompañíamany2one
obligatorio
consume_unbuild_idOrden de desmontaje consumidamany2one

añadido por Fabricación (mrp)

cost_shareReparto de costes (%)

El porcentaje del coste de producción final para este subproducto. El total de reparto de costes de subproductos debe ser menor o igual a 100.

float

añadido por Fabricación (mrp)

created_production_idOrden de producción creadamany2one

añadido por Fabricación (mrp)

created_purchase_line_idsLíneas de pedido de compra creadasmany2many

añadido por Stock de Compra (purchase_stock)

dateFecha programada

Fecha programada hasta que el movimiento esté hecho, después la fecha real en la que se procesó el movimiento

datetime
obligatorio
date_deadlineFecha límite

In case of outgoing flow, validate the transfer before this date to allow to deliver at promised date to the customer. In case of incoming flow, validate the transfer before this date in order to have these products in stock at the date promised by the supplier

datetime
solo lectura
delay_alert_dateFecha de alerta de retraso

Procesar en esta fecha para llegar a tiempo

datetime
calculado, almacenado
description_pickingDescripción de la preparación de pedidostext
calculado
description_picking_manualDescripción de la preparación de pedidos manualtext
solo lectura
display_assign_serialMostrar Asignar Serieboolean
calculado
display_import_lotMostrar importación de loteboolean
calculado
forecast_availabilityDisponibilidad del pronósticofloat
calculado
forecast_expected_dateFecha prevista esperadadatetime
calculado
has_lines_without_result_packageTiene líneas sin paquete de destinoboolean
calculado
has_trackingProducto con rastreoselection

related: product_id.tracking

inventory_nameNombre del inventariochar
solo lectura
is_date_editableLa fecha se puede editarboolean
calculado
is_dropship¿Es Dropship?boolean
calculado, almacenado

añadido por Contabilidad del SGA (stock_account)

is_inEs una entrada de inventario (valorizada)boolean
calculado, almacenado

añadido por Contabilidad del SGA (stock_account)

is_initial_demand_editable¿Se puede editar la demanda inicial?boolean
calculado
is_inventoryInventarioboolean
is_lockedEstá bloqueadoboolean
solo lecturacalculado
is_outEs una salida de inventario (valorizada)boolean
calculado, almacenado

añadido por Contabilidad del SGA (stock_account)

is_quantity_done_editable¿Se puede editar la cantidad hecha?boolean
calculado
is_storableIs Storableboolean

related: product_id.is_storable

is_subcontractEl movimiento es un recibo de subcontrataciónboolean

añadido por Subcontratación MRP (mrp_subcontracting)

is_valuedEstá valorizadoboolean
calculado

añadido por Contabilidad del SGA (stock_account)

location_dest_idUbicación intermedia

La operación trae el producto a esta ubicación

many2one
obligatoriocalculado, almacenado
location_dest_usageTipo de ubicación de destinoselection

related: location_dest_id.usage

location_final_idUbicación final

La operación trae los productos a una ubicación intermedia. Esta operación es parte de una cadena de operaciones cuyo objetivo es la ubicación final.

many2one
location_idUbicación de origen

La operación toma y sugiere productos de esta ubicación.

many2one
obligatoriocalculado, almacenado
location_usageTipo de ubicación de origenselection

related: location_id.usage

lot_idsNúmeros de seriemany2many
calculado
manual_consumptionConsumo manual

When activated, then the registration of consumption for that component is recorded manually exclusively. If not activated, and any of the components consumption is edited manually on the manufacturing order, Odoo assumes manual consumption also.

boolean
calculado, almacenado

añadido por Fabricación (mrp)

move_dest_idsMovimientos de destino

Opcional: siguiente movimiento de stock, cuando se encadenan

many2many
move_line_idsLínea de movimientoone2many

inverso: move_id

move_lines_countNúmero de líneas de movimientointeger
calculado
move_orig_idsMovimiento original

Opcional: movimiento de stock previo cuando se encadenan

many2many
never_product_template_attribute_value_idsNunca valores de atributomany2many
next_serialPrimer número de serie/lotechar
next_serial_countCantidad de números de serie o loteinteger
operation_idOperación a consumirmany2one

añadido por Fabricación (mrp)

order_finished_lot_idsNúmero de lote/serie terminadomany2many

related: raw_material_production_id.lot_producing_ids

añadido por Fabricación (mrp)

orderpoint_idRegla de reabastecimiento originalmany2one
originDocumento de origenchar
origin_returned_move_idOrigen del movimiento de devolución

Movimiento que creó el movimiento de devolución

many2one
package_idsPaquetesone2many
calculado
packaging_uom_idEmpaquetado

Unidad de embalaje para pedidos de venta o compra

many2one
calculado, almacenado
packaging_uom_qtyCantidad de embalaje

Cantidad en la unidad de embalaje

float
calculado, almacenado
partner_idDirección de destino

Dirección opcional donde se deben entregar los productos, se utiliza específicamente para lotes.

many2one
calculado, almacenado
pickedRecolectado

Esta casilla es sólo indicativa, no valida ni genera ningún movimiento del producto.

boolean
calculado, almacenado
picking_codePicking Codeselection
solo lectura

related: picking_id.picking_type_id.code

picking_idTrasladomany2one
picking_type_idTipo de operaciónmany2one
calculado, almacenado
price_unitUnidad de preciofloat
priorityPrioridadselection
calculado, almacenado

Valores: 0 (Normal), 1 (Urgente)

procure_methodMétodo de suministro

Por defecto, el sistema cogerá las unidades desde el stock en la ubicación de origen (o hijas) y esperará pasivamente a su disponibilidad. La otra posibilidad le permite crear un abastecimiento en la ubicación de origen (y por tanto, ignorar el stock actual) para obtener productos. Si quiere encadenar movimientos y tener éste para esperar al anterior, esta segunda opción es la que debe seleccionar.

selection
obligatorio

Valores: make_to_stock (Por defecto: tomar del stock), make_to_order (Avanzado: aplicar reglas de abastecimiento)

procurement_valuesValores de abastecimiento

Campo ficticio para almacenar valores de aprovisionamiento y propagarlos a etapas posteriores

json
product_category_idCategoría de productomany2one

related: product_id.categ_id

product_idProductomany2one
obligatorio
product_qtyCantidad real

Cantidad en la UdM por defecto del producto

float
calculado, almacenado
product_qty_availableStock real de productosfloat

related: product_id.qty_available

añadido por Fabricación (mrp)

product_tmpl_idPlantilla de productomany2one

related: product_id.product_tmpl_id

product_uomUnidadmany2one
obligatoriocalculado, almacenado
product_uom_qtyDemanda

Esta es la cantidad de producto que se planifica mover. Reducir esta cantidad no genera una entrega parcial. Modificar esta cantidad en movimientos asignados afecta a la reserva de producto, y debe hacerse con cuidado.

float
obligatorio
product_virtual_availableCantidad prevista de productofloat

related: product_id.virtual_available

añadido por Fabricación (mrp)

production_group_idUtilizado para produccionesmany2one

añadido por Fabricación (mrp)

production_idOrden de fabricación de productos terminadosmany2one

añadido por Fabricación (mrp)

propagate_cancelPropagar cancelación y división

Si está marcado, cuando este movimiento se cancela, también cancela el movimiento relacionado.

boolean
purchase_line_idLínea de pedido de compramany2one
solo lectura

añadido por Stock de Compra (purchase_stock)

quantityCantidadfloat
calculado, almacenado
raw_material_production_idOrden de producción para componentesmany2one

añadido por Fabricación (mrp)

referenceReferenciachar
calculado, almacenado
reference_idsReferenciasmany2many
remaining_qtyCantidad restantefloat
calculado

añadido por Contabilidad del SGA (stock_account)

remaining_valueValor restantemonetary
calculado

añadido por Contabilidad del SGA (stock_account)

repair_idReparaciónmany2one

añadido por Reparaciones (repair)

repair_line_typeTiposelection

Valores: add (Añadir), remove (Eliminar), recycle (Reciclar)

añadido por Reparaciones (repair)

requisition_line_idsLínea de solicitudone2many

inverso: move_dest_id

añadido por Stock de Solicitud de compra (purchase_requisition_stock)

reservation_dateFecha para reservar

Calcula cuándo se debe reservar un movimiento

date
calculado, almacenado
restrict_partner_idPropietario many2one
returned_move_idsTodos los movimientos de devolución

Opcional: todos los movimientos de devolución creados por este movimiento

one2many

inverso: origin_returned_move_id

route_idsRuta de destino

Ruta preferida

many2many
rule_idRegla de stock

La regla de stock que creó este movimiento de stock

many2one
sale_line_idLínea de ventamany2one

añadido por Gestión de Ventas y Almacén (sale_stock)

scrap_idOperación de desechomany2one
solo lectura
sequenceSecuenciainteger
should_consume_qtyCantidad a consumirfloat
calculado

añadido por Fabricación (mrp)

show_details_visibleDetalles visiblesboolean
calculado
show_lots_m2oMostrar lot_idboolean
calculado
show_lots_textMostrar lot_nameboolean
calculado
show_operationsShow Operationsboolean

related: picking_id.picking_type_id.show_operations

show_quantMostrar el cuantoboolean
calculado
show_subcontracting_details_visibleMostrar detalles de subcontratación visiblesboolean
calculado

añadido por Subcontratación MRP (mrp_subcontracting)

standard_pricePrecio estándarfloat
calculado

añadido por Contabilidad del SGA (stock_account)

stateEstado

* New: The stock move is created but not confirmed. * Waiting Another Move: A linked stock move should be done before this one. * Waiting: The stock move is confirmed but the product can't be reserved. * Available: The product of the stock move is reserved. * Done: The product has been transferred and the transfer has been confirmed.

selection
solo lectura

Valores: draft (Nuevo), waiting (En espera de otro movimiento), confirmed (En espera), partially_available (Parcialmente disponible), assigned (Disponible), done (Hecho), cancel (Cancelado)

to_refundActualizar cantidades en pedidos de venta/compra

Activar una disminución de la cantidad entregada/recibida en el pedido de venta/compra asociado

boolean

añadido por Contabilidad del SGA (stock_account)

unbuild_idOrden de desmontajemany2one

añadido por Fabricación (mrp)

unit_factorFactor unitariofloat
calculado, almacenado

añadido por Fabricación (mrp)

use_expiration_dateUsar fecha de caducidadboolean

related: product_id.use_expiration_date

añadido por Fecha de caducidad en productos (product_expiry)

valueValor

El valor actual del movimiento. Es cero si el movimiento no está valorizado.

monetary

añadido por Contabilidad del SGA (stock_account)

value_computed_justificationDescripción del valor calculadotext
calculado

añadido por Contabilidad del SGA (stock_account)

value_justificationDescripción del valortext
calculado

añadido por Contabilidad del SGA (stock_account)

value_manualValor manualmonetary
calculado

añadido por Contabilidad del SGA (stock_account)

warehouse_idAlmacén

el almacén a considerar para la selección de la ruta en el próximo abastecimiento (si lo hay).

many2one
weightPesofloat
calculado, almacenado

añadido por Entrega - Stock (stock_delivery)

workorder_idOrden de trabajo a consumirmany2one

añadido por Fabricación (mrp)

create_dateCreado eldatetime
solo lecturaautomático
create_uidCreado pormany2one
solo lecturaautomático
display_nameNombre mostradochar
solo lecturacalculadoautomático
idIDinteger
solo lecturaautomático
write_dateÚltima actualización eldatetime
solo lecturaautomático
write_uidÚltima actualización pormany2one
solo lecturaautomático

Relaciones

Modelos enlazados desde este modelo

Campos de otros modelos que apuntan aquí

Leer este modelo por la API

Ejemplo de llamada a la API JSON-2 de Odoo 19: lectura de los cinco primeros registros con campos reales del modelo. Sustituya la instancia, la base y la clave API por las suyas.

curl
curl -X POST "https://su-instancia.odoo.com/json/2/stock.move/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: su-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["reference","company_id","date","location_dest_id","location_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://su-instancia.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "su-base"}

res = requests.post(
    f"{BASE_URL}/stock.move/search_read",
    headers=headers,
    json={"domain": [], "fields": ["reference","company_id","date","location_dest_id","location_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • El acceso a la API externa está reservado al plan Custom de Odoo.
  • XML-RPC y JSON-RPC se retirarán en Odoo 22 (otoño de 2028): use JSON-2.
  • Se aplican los permisos de acceso y las reglas de registro del usuario de la clave.

Citar esta herramienta

¿Escribe un tutorial, una documentación interna o una respuesta en un foro? Copie este enlace para dirigir a sus lectores a la ficha actualizada.

<a href="https://aidoo.ai/es/outils/explorateur-modeles-odoo/stock-move">stock.move (Odoo 19.0)</a>

Fuentes

Datos verificados el 23 de septiembre de 2026 · Odoo 19.0 Community

¿Tiene un proyecto Odoo o quiere aprovechar su ERP con la IA? Hablemos

Implantación, desarrollo de módulos, conexión de Claude o ChatGPT a sus datos: cuéntenos su contexto y le responderemos en 24 horas laborables.