Conociendo el precio de un producto utilizando una lista de precios

13 de mayo de 2025 por
Gustavo Orrillo
| Sin comentarios aún
 

Un truco que aprendí las últimas semanas mientras chequeaba el excelente módulo product_pricelist en el repositorio de Adhoc (gran módulo, si trabajan con MercadoLibre les recomiendo que instalen este módulo). En este módulo se agregaba a la pestaña de Ventas del producto una tabla con todas las listas de precio y el precio del producto en cada una.

En este momento vale la pena recordar un poco como maneja Odoo los precios. Cada producto tiene tres datos que permiten definir su precio:

  • costo: campo standard_price
  • precio de venta: campo list_price
  • moneda de costo: cost_currency_id (esto permite por ejemplo ingresar los costos en USD)

Estos elementos ayudan a definir el precio a la hora de venta. Más un cuarto elemento: la lista de precios de Odoo. Que puede trabajar de dos maneras: como la lista de precios que conocemos en Argentina o como reglas que permiten setear el precio (por ejemplo, convertir el costo en USD a ARS y agregarle un mark-up extra si pagan en cuotas)

Bien. Ahora supongamos que queremos conocer  en un modulo cual es el precio de venta de un producto en una determinada lista de precios. Para ello podemos utilizar la función _get_contextual_price del producto. Aca tenemos un ejemplo. Supongamos que estamos trabajando con un producto (modelo product.template):

pricelist_id = self.env['product.pricelist'].search([('name','=','Mayorista')])
new_price = self.with_context(pricelist=pricelist_id.id)._get_contextual_price()

En la variable new_price vamos a tener el precio en la lista de precio que acabamos de indicar en el contexto (un dia vamos a tener que explicar como funciona el contexto en Odoo)

Gustavo Orrillo 13 de mayo de 2025
Compartir
Categorías
Archivar
Identificarse dejar un comentario