Por qué WooCommerce + Odoo es una combinación habitual

Odoo es uno de los ERPs de código abierto más populares del mundo. Muchas empresas lo usan como sistema de gestión (facturación, inventario, contabilidad) pero prefieren WooCommerce para la tienda online por su flexibilidad y ecosistema WordPress. El problema aparece cuando ambos sistemas necesitan hablar entre sí.

Community vs Enterprise: diferencias clave para la integración

CaracterísticaOdoo CommunityOdoo Enterprise
API XML-RPC / JSON-RPCDisponibleDisponible
Módulos avanzados de inventarioBásicosMulti-almacén, lotes, rutas
Contabilidad integradaLimitadaCompleta con conciliación
Facturación electrónicaVía módulos de tercerosNativa (Factur-X, UBL)
Hosting y actualizacionesSelfhostedOdoo.sh o selfhosted

La versión de Odoo que uses determina qué es posible integrar y cómo. Community tiene menos funcionalidad nativa, lo que puede simplificar la integración pero limitar los datos disponibles.

Opciones de integración WooCommerce-Odoo

1. Conectores estándar (plugins)

Hay diversos conectores en el mercado (algunos gratuitos, otros de pago). Funcionan bien para casos simples:

  • Sincronización básica de productos y stock
  • Creación de pedidos en Odoo
  • Mapeo simple de clientes

Limitaciones: no gestionan bien variantes complejas, listas de precios por cliente, multi-moneda, ni impuestos con reglas de localización específicas.

2. Middleware a medida

Un middleware actúa como capa intermedia que transforma, valida y sincroniza los datos entre ambos sistemas. Es la opción recomendada cuando:

  • Tienes lógica de negocio propia (descuentos por volumen, precios por canal, reglas de almacén)
  • Necesitas gestionar devoluciones, notas de crédito o pedidos parciales
  • Quieres monitorización y alertas en caso de errores de sincronización
  • Tienes un volumen de pedidos superior a 50-100/día
  • Necesitas trazabilidad fiscal completa (VeriFactu)

Las APIs de Odoo: XML-RPC y JSON-RPC

Odoo expone sus datos vía XML-RPC (tradicional) y JSON-RPC (moderno). Ambas permiten operaciones CRUD sobre cualquier modelo de Odoo, pero tienen particularidades:

  • Autenticación: por sesión, no por token. Hay que gestionar sesiones y renovaciones.
  • Rate limits: dependen de la configuración del servidor. Odoo.sh tiene límites más estrictos.
  • Filtros: usan domain expressions propias de Odoo ([('field', 'operator', value)]), no QueryString.
  • Relaciones: los datos relacionados (many2one, one2many) requieren llamadas adicionales.
  • Versiones: la estructura de los modelos puede cambiar entre versiones de Odoo (14, 15, 16, 17).

Qué sincronizar y en qué dirección

DatoDirecciónNotas
ProductosOdoo → WooCommerceSi Odoo es el master de catálogo
StockOdoo → WooCommercePor eventos (stock.move) o polling
PedidosWooCommerce → OdooCrear Sale Order automáticamente
ClientesWooCommerce → OdooCrear res.partner o actualizar
FacturasOdoo → WooCommerce (opcional)El número de factura oficial lo genera Odoo
PreciosOdoo → WooCommerceSi usas pricelists de Odoo

Errores habituales en integraciones WooCommerce-Odoo

  • Duplicar clientes en Odoo por no gestionar la detección de existentes (email, NIF)
  • No gestionar las variantes de producto correctamente (product.product vs product.template)
  • Ignorar la configuración fiscal de Odoo y crear facturas con impuestos incorrectos
  • No anticipar las actualizaciones de Odoo que pueden cambiar modelos y campos
  • Sincronizar stock sin tener en cuenta reservas y stock virtual

Si quieres ver cómo funciona un conector profesional para Odoo, aquí explicamos nuestra solución. Y si prefieres un análisis de tu caso concreto, pide un diagnóstico operativo gratuito.