Odoo 19.0 Community · Persistente

product.product: campos, relaciones y API

El modelo product.product («Variante de producto») es un modelo persistente declarado por el módulo Productos y listas de precios y ampliado por 35 módulos más. Expone 137 campos, 108 de ellos declarados directamente en el modelo; 93 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
product.product
Etiqueta
Variante de producto
Tipo
Persistente (models.Model)
Tabla SQL
product_product
Módulo de origen
Productos y listas de precios (product)
Ampliado por
account, sale, stock, stock_account, event_product, event_booth_sale, hr_expense, point_of_sale, loyalty, mrp, mrp_account, purchase, purchase_stock, product_expiry, repair, mrp_subcontracting, mrp_subcontracting_account, stock_dropshipping, mrp_subcontracting_purchase, pos_hr, pos_loyalty, pos_self_order, product_margin, sale_project, purchase_requisition, sale_edi_ubl, sale_gelato, sale_timesheet, website_sale, website_sale_slides, website_event_sale, website_sale_stock, website_sale_wishlist, website_sale_comparison, website_sale_loyalty
Orden por defecto (_order)
default_code, name, id
Hereda de (mixins)
mail.threadmail.activity.mixinpos.load.mixin
Delegación (_inherits)
product.template: los campos de este modelo también están disponibles, mediante product_tmpl_id

Campos del modelo

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

137 de 137 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
activeActivo

Si no está marcado, permitirá ocultar el producto sin eliminarlo.

boolean
additional_product_tag_idsEtiquetas de la variantemany2many
all_product_tag_idsTodas las etiquetas de productomany2many
calculado
avg_costCoste promediomonetary
calculado

añadido por Contabilidad del SGA (stock_account)

barcodeCódigo de barras

Número de artículo internacional usado para la identificación de producto.

char
base_unit_countNúmero de unidades de base

Mostrar el precio unitario base en sus páginas de comercio electrónico. Establecer en 0 para ocultarlo para este producto.

float
obligatorio

añadido por Comercio electrónico (website_sale)

base_unit_idUnidad de medida personalizada

Defina una unidad personalizada a mostrar en el campo de precio por unidad de medida.

many2one

añadido por Comercio electrónico (website_sale)

base_unit_nameNombre de unidades de base

Muestra la unidad personalizada para los productos si está definida o, en caso contrario, la unidad de medida seleccionada.

char
calculado

añadido por Comercio electrónico (website_sale)

base_unit_pricePrecio por unidadmonetary
calculado

añadido por Comercio electrónico (website_sale)

bom_countN.° de la lista de materialesinteger
calculado

añadido por Fabricación (mrp)

bom_line_idsComponentes de LdMone2many

inverso: product_id

añadido por Fabricación (mrp)

can_image_1024_be_zoomed¿Se puede ampliar la imagen 1024?boolean
calculado
can_image_variant_1024_be_zoomed¿Se puede ampliar la imagen 1024 de la variante?boolean
calculado, almacenado
channel_idsCursosone2many

inverso: product_id

añadido por Vender cursos (website_sale_slides)

codeReferenciachar
calculado
combination_indicesÍndices de combinaciónchar
calculado, almacenado
company_currency_idMoneda de la valoración

Campo técnico para mostrar correctamente la moneda elegida de la empresa que corresponde con el valor total de las capas de valoración del producto

many2one
calculado

añadido por Contabilidad del SGA (stock_account)

date_fromFecha desde del margendate
calculado

añadido por Márgenes por productos (product_margin)

date_toFecha hasta del margendate
calculado

añadido por Márgenes por productos (product_margin)

default_codeReferencia internachar
event_ticket_idsEntradas del eventoone2many

inverso: product_id

añadido por Producto de eventos (event_product)

expected_marginMargen previsto

Venta prevista - Coste normal

float
calculado

añadido por Márgenes por productos (product_margin)

expected_margin_rateMargen previsto (%)

Margen previsto * 100 / Venta prevista

float
calculado

añadido por Márgenes por productos (product_margin)

free_qtyCantidad disponible

Available quantity (computed as Quantity On Hand - reserved quantity - quantity to remove) In a context with a single Stock Location, this includes goods stored in this location, or any of its children. In a context with a single Warehouse, this includes goods stored in the Stock Location of this Warehouse, or any of its children. Otherwise, this includes goods stored in any Stock Location with 'internal' type.

float
calculado

añadido por Inventario (stock)

