21 de agosto de 2026
Cómo integrar Odoo con WooCommerce sin duplicar productos, pedidos ni clientes
Guía práctica para integrar Odoo y WooCommerce: catálogo, inventario, clientes, pedidos, facturación y los errores que generan duplicados.

Odoo y WooCommerce son, cada uno por su lado, herramientas sólidas: Odoo como ERP flexible y modular, WooCommerce como una de las plataformas de ecommerce más usadas sobre WordPress. El problema no aparece al elegir entre una y otra, sino al conectarlas. Es habitual terminar con productos duplicados, pedidos registrados dos veces o clientes que existen con datos distintos en cada sistema.
Esta guía se enfoca exclusivamente en cómo integrar correctamente Odoo con WooCommerce: qué sincronizar, en qué dirección, y qué controles evitan que la base de datos se ensucie con el correr de los meses. Si todavía estás evaluando qué cubre cada sistema por su cuenta, revisa antes la comparativa entre Odoo y WooCommerce.
Resumen rápido
- Los duplicados no son un problema de sincronización: son un problema de identidad. Sin una clave compartida, ningún conector puede saber que dos registros son el mismo.
- La dirección de cada flujo debe estar definida antes de configurar nada: Odoo manda en catálogo y stock, WooCommerce origina los pedidos.
- Depurar los duplicados existentes antes de automatizar es más barato que limpiarlos después.
- El mapeo de variantes es el punto que más productos fantasma genera en esta integración.
Por qué aparecen duplicados al conectar Odoo con WooCommerce
La causa más frecuente es que ambos sistemas se cargan o sincronizan por separado, sin un identificador único compartido para cada producto, pedido o cliente. Si un producto se crea manualmente en WooCommerce y por separado en Odoo, sin un vínculo explícito entre ambos registros, la sincronización posterior no tiene forma de saber que se trata del mismo producto y crea uno nuevo.
Hay una segunda causa, más sutil: la sincronización bidireccional sin reglas de precedencia. Cuando ambos sistemas pueden crear y modificar el mismo tipo de registro, cada uno interpreta los cambios del otro como novedades. El resultado son sobrescrituras cruzadas y registros que se multiplican.
Qué datos hay que sincronizar y en qué dirección
| Dato | Fuente de verdad | Dirección | Clave de identidad |
|---|---|---|---|
| Catálogo de productos | Odoo | Odoo → WooCommerce | SKU |
| Variantes | Odoo | Odoo → WooCommerce | SKU de variante |
| Inventario | Odoo | Odoo → WooCommerce | SKU |
| Precios | Odoo | Odoo → WooCommerce | SKU + lista |
| Clientes | Bidireccional con reglas | WooCommerce → Odoo (alta), Odoo → WooCommerce (datos fiscales) | Email o identificador fiscal |
| Pedidos | WooCommerce | WooCommerce → Odoo | Número de pedido |
| Estado de pedido | Odoo | Odoo → WooCommerce | Número de pedido |
| Facturación | Odoo | Odoo → WooCommerce | Número de pedido |
La columna que más importa es la última. Cada flujo necesita una clave estable que permita responder, en cualquier momento, si el registro que llega ya existe del otro lado.
Cómo evitar duplicados en la práctica
- Definir Odoo como fuente de verdad del catálogo y del stock, y que WooCommerce solo lo refleje. Esto elimina de raíz las sobrescrituras cruzadas de producto.
- Usar el mismo SKU en ambos sistemas desde el primer momento, sin excepciones, sin espacios finales y sin diferencias de mayúsculas. Es la regla más simple y la que más problemas evita.
- Validar clientes antes de crearlos. Antes de dar de alta un cliente en Odoo, verificar por email o identificador fiscal si ya existe. Sin esa validación, cada compra de un cliente recurrente puede generar un contacto nuevo.
- Configurar los pedidos en una sola dirección lógica. WooCommerce genera el pedido, Odoo lo procesa, y el estado vuelve a WooCommerce. Nunca al revés.
- Usar una clave de idempotencia en la creación de pedidos. El número de pedido de WooCommerce debe quedar registrado en Odoo, para que un reintento no genere un segundo pedido de venta.
- Depurar antes de automatizar. Revisar duplicados existentes de productos y clientes antes de encender la sincronización. Automatizar sobre una base sucia multiplica el problema.
Errores frecuentes en esta integración
Sincronizar el catálogo en ambas direcciones. Sin definir cuál manda, cada sistema pisa al otro. Es el error más común y el que más difícil resulta de revertir, porque para cuando se detecta ya hay cientos de registros afectados.
No mapear correctamente las variantes. Odoo y WooCommerce modelan las variantes de forma distinta. Si la relación entre producto padre y variante no está mapeada de forma explícita, aparecen productos fantasma o variantes huérfanas con stock que nadie puede vender.
Sincronizar pedidos sin validar el estado de pago. Genera pedidos de venta en Odoo antes de que el pago esté confirmado, con el consiguiente trabajo de cancelación y ajuste de stock.
Migrar clientes sin depurar. El problema viejo se arrastra a la integración nueva y aparece amplificado.
Sincronizar todo el catálogo en cada ejecución. Con catálogos grandes, sincronizar la totalidad de los productos en cada ciclo satura tanto WooCommerce como el servidor de Odoo. La sincronización debe ser incremental: solo lo que cambió desde la última ejecución.
Ignorar el impacto de WordPress. WooCommerce corre sobre WordPress, y una sincronización mal dimensionada puede afectar el rendimiento del sitio. Conviene programar las cargas masivas fuera de los horarios de mayor tráfico.
Cómo depurar los duplicados existentes antes de empezar
Un procedimiento razonable, en orden:
- Exportar los productos de ambos sistemas y comparar por SKU. Identificar los que existen en uno y no en el otro, y los que tienen SKU vacío o inconsistente.
- Normalizar el formato del SKU: mayúsculas, sin espacios, sin caracteres especiales, con un criterio único documentado.
- Resolver conflictos de producto: decidir cuál registro sobrevive y trasladar la información faltante antes de eliminar el otro.
- Comparar clientes por email y por identificador fiscal. Los duplicados por email suelen ser evidentes; los de identificador fiscal, no.
- Fusionar clientes conservando el historial de pedidos, no eliminándolo.
- Documentar las reglas aplicadas, porque van a ser exactamente las mismas que la integración necesita aplicar de forma automática.
Este trabajo es la parte menos visible del proyecto y suele ser la que determina su resultado. Si el punto de partida son planillas y cargas manuales, conviene revisar también cuándo una integración manual se convierte en riesgo operativo.
Preguntas frecuentes
¿Conviene usar un módulo de Odoo o una capa de integración externa? Un módulo puede resolver bien una operación simple, con un solo canal y sin lógica de negocio particular. Una capa externa se justifica cuando hay más sistemas involucrados (marketplaces, POS, logística), cuando se necesita monitoreo y reintentos, o cuando se prevé cambiar alguno de los dos sistemas en el futuro. En ese escenario, una integración de Odoo sobre una plataforma iPaaS conecta el ERP con todos esos canales sin depender de un módulo distinto para cada uno.
¿Qué pasa con los productos que solo existen en WooCommerce? Hay que decidirlo explícitamente antes de sincronizar: se crean en Odoo, se ignoran o se marcan para revisión manual. Dejar esa decisión sin definir es lo que produce catálogos divergentes con el tiempo.
¿Cada cuánto debería sincronizarse el stock? El stock justifica la frecuencia más alta que la operación tolere, idealmente por eventos en lugar de por intervalos: cuando cambia en Odoo, se actualiza en WooCommerce. Las sincronizaciones cada varias horas son las que generan sobreventa en picos de demanda.
¿Cómo se manejan las devoluciones en esta integración? La devolución debe registrarse en Odoo, disparar la nota de crédito y devolver el estado a WooCommerce. Procesarla solo en WooCommerce deja el stock y la contabilidad desactualizados.
¿La integración afecta el rendimiento del sitio? Puede hacerlo si se sincronizan volúmenes grandes en horarios de tráfico alto o si cada operación consulta Odoo en tiempo real sin caché. Con sincronización incremental y programación adecuada, el impacto es marginal.
Checklist para integrar Odoo con WooCommerce
- ¿Está definido qué sistema es la fuente de verdad del catálogo y del stock?
- ¿Los productos comparten el mismo SKU en ambos sistemas, con formato normalizado?
- ¿Las variantes están mapeadas explícitamente entre ambos modelos de datos?
- ¿Existe una validación que evite crear clientes duplicados?
- ¿El número de pedido de WooCommerce queda registrado en Odoo para evitar duplicados en los reintentos?
- ¿La sincronización es incremental y está programada fuera de los picos de tráfico?
- ¿Se depuraron los duplicados existentes antes de automatizar?
Quizá también te pueda interesar leer:
• “De CSV y Excel a datos en tiempo real: cuándo una integración manual se vuelve un riesgo operativo” • “Mapa de integraciones empresariales: cómo documentar sistemas, flujos y responsables antes de modernizar tu stack” Con la integración de WooCommerce con ERP de Weavee sincronizas Odoo y tu tienda sin duplicados de catálogo, clientes ni pedidos, con claves de identidad definidas por flujo y control de reintentos desde el primer día.


