product.category: campos, relaciones y API
El modelo product.category («Categoría de producto») es un modelo persistente declarado por el módulo Productos y listas de precios y ampliado por 6 módulos más. Expone 43 campos, 24 de ellos declarados directamente en el modelo; 21 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.category- Etiqueta
- Categoría de producto
- Tipo
- Persistente (models.Model)
- Tabla SQL
product_category- Módulo de origen
- Productos y listas de precios (
product) - Ampliado por
- account, delivery, stock, stock_account, point_of_sale, mrp_account
- Orden por defecto (_order)
complete_name- Campo mostrado (_rec_name)
complete_name- Hereda de (mixins)
- mail.threadpos.load.mixin
Campos del modelo
24 campos propios, 13 heredados de mixins y 6 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.
43 de 43 campos mostrados
| Nombre técnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| account_stock_variation_id | Cuenta de variación de existencias | many2one | related: añadido por Contabilidad del SGA ( |
| anglo_saxon_accounting | Utilizar contabilidad anglosajona Si se marca, el producto se valorará según el método contable anglosajón. | boolean | calculado añadido por Contabilidad del SGA ( |
| child_id | Categorías hijas | one2many | inverso: |
| complete_name | Nombre completo | char | calculado, almacenado |
| filter_for_stock_putaway_rule | stock.putaway.rule | boolean | añadido por Inventario ( |
| name | Nombre | char | obligatorio |
| packaging_reserve_method | Reservar embalajes Reserve Only Full Packagings: will not reserve partial packagings. If customer orders 2 pallets of 1000 units each and you only have 1600 in stock, then only 1000 will be reserved Reserve Partial Packagings: allow reserving partial packagings. If customer orders 2 pallets of 1000 units each and you only have 1600 in stock, then 1600 will be reserved | selection | Valores: añadido por Inventario ( |
| parent_id | Categoría padre | many2one | |
| parent_path | Ruta padre | char | |
| parent_route_ids | Rutas padre | many2many | calculado añadido por Inventario ( |
| product_count | N.° de productos El número de productos bajo esta categoría (No considera las categorías hijas) | integer | calculado |
| product_properties_definition | Propiedades del producto | properties_definition | |
| property_account_expense_categ_id | Cuenta de gastos El gasto se contabiliza cuando se valida una factura del proveedor, excepto en la contabilidad anglosajona con valoración perpetua del inventario, en cuyo caso el gasto (cuenta del coste de los bienes vendidos) se reconoce en la validación de la factura del cliente. | many2one | depende de la empresa añadido por Facturación ( |
| property_account_income_categ_id | Cuenta de ingresos Esta cuenta se utilizará al validar una factura de cliente. | many2one | depende de la empresa añadido por Facturación ( |
| property_cost_method | Método de coste Standard Price: The products are valued at their standard cost defined on the product. Average Cost (AVCO): The products are valued at weighted average cost. First In First Out (FIFO): The products are valued supposing those that enter the company first will also leave it first. | selection | depende de la empresa Valores: añadido por Contabilidad del SGA ( |
| property_price_difference_account_id | Cuenta de diferencia de precio Con la valoración perpetua, esta cuenta registrará la diferencia de precio entre el precio estándar y el precio de la factura. | many2one | depende de la empresa añadido por Contabilidad del SGA ( |
| property_stock_account_production_cost_id | Cuenta de producción This account will be used as a valuation counterpart for both components and final products for manufacturing orders. If there are any workcenter/employee costs, this value will remain on the account once the production is completed. | many2one | depende de la empresa añadido por Contabilidad - MRP ( |
| property_stock_journal | Diario de stock Al realizar una valoración de inventario automatizada, este es el diario de contabilidad en el que las entradas se contabilizarán automáticamente cuando se procesen los movimientos de stock. | many2one | depende de la empresa añadido por Contabilidad del SGA ( |
| property_stock_valuation_account_id | Cuenta de valoración de stock Cuando la valoración de inventario automatizada está habilitada en un producto, esta cuenta mantendrá el valor actual de los productos. | many2one | depende de la empresa añadido por Contabilidad del SGA ( |
| property_valuation | Valoración del inventario Periodic: The accounting entries are suggested manually in the inventory valuation report. Perpetual: An accounting entry is automatically created to value the inventory when a product is billed or invoiced. | selection | depende de la empresa Valores: añadido por Contabilidad del SGA ( |
| putaway_rule_ids | Reglas de almacenamiento | one2many | inverso: añadido por Inventario ( |
| removal_strategy_id | Forzar estrategia de salida Set a specific removal strategy that will be used regardless of the source location for this product category. FIFO: products/lots that were stocked first will be moved out first. LIFO: products/lots that were stocked last will be moved out first. Closest location: products/lots closest to the target location will be moved out first. FEFO: products/lots with the closest removal date will be moved out first (the availability of this method depends on the "Expiration Dates" setting). Least Packages: FIFO but with the least number of packages possible when there are several packages containing the same product. | many2one | añadido por Inventario ( |
| route_ids | Rutas | many2many | añadido por Inventario ( |
| total_route_ids | Todas de rutas | many2many | solo lecturacalculado añadido por Inventario ( |
| has_message | Tiene un mensaje | boolean | calculado heredado de mail.thread |
| message_attachment_count | Número de archivos adjuntos | integer | calculado heredado de mail.thread |
| message_follower_ids | Seguidores | one2many | inverso: heredado de mail.thread |
| message_has_error | Error de envío de mensaje Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_has_error_counter | Número de errores Número de mensajes con error de envío | integer | calculado heredado de mail.thread |
| message_has_sms_error | Error de envío del SMS Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_ids | Mensajes | one2many | inverso: heredado de mail.thread |
| message_is_follower | Es un seguidor | boolean | calculado heredado de mail.thread |
| message_needaction | Acción requerida Si está marcada, hay nuevos mensajes que requieren su atención. | boolean | calculado heredado de mail.thread |
| message_needaction_counter | Número de acciones Número de mensajes que requieren una acción | integer | calculado heredado de mail.thread |
| message_partner_ids | Seguidores (Contactos) | many2many | calculado heredado de mail.thread |
| rating_ids | Calificaciones | one2many | inverso: heredado de mail.thread |
| website_message_ids | Mensajes del sitio web Historial de comunicación del sitio web | one2many | inverso: heredado de mail.thread |
| 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.account: account_stock_variation_id, property_account_expense_categ_id, property_account_income_categ_id, property_price_difference_account_id, property_stock_account_production_cost_id, property_stock_valuation_account_id
- account.journal: property_stock_journal
- product.category: child_id, parent_id
- product.removal: removal_strategy_id
- stock.putaway.rule: putaway_rule_ids
- stock.route: parent_route_ids, route_ids, total_route_ids
Campos de otros modelos que apuntan aquí
- account.analytic.applicability: product_categ_id
- account.analytic.distribution.model: product_categ_id
- account.analytic.line: product_category
- account.invoice.report: product_categ_id
- account.move.line: product_category_id
- loyalty.reward: discount_product_category_id
- loyalty.rule: product_category_id
- product.category: parent_id
- product.pricelist.item: categ_id
- product.template: categ_id
- purchase.report: category_id
- report.pos.order: product_categ_id
- sale.order.line: categ_id
- sale.report: categ_id
- stock.move: product_category_id
- stock.picking.type: wave_category_ids
- stock.putaway.rule: category_id
- stock.quant: product_categ_id
- stock.route: categ_ids
- stock.warehouse.orderpoint: product_category_id
- vendor.delay.report: category_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/product.category/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: su-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["complete_name","name","account_stock_variation_id","parent_id","property_account_expense_categ_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}/product.category/search_read",
headers=headers,
json={"domain": [], "fields": ["complete_name","name","account_stock_variation_id","parent_id","property_account_expense_categ_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-category">product.category (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.