gelato_product_uidUID del producto de Gelatochar
solo lectura

añadido por Gelato (sale_gelato)

image_1024Imagen 1024image
calculado
image_128Imagen 128image
calculado
image_1920Imagenimage
calculado
image_256Imagen 256image
calculado
image_512Imagen 512image
calculado
image_variant_1024Imagen de variante 1024image

related: image_variant_1920

image_variant_128Imagen de variante 128image

related: image_variant_1920

image_variant_1920Imagen de varianteimage
image_variant_256Imagen de variante 256image

related: image_variant_1920

image_variant_512Imagen de variante 512image

related: image_variant_1920

import_attribute_valuesValores del productochar
calculado
incoming_qtyEntrante

Quantity of planned incoming products. In a context with a single Stock Location, this includes goods arriving to this Location, or any of its children. In a context with a single Warehouse, this includes goods arriving to the Stock Location of this Warehouse, or any of its children. Otherwise, this includes goods arriving to any Stock Location with 'internal' type.

float
calculado

añadido por Inventario (stock)

invoice_stateEstado de la facturaselection
solo lecturacalculado

Valores: paid (Pagado), open_paid (Abierto y pagado), draft_open_paid (Borrador, abierto y pagado)

añadido por Márgenes por productos (product_margin)

is_favoriteEs favoritoboolean

related: product_tmpl_id.is_favorite

is_in_purchase_orderEsté en el pedido de compraboolean
calculado

añadido por Compra (purchase)

is_in_selected_section_of_orderEstá en la sección seleccionada del pedidoboolean
is_kitsEs un kitboolean
calculado

añadido por Fabricación (mrp)

is_product_variantEs una variante de productoboolean
calculado
lot_properties_definitionPropiedades del loteproperties_definition

añadido por Inventario (stock)

lst_pricePrecio de venta

El precio de venta se gestiona desde la plantilla de producto. Haga clic en el botón 'Configurar variantes' para establecer los precios de los atributos adicionales.

float
calculado
monthly_demandDemanda mensualfloat
calculado

añadido por Stock de Compra (purchase_stock)

mrp_product_qtyFabricadofloat
calculado

añadido por Fabricación (mrp)

nbr_moves_inNúmero de movimientos de entrada

Número de movimientos de stock entrante en los últimos 12 meses

integer
calculado

añadido por Inventario (stock)

nbr_moves_outNúmero de movimientos de salida

Número de movimientos de stock saliente en los últimos 12 meses

integer
calculado

añadido por Inventario (stock)

nbr_reordering_rulesReglas de reabastecimientointeger
calculado

añadido por Inventario (stock)

normal_costCoste normal

Suma de la multiplicación de los precios de coste y cantidad de facturas de proveedores

float
calculado

añadido por Márgenes por productos (product_margin)

orderpoint_idsReglas de stock mínimoone2many

inverso: product_id

añadido por Inventario (stock)

outgoing_qtySaliente

Quantity of planned outgoing products. In a context with a single Stock Location, this includes goods leaving this Location, or any of its children. In a context with a single Warehouse, this includes goods leaving the Stock Location of this Warehouse, or any of its children. Otherwise, this includes goods leaving any Stock Location with 'internal' type.

float
calculado

añadido por Inventario (stock)

partner_refRef. del clientechar
calculado
price_extraPrecio adicional de la variante

Esta es la suma de los precios adicionales de todos los atributos

float
calculado
pricelist_rule_idsReglas de la lista de preciosone2many
calculado

inverso: product_id

product_catalog_product_is_in_bomEl producto del catálogo está en la LdMboolean
calculado

añadido por Fabricación (mrp)

product_catalog_product_is_in_moEl producto del catálogo está en la orden de fabricaciónboolean
calculado

añadido por Fabricación (mrp)

product_catalog_product_is_in_repairEl producto del catálogo está en reparaciónboolean
calculado

añadido por Reparaciones (repair)

product_catalog_product_is_in_sale_orderEl elemento del catálogo de productos está en el pedido de ventaboolean
calculado

añadido por Ventas (sale)

product_document_countNúmero de documentosinteger
calculado
product_document_idsDocumentosone2many

inverso: res_id

product_template_attribute_value_idsValores de atributomany2many
product_template_variant_value_idsValores de las variantesmany2many
product_tmpl_idPlantilla de productomany2one
obligatorio
product_uom_idsCódigo de barras de la unidadone2many

inverso: product_id

product_variant_image_idsImágenes adicionales para el productoone2many

inverso: product_variant_id

añadido por Comercio electrónico (website_sale)

purchase_avg_pricePrecio unitario medio de compra

Precio medio en facturas de proveedores

float
calculado

añadido por Márgenes por productos (product_margin)

purchase_gapDiferencia de compra

Coste normal - Coste total

float
calculado

añadido por Márgenes por productos (product_margin)

purchase_num_invoiced# Facturado en compra

Suma de Cantidad de facturas de proveedores

float
calculado

añadido por Márgenes por productos (product_margin)

purchase_order_line_idsLíneas de pedido de compraone2many

inverso: product_id

añadido por Stock de Compra (purchase_stock)

purchased_product_qtyCompradofloat
calculado

añadido por Compra (purchase)

putaway_rule_idsReglas de almacenamientoone2many

inverso: product_id

añadido por Inventario (stock)

qty_availableCantidad real

Current quantity of products. In a context with a single Stock Location, this includes goods stored at this Location, or any of its children. In a context with a single Warehouse, this includes goods stored in the Stock Location of this Warehouse, or any of its children. stored in the Stock Location of the Warehouse of this Shop, or any of its children. Otherwise, this includes goods stored in any Stock Location with 'internal' type.

float
calculado

añadido por Inventario (stock)

reordering_max_qtyCantidad máxima de reabastecimientofloat
calculado

añadido por Inventario (stock)

reordering_min_qtyCantidad mínima de reabastecimientofloat
calculado

añadido por Inventario (stock)

sale_avg_pricePrecio unitario medio de venta

Precio medio en las facturas de clientes.

float
calculado

añadido por Márgenes por productos (product_margin)

sale_expectedVenta prevista

Suma de la multiplicación del precio del catálogo de venta y la cantidad de las facturas de cliente

float
calculado

añadido por Márgenes por productos (product_margin)

sale_num_invoiced# Facturado en venta

Suma de cantidad en facturas de cliente

float
calculado

añadido por Márgenes por productos (product_margin)

sales_countVendidofloat
calculado

añadido por Ventas (sale)

sales_gapDiferencia de ventas

Venta prevista - Volumen de negocio

float
calculado

añadido por Márgenes por productos (product_margin)

show_forecasted_qty_status_buttonMostrar botón de estado de cantidad previstaboolean
calculado

añadido por Inventario (stock)

show_on_hand_qty_status_buttonMostrar botón de estado de cantidad realboolean
calculado

añadido por Inventario (stock)

show_qty_update_buttonMostrar botón para actualizar cantidadboolean
calculado

añadido por Inventario (stock)

standard_priceCoste

Value of the product (automatically computed in AVCO). Used to value the product when the purchase cost is not known (e.g. inventory adjustment). Used to compute margins on sale orders.

float
depende de la empresa
standard_price_update_warningAdvertencia estándar de actualización del preciochar
calculado

añadido por Gastos (hr_expense)

stock_move_idsMovimiento de stockone2many

inverso: product_id

añadido por Inventario (stock)

stock_notification_partner_idsNotificaciones de disponibilidadmany2many

añadido por Disponibilidad del producto (website_sale_stock)

stock_quant_idsCuanto del stockone2many

inverso: product_id

añadido por Inventario (stock)

storage_category_capacity_idsCapacidad de la categoría de almacenamientoone2many

inverso: product_id

añadido por Inventario (stock)

suggest_estimated_priceSugerir precio estimadofloat
calculado

añadido por Stock de Compra (purchase_stock)

suggested_qtyCantidad sugeridainteger
calculado

añadido por Stock de Compra (purchase_stock)

tax_stringCadena de impuestochar
calculado

añadido por Facturación (account)

total_costCoste total

Sum of Multiplication of Invoice price and quantity of Vendor Bills

float
calculado

añadido por Márgenes por productos (product_margin)

total_marginMargen total

Volumen de negocio - Coste total

float
calculado

añadido por Márgenes por productos (product_margin)

total_margin_rateTasa de margen total (%)

Margen total * 100 / Volumen de negocio

float
calculado

añadido por Márgenes por productos (product_margin)

total_valueValor totalmonetary
calculado

añadido por Contabilidad del SGA (stock_account)

turnoverVolumen de negocio

Suma de la multiplicación del precio de factura y la cantidad de las facturas de cliente

float
calculado

añadido por Márgenes por productos (product_margin)

used_in_bom_count# LdM usados dondeinteger
calculado

añadido por Fabricación (mrp)

valid_eanEl código de barras tiene un EAN válidoboolean
calculado

añadido por Inventario (stock)

variant_bom_idsVariantes de la LdM del productoone2many

inverso: product_id

añadido por Fabricación (mrp)

variant_ribbon_idCinta de la variantemany2one

añadido por Comercio electrónico (website_sale)

virtual_availableCantidad prevista

Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming - Quantity to Remove) In a context with a single Stock Location, this includes goods stored in this location, or any of its children. In a context with a single Warehouse, this includes goods stored in the Stock Location of this Warehouse, or any of its children. Otherwise, this includes goods stored in any Stock Location with 'internal' type.

float
calculado

añadido por Inventario (stock)

volumeVolumenfloat
website_idSitio webmany2one

related: product_tmpl_id.website_id

añadido por Comercio electrónico (website_sale)

website_urlURL del sitio web

La URL completa para acceder al documento a través del sitio web.

char
calculado

añadido por Comercio electrónico (website_sale)

weightPesofloat
write_dateEscribir la fechadatetime
calculado, almacenado
activity_calendar_event_idSiguiente evento en el calendario de actividades.many2one
calculado

heredado de mail.activity.mixin

activity_date_deadlineFecha límite de la siguiente actividaddate
solo lecturacalculado

heredado de mail.activity.mixin

activity_exception_decorationDecoración de Actividad de Excepción

Tipo de actividad de excepción en el registro.

selection
calculado

Valores: warning (Alerta), danger (Error)

heredado de mail.activity.mixin

activity_exception_iconIcono

Icono para indicar una actividad de excepción.

char
calculado

heredado de mail.activity.mixin

activity_idsActividadesone2many

inverso: res_id

heredado de mail.activity.mixin

activity_stateEstado de la actividad

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
calculado

Valores: overdue (De retraso), today (Hoy), planned (Planificado)

heredado de mail.activity.mixin

activity_summaryResumen de la siguiente actividadchar

related: activity_ids.summary

heredado de mail.activity.mixin

activity_type_iconIcono de tipo de actividadchar

related: activity_ids.icon

heredado de mail.activity.mixin

activity_type_idTipo de la siguiente actividadmany2one

related: activity_ids.activity_type_id

heredado de mail.activity.mixin

activity_user_idUsuario responsablemany2one
solo lecturacalculado

heredado de mail.activity.mixin

has_messageTiene un mensajeboolean
calculado

heredado de mail.thread

message_attachment_countNúmero de archivos adjuntosinteger
calculado

heredado de mail.thread

message_follower_idsSeguidoresone2many

inverso: res_id

heredado de mail.thread

message_has_errorError de envío de mensaje

Si está marcada, algunos mensajes tienen error de envío.

boolean
calculado

heredado de mail.thread

message_has_error_counterNúmero de errores

Número de mensajes con error de envío

integer
calculado

heredado de mail.thread

message_has_sms_errorError de envío del SMS

Si está marcada, algunos mensajes tienen error de envío.

boolean
calculado

heredado de mail.thread

message_idsMensajesone2many

inverso: res_id

heredado de mail.thread

message_is_followerEs un seguidorboolean
calculado

heredado de mail.thread

message_needactionAcción requerida

Si está marcada, hay nuevos mensajes que requieren su atención.

boolean
calculado

heredado de mail.thread

message_needaction_counterNúmero de acciones

Número de mensajes que requieren una acción

integer
calculado

heredado de mail.thread

message_partner_idsSeguidores (Contactos)many2many
calculado

heredado de mail.thread

my_activity_date_deadlineFecha límite de mi actividaddate
solo lecturacalculado

heredado de mail.activity.mixin

rating_idsCalificacionesone2many

inverso: res_id

heredado de mail.thread

website_message_idsMensajes del sitio web

Historial de comunicación del sitio web

one2many

inverso: res_id

heredado de mail.thread

create_dateCreado eldatetime
solo lecturaautomático
create_uidCreado pormany2one
solo lecturaautomático
display_nameNombre mostradochar
solo lecturacalculadoautomático
idIDinteger
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/product.product/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: su-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["base_unit_count","product_tmpl_id","base_unit_id","variant_ribbon_id","website_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}/product.product/search_read",
    headers=headers,
    json={"domain": [], "fields": ["base_unit_count","product_tmpl_id","base_unit_id","variant_ribbon_id","website_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/product-product">product.product (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.