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écnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| account_move_id | movimiento_stock_id | many2one | añadido por Contabilidad del SGA ( |
| additional | Si el movimiento se añadió después de la confirmación del albarán | boolean | |
| allowed_operation_ids | Allowed Operation | one2many | related: añadido por Fabricación ( |
| allowed_uom_ids | UdM permitida | many2many→ uom.uom | calculado |
| analytic_account_line_ids | Línea de cuenta analítica | many2many | añadido por Contabilidad del SGA ( |
| availability | Cantidad prevista Cantidad en stock que puede ser reservada aún para este movimiento | float | solo lecturacalculado |
| bom_line_id | Línea de LdM | many2one | añadido por Fabricación ( |
| byproduct_id | Subproductos Línea de subproductos que generó el movimiento en una orden de fabricación | many2one | añadido por Fabricación ( |
| company_currency_id | Moneda de la empresa | many2one | solo lectura related: añadido por Contabilidad del SGA ( |
| company_id | Compañía | many2one | obligatorio |
| consume_unbuild_id | Orden de desmontaje consumida | many2one | añadido por Fabricación ( |
| cost_share | Reparto 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 ( |
| created_production_id | Orden de producción creada | many2one | añadido por Fabricación ( |
| created_purchase_line_ids | Líneas de pedido de compra creadas | many2many | añadido por Stock de Compra ( |
| date | Fecha programada Fecha programada hasta que el movimiento esté hecho, después la fecha real en la que se procesó el movimiento | datetime | obligatorio |
| date_deadline | Fecha 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_date | Fecha de alerta de retraso Procesar en esta fecha para llegar a tiempo | datetime | calculado, almacenado |
| description_picking | Descripción de la preparación de pedidos | text | calculado |
| description_picking_manual | Descripción de la preparación de pedidos manual | text | solo lectura |
| display_assign_serial | Mostrar Asignar Serie | boolean | calculado |
| display_import_lot | Mostrar importación de lote | boolean | calculado |
| forecast_availability | Disponibilidad del pronóstico | float | calculado |
| forecast_expected_date | Fecha prevista esperada | datetime | calculado |
| has_lines_without_result_package | Tiene líneas sin paquete de destino | boolean | calculado |
| has_tracking | Producto con rastreo | selection | related: |
| inventory_name | Nombre del inventario | char | solo lectura |
| is_date_editable | La fecha se puede editar | boolean | calculado |
| is_dropship | ¿Es Dropship? | boolean | calculado, almacenado añadido por Contabilidad del SGA ( |
| is_in | Es una entrada de inventario (valorizada) | boolean | calculado, almacenado añadido por Contabilidad del SGA ( |
| is_initial_demand_editable | ¿Se puede editar la demanda inicial? | boolean | calculado |
| is_inventory | Inventario | boolean | |
| is_locked | Está bloqueado | boolean | solo lecturacalculado |
| is_out | Es una salida de inventario (valorizada) | boolean | calculado, almacenado añadido por Contabilidad del SGA ( |
| is_quantity_done_editable | ¿Se puede editar la cantidad hecha? | boolean | calculado |
| is_storable | Is Storable | boolean | related: |
| is_subcontract | El movimiento es un recibo de subcontratación | boolean | añadido por Subcontratación MRP ( |
| is_valued | Está valorizado | boolean | calculado añadido por Contabilidad del SGA ( |
| location_dest_id | Ubicación intermedia La operación trae el producto a esta ubicación | many2one | obligatoriocalculado, almacenado |
| location_dest_usage | Tipo de ubicación de destino | selection | related: |
| location_final_id | Ubicació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_id | Ubicación de origen La operación toma y sugiere productos de esta ubicación. | many2one | obligatoriocalculado, almacenado |
| location_usage | Tipo de ubicación de origen | selection | related: |
| lot_ids | Números de serie | many2many | calculado |
| manual_consumption | Consumo 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 ( |
| move_dest_ids | Movimientos de destino Opcional: siguiente movimiento de stock, cuando se encadenan | many2many | |
| move_line_ids | Línea de movimiento | one2many | inverso: |
| move_lines_count | Número de líneas de movimiento | integer | calculado |
| move_orig_ids | Movimiento original Opcional: movimiento de stock previo cuando se encadenan | many2many | |
| never_product_template_attribute_value_ids | Nunca valores de atributo | many2many | |
| next_serial | Primer número de serie/lote | char | |
| next_serial_count | Cantidad de números de serie o lote | integer | |
| operation_id | Operación a consumir | many2one | añadido por Fabricación ( |
| order_finished_lot_ids | Número de lote/serie terminado | many2many | related: añadido por Fabricación ( |
| orderpoint_id | Regla de reabastecimiento original | many2one | |
| origin | Documento de origen | char | |
| origin_returned_move_id | Origen del movimiento de devolución Movimiento que creó el movimiento de devolución | many2one | |
| package_ids | Paquetes | one2many | calculado |
| packaging_uom_id | Empaquetado Unidad de embalaje para pedidos de venta o compra | many2one→ uom.uom | calculado, almacenado |
| packaging_uom_qty | Cantidad de embalaje Cantidad en la unidad de embalaje | float | calculado, almacenado |
| partner_id | Dirección de destino Dirección opcional donde se deben entregar los productos, se utiliza específicamente para lotes. | many2one | calculado, almacenado |
| picked | Recolectado Esta casilla es sólo indicativa, no valida ni genera ningún movimiento del producto. | boolean | calculado, almacenado |
| picking_code | Picking Code | selection | solo lectura related: |
| picking_id | Traslado | many2one | |
| picking_type_id | Tipo de operación | many2one | calculado, almacenado |
| price_unit | Unidad de precio | float | |
| priority | Prioridad | selection | calculado, almacenado Valores: |
| procure_method | Mé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: |
| procurement_values | Valores de abastecimiento Campo ficticio para almacenar valores de aprovisionamiento y propagarlos a etapas posteriores | json | |
| product_category_id | Categoría de producto | many2one | related: |
| product_id | Producto | many2one | obligatorio |
| product_qty | Cantidad real Cantidad en la UdM por defecto del producto | float | calculado, almacenado |
| product_qty_available | Stock real de productos | float | related: añadido por Fabricación ( |
| product_tmpl_id | Plantilla de producto | many2one | related: |
| product_uom | Unidad | many2one→ uom.uom | obligatoriocalculado, almacenado |
| product_uom_qty | Demanda 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_available | Cantidad prevista de producto | float | related: añadido por Fabricación ( |
| production_group_id | Utilizado para producciones | many2one | añadido por Fabricación ( |
| production_id | Orden de fabricación de productos terminados | many2one | añadido por Fabricación ( |
| propagate_cancel | Propagar cancelación y división Si está marcado, cuando este movimiento se cancela, también cancela el movimiento relacionado. | boolean | |
| purchase_line_id | Línea de pedido de compra | many2one | solo lectura añadido por Stock de Compra ( |
| quantity | Cantidad | float | calculado, almacenado |
| raw_material_production_id | Orden de producción para componentes | many2one | añadido por Fabricación ( |
| reference | Referencia | char | calculado, almacenado |
| reference_ids | Referencias | many2many | |
| remaining_qty | Cantidad restante | float | calculado añadido por Contabilidad del SGA ( |
| remaining_value | Valor restante | monetary | calculado añadido por Contabilidad del SGA ( |
| repair_id | Reparación | many2one | añadido por Reparaciones ( |
| repair_line_type | Tipo | selection | Valores: añadido por Reparaciones ( |
| requisition_line_ids | Línea de solicitud | one2many | inverso: añadido por Stock de Solicitud de compra ( |
| reservation_date | Fecha para reservar Calcula cuándo se debe reservar un movimiento | date | calculado, almacenado |
| restrict_partner_id | Propietario | many2one | |
| returned_move_ids | Todos los movimientos de devolución Opcional: todos los movimientos de devolución creados por este movimiento | one2many | inverso: |
| route_ids | Ruta de destino Ruta preferida | many2many | |
| rule_id | Regla de stock La regla de stock que creó este movimiento de stock | many2one | |
| sale_line_id | Línea de venta | many2one | añadido por Gestión de Ventas y Almacén ( |
| scrap_id | Operación de desecho | many2one | solo lectura |
| sequence | Secuencia | integer | |
| should_consume_qty | Cantidad a consumir | float | calculado añadido por Fabricación ( |
| show_details_visible | Detalles visibles | boolean | calculado |
| show_lots_m2o | Mostrar lot_id | boolean | calculado |
| show_lots_text | Mostrar lot_name | boolean | calculado |
| show_operations | Show Operations | boolean | related: |
| show_quant | Mostrar el cuanto | boolean | calculado |
| show_subcontracting_details_visible | Mostrar detalles de subcontratación visibles | boolean | calculado añadido por Subcontratación MRP ( |
| standard_price | Precio estándar | float | calculado añadido por Contabilidad del SGA ( |
| state | Estado * 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: |
| to_refund | Actualizar 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 ( |
| unbuild_id | Orden de desmontaje | many2one | añadido por Fabricación ( |
| unit_factor | Factor unitario | float | calculado, almacenado añadido por Fabricación ( |
| use_expiration_date | Usar fecha de caducidad | boolean | related: añadido por Fecha de caducidad en productos ( |
| value | Valor El valor actual del movimiento. Es cero si el movimiento no está valorizado. | monetary | añadido por Contabilidad del SGA ( |
| value_computed_justification | Descripción del valor calculado | text | calculado añadido por Contabilidad del SGA ( |
| value_justification | Descripción del valor | text | calculado añadido por Contabilidad del SGA ( |
| value_manual | Valor manual | monetary | calculado añadido por Contabilidad del SGA ( |
| warehouse_id | Almacén el almacén a considerar para la selección de la ruta en el próximo abastecimiento (si lo hay). | many2one | |
| weight | Peso | float | calculado, almacenado añadido por Entrega - Stock ( |
| workorder_id | Orden de trabajo a consumir | many2one | añadido por Fabricación ( |
| create_date | Creado el | datetime | solo lecturaautomático |
| create_uid | Creado por | many2one | solo lecturaautomático |
| display_name | Nombre mostrado | char | solo lecturacalculadoautomático |
| id | ID | integer | solo lecturaautomático |
| write_date | Última actualización el | datetime | solo lecturaautomático |
| write_uid | Última actualización por | many2one | solo lecturaautomático |
Relaciones
Modelos enlazados desde este modelo
- account.analytic.line: analytic_account_line_ids
- account.move: account_move_id
- mrp.bom.byproduct: byproduct_id
- mrp.bom.line: bom_line_id
- mrp.production: created_production_id, production_id, raw_material_production_id
- mrp.production.group: production_group_id
- mrp.routing.workcenter: allowed_operation_ids, operation_id
- mrp.unbuild: consume_unbuild_id, unbuild_id
- mrp.workorder: workorder_id
- product.category: product_category_id
- product.product: product_id
- product.template: product_tmpl_id
- product.template.attribute.value: never_product_template_attribute_value_ids
- purchase.order.line: created_purchase_line_ids, purchase_line_id
- purchase.requisition.line: requisition_line_ids
- repair.order: repair_id
- res.company: company_id
- res.currency: company_currency_id
- res.partner: partner_id, restrict_partner_id
- sale.order.line: sale_line_id
- stock.location: location_dest_id, location_final_id, location_id
- stock.lot: lot_ids, order_finished_lot_ids
- stock.move: move_dest_ids, move_orig_ids, origin_returned_move_id, returned_move_ids
- stock.move.line: move_line_ids
- stock.package: package_ids
- stock.picking: picking_id
- stock.picking.type: picking_type_id
- stock.reference: reference_ids
- stock.route: route_ids
- stock.rule: rule_id
- stock.scrap: scrap_id
- stock.warehouse: warehouse_id
- stock.warehouse.orderpoint: orderpoint_id
- uom.uom: allowed_uom_ids, packaging_uom_id, product_uom
Campos de otros modelos que apuntan aquí
- product.label.layout: move_ids
- product.value: move_id
- purchase.order.line: move_dest_ids
- purchase.requisition.line: move_dest_id
- repair.order: move_id
- stock.move: move_dest_ids, move_orig_ids, origin_returned_move_id
- stock.move.line: move_id
- stock.reference: move_ids
- stock.return.picking.line: move_id
- stock.valuation.adjustment.lines: move_id
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 -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}'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
- Código fuente del modelo en GitHub
- Documentación de Odoo 19: ORM API
- Documentación de Odoo 19: API externa JSON-2
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.