Importar tarifas de proveedor a Odoo consiste en cargar las listas de precios que tus proveedores te facilitan (CSV, XML, API o portal web) dentro del módulo Compras/Inventario del ERP, manteniendo actualizados costes, descuentos y referencias. El proceso se automatiza con reglas de mapeo, validaciones y, desde hace pocos meses, con agentes de IA que leen correos y catálogos heterogéneos sin necesidad de tocar una sola línea de Python.
Qué significa realmente importar tarifas de proveedor en Odoo
En el día a día de una empresa con decenas de proveedores, las tarifas cambian cada semana: subidas de materia prima, campañas temporales, acuerdos marco revisados. Tener esos datos desactualizados en Odoo provoca márgenes mal calculados, ventas a precio incorrecto y stock valorado por debajo del coste real.
Por eso, importar tarifas no es una tarea puntual: es un flujo recurrente que debería ejecutarse de forma programada. En Odoo Community (versiones 17 y 18) y en Odoo Enterprise existen tres rutas oficiales para hacerlo, más una cuarta que ya exploran las empresas más digitalizadas.
Métodos nativos de Odoo para cargar tarifas
1. Importación manual desde CSV o Excel
El módulo Compras incorpora en Configuración > Importar un asistente que acepta archivos CSV/XLSX. Para que funcione sin errores:
- El CSV debe respetar el orden de columnas que espera Odoo: referencia interna, referencia del proveedor, nombre del producto, precio, moneda, cantidad mínima y fecha de validez.
- Las cabeceras han de coincidir exactamente con los campos del modelo product.supplierinfo.
- Conviene marcar "Actualizar si existe" en lugar de "Crear nuevo" para evitar duplicados por cambios de versión.
Es el método más usado en empresas pequeñas, pero no escala: cuando tienes 15 proveedores que renuevan cada lunes, alguien del departamento de compras termina perdiendo tres horas en clicar "Importar".
2. Intercambio electrónico vía XML-RPC o API JSON-RPC
Para proveedores con sistema propio (EDI, ERP propio, marketplace B2B), Odoo expone una API completa. Lo habitual es:
- Generar una clave API en el usuario con permisos de compras.
- Construir un script en Python o en una herramienta low-code que lea el endpoint del proveedor.
- Transformar cada supplierinfo al formato que entiende Odoo (diccionario con los campos del modelo).
- Lanzar la llamada execute_kw cada cierto tiempo mediante cron o Airflow.
Aquí es donde muchas pymes se atascan, porque no tienen equipo técnico interno. En nuestra guía de automatización para pymes explicamos cómo montar este flujo sin programar.
3. Módulo Purchase Price List Update del OCA
La OCA (Odoo Community Association) mantiene un módulo estable que actualiza precios en bloque a partir de un CSV, conservando histórico y calculando variaciones porcentuales. Es la opción recomendada si trabajas con Odoo Community y necesitas trazabilidad de cambios.
4. Agentes de IA que leen correos y catálogos PDF
La cuarta vía, la más reciente, consiste en desplegar un agente que monitoriza el buzón de compras, abre los adjuntos (PDF, XLSX, imágenes escaneadas), extrae las tarifas con OCR + LLM y lanza la importación por API directamente en Odoo. Es exactamente el tipo de proyecto que abordamos en esta comparativa de proveedores de agentes IA para empresas sin equipo técnico.
Paso a paso: importación CSV funcional
Aunque la opción 4 es la más avanzada, la mayoría de las empresas que nos llegan parten de la opción 1. Estos son los pasos que recomendamos:
- Exporta desde tu proveedor su tarifa en CSV. Si solo te la facilita en PDF, pídele el equivalente o usa una herramienta de conversión.
- Revisa que las referencias coincidan con las que tienes en Odoo. Si tu proveedor usa EAN13, créalo como código de barras en la ficha del producto y mapea por él.
- En Odoo, ve a Compras > Configuración > Tarifas de proveedor > Importar.
- Carga el CSV, asigna el proveedor por defecto y comprueba la vista previa: Odoo muestra cuántas líneas va a crear, actualizar o rechazar.
- Si la previsualización es correcta, lanza la importación.
- Programa un correo de validación al responsable de compras para que confirme.
Errores frecuentes al importar tarifas
- Moneda distinta. El proveedor factura en USD y Odoo está configurado solo en EUR. Solución: activar multi-moneda en Contabilidad > Configuración > Monedas.
- Fechas de validez solapadas. El mismo proveedor tiene dos tarifas activas para el mismo producto. Revisa el campo date_start y date_end.
- Cantidades mínimas no respetadas. La tarifa indica "a partir de 100 uds., 5% descuento". Si no rellenas min_qty, Odoo no aplica el descuento.
- Impuestos. Un cambio de IVA en el proveedor se aplica automáticamente, pero si tu producto ya tenía otro, el resultado es un desajuste. Solución: campo company_id en la tarifa.
- Caracteres especiales (ñ, tildes, comillas en el nombre del producto). Solución: codificación UTF-8 y escape de comillas dobles.
Cómo automatizar la importación de tarifas con IA
Cuando la empresa trabaja con más de cinco proveedores y las tarifas cambian cada mes, automatizar deja de ser un lujo y se vuelve una necesidad. Hay tres niveles de automatización que vemos en producción:
Nivel 1: Cron + script
Un cron de Odoo o un cron de servidor lanza cada lunes a las 07:00 un script Python que descarga los CSV de un FTP/SFTP y los importa. Coste: bajo. Limitación: solo sirve si el formato es estable.
Nivel 2: RPA + API
Herramientas como UiPath o Make conectan con el portal del proveedor (aunque no tenga API), extraen la tabla, la normalizan y la envían a Odoo por JSON-RPC. Es lo que explicamos en profundidad en nuestro caso de automatización para agencias con catálogos de touroperadores.
Nivel 3: Agente IA end-to-end
El agente lee el correo, detecta adjuntos, decide si es una tarifa o una factura, extrae los datos estructurados con un LLM, valida contra las fichas de producto en Odoo, lanza la importación y notifica al responsable por Slack o WhatsApp. En AizuaLabs desplegamos estos agentes desde 29 €/mes (chat web), 99 €/mes (agentes sectoriales) y 149 €/mes (WhatsApp), IVA aparte.
Checklist antes de ponerlo en producción
- Prueba la importación en un entorno staging con una copia real de la base de datos.
- Verifica que los permisos del usuario que ejecuta la importación son los mínimos necesarios.
- Configura un log de auditoría: Odoo registra cada cambio en mail.message si activas el tracking en Configuración > Técnico > Auditoría.
- Define qué hacer cuando falla una fila: descartar, reintentar o avisar a un humano.
- Documenta el mapeo. Un Excel con la equivalencia columna-CSV ↔ campo-Odoo ahorra horas cuando algo se rompe.
Preguntas frecuentes
¿Odoo puede importar tarifas en formato XML además de CSV?
Sí, aunque el asistente estándar de Odoo está pensado para CSV/XLSX. Para XML necesitas un módulo de la OCA (base_import_xml) o un script personalizado que parsee el XML y use la API JSON-RPC para crear los registros en product.supplierinfo.
¿Cada cuánto tiempo conviene actualizar las tarifas de proveedor?
Depende del sector. En alimentación y materiales, cada semana. En industrial con contratos anuales, una vez al mes suele bastar, salvo que se active una cláusula de revisión. Lo importante es automatizar la tarea para que el plazo sea realista.
¿Qué pasa si mi proveedor me envía la tarifa en PDF escaneado?
Necesitas un paso previo de OCR. Hoy lo más eficaz es un agente IA que combina OCR (Tesseract o Google Document AI) con un LLM que entiende tablas. Después, el resultado se inyecta en Odoo por la ruta 3 o 4 descrita arriba.
Auditoría gratuita de 30-60 min: te decimos qué automatizar primero y su ROI. Reservar auditoría →