Odoo + Shopify Sync: productos, pedidos e inventario
Shopify genera más del 10% de todos los ingresos del comercio electrónico en EE. UU. Para las empresas que utilizan Odoo 19 Enterprise como columna vertebral operativa y Shopify como tienda de cara al cliente, mantener ambos sistemas sincronizados no es negociable: los sistemas desconectados significan errores de inventario, retrasos en el procesamiento de pedidos y dolores de cabeza contables.
Esta guía cubre la integración completa de Odoo-Shopify: decisiones de arquitectura, sincronización del catálogo de productos, importación de pedidos en tiempo real, gestión de inventario bidireccional, conciliación de Shopify Payments y gestión de múltiples tiendas.
Conclusiones clave
- Se admiten las API REST y GraphQL de Shopify; GraphQL preferido para Shopify Plus
- La sincronización del producto es bidireccional: crear en Odoo → publicar en Shopify o importar desde Shopify
- La sincronización del inventario se basa en eventos: se activa con cada movimiento de stock en Odoo
- El webhook de pedidos de Shopify a Odoo ofrece una importación de pedidos casi instantánea (< 30 segundos)
- La conciliación de Shopify Payments maneja pagos, tarifas y reembolsos automáticamente
- El inventario de múltiples ubicaciones se sincroniza con la función de múltiples ubicaciones de Shopify
- Los catálogos de Shopify Plus B2B (mayoristas) enlazan con las listas de precios de Odoo
- Flujo de devoluciones de Shopify a Odoo RMA con ajuste de stock automatizado
Arquitectura de integración
Enfoque API:
La integración utiliza la API de administración REST de Shopify para la mayoría de las operaciones y webhooks para actualizaciones basadas en eventos:
- REST API: CRUD de producto, lectura de pedidos, gestión de inventario
- API GraphQL: operaciones masivas (exportación de catálogos grandes), precios B2B (Shopify Plus)
- Webhooks: creación de pedidos en tiempo real, actualización de pedidos, creación de reembolsos, actualización del nivel de inventario
Topología de conexión:
Odoo 19 (ERP Backend)
↕ Product, Inventory, Price
Shopify Admin API / Webhooks
↕ Real-time events
Shopify Storefront (Customer-facing)
Autenticación:
Shopify utiliza claves API de aplicaciones privadas o OAuth de aplicaciones personalizadas:
- Aplicación privada: más sencilla, recomendada para integraciones de una sola tienda
- Aplicación personalizada (OAuth): requerida para la distribución de Shopify App Store o administración de múltiples tiendas
Para el conector ECOSIRE, configura una aplicación personalizada en el Panel de socios de Shopify.
Configuración de la aplicación Shopify
Paso 1: crea una aplicación personalizada en Shopify
- Ve a tu administrador de Shopify → Configuración → Aplicaciones y canales de ventas
- Haga clic en Desarrollar aplicaciones → Crear una aplicación.
- Establezca el nombre de la aplicación (por ejemplo, "Integración de Odoo")
- Configure los alcances de la API:
read_products, write_products read_orders, write_orders read_inventory, write_inventory read_shipping, write_shipping read_customers, write_customers read_fulfillments, write_fulfillments read_locations read_price_rules, write_price_rules - Establezca la URL del webhook:
https://your-odoo.com/shopify/webhook - Instale la aplicación → copie Token de acceso a la API de administrador
Paso 2: Configurar en Odoo
Navega a Ventas → Shopify o Inventario → Tiendas Shopify:
| Campo | Valor |
|---|---|
| Nombre de la tienda | El nombre de tu tienda |
| Dominio Shopify | tutienda.myshopify.com |
| Token de API de administrador | Desde aplicación personalizada |
| Versión API | 2024-10 (último estable) |
| Secreto del webhook | Generado automáticamente, utilizado para verificar webhooks |
| Almacén predeterminado | Almacén principal para pedidos de Shopify |
| Moneda | Moneda de la tienda |
| Empresa | Empresa Odoo para esta tienda |
| Diario de pagos | Diario de Shopify Payments |
| Diario de reembolsos | Diario de reembolsos de Shopify |
| Prefijo de pedido | por ejemplo, "SHO-" |
Paso 3: registrar webhooks
Después de guardar la configuración, haga clic en Registrar Webhooks. El conector se suscribe a:
- CÓDIGO0
- CÓDIGO0
- CÓDIGO0
- CÓDIGO0
- CÓDIGO0
- CÓDIGO0
- CÓDIGO0
- CÓDIGO0
- CÓDIGO0
Sincronización del catálogo de productos
Opciones de dirección de sincronización:
| Modo | Descripción | Caso de uso |
|---|---|---|
| Odoo → Shopify | Odoo es maestro, Shopify es display | Nuevos productos creados en Odoo ERP primero |
| Shopify → Odoo | Shopify es amo, Odoo es esclavo | Tienda Shopify existente, agregando Odoo |
| Bidireccional | Los cambios en cualquiera de los sistemas se sincronizan en ambos sentidos | Extraño; riesgo de conflictos |
Recomendado: Odoo → Shopify para nuevas implementaciones. El maestro de productos de Odoo proporciona datos más completos (información de compra, costos, lista de materiales) que Shopify no necesita.
Mapeo de campos de producto:
| Campo Odoo | Campo Shopify |
|---|---|
| Nombre del producto | Título |
| Descripción de ventas | Cuerpo HTML |
| Categoría de producto | Tipo de producto |
| Etiquetas | Etiquetas |
| Precio de lista | Precio |
| Comparar precio | Comparar al precio |
| Código de barras (EAN) | Código de barras |
| Peso | Peso |
| Imágenes del producto | Imágenes |
| Ventas correctas | Publicado (verdadero/falso) |
| Tipo de producto (servicio/almacenable) | Requiere envío |
Sincronización de variantes:
Shopify admite hasta 3 opciones de productos (Color, Tamaño, Material) con un máximo de 100 variantes por producto. El conector mapea los atributos del producto de Odoo:
- Odoo
product.template→ Producto Shopify - Odoo
product.product(variantes) → Variantes de Shopify - Valores de atributos de Odoo → Valores de opciones de Shopify
Sincronización masiva del catálogo:
Para configuración inicial con catálogos grandes (más de 1000 productos):
- Navega a Shopify → Catálogo → Sincronización masiva
- Seleccione categorías de productos para sincronizar
- Ejecute el trabajo de sincronización masiva (proceso en segundo plano)
- Supervise el progreso en el registro de sincronización.
- Revisar y resolver cualquier error de mapeo.
Gestión de pedidos
Importación de pedidos en tiempo real a través de webhooks:
Cuando un cliente realiza un pedido en Shopify, el webhook orders/create se activa en cuestión de segundos. El conector:
- Recibe la carga útil del webhook de Shopify
- Verifica la firma del webhook (HMAC-SHA256)
- Crea una orden de venta en Odoo inmediatamente.
- Devuelve 200 OK a Shopify (evita el reintento)
El tiempo de extremo a extremo desde el pago de Shopify hasta el pedido de venta de Odoo: normalmente de 3 a 15 segundos.
Mapeo de datos del pedido:
| Campo Shopify | Campo Odoo |
|---|---|
| ID de pedido | Referencia (con prefijo) |
| Nombre del cliente | nombre del socio res. |
| Correo electrónico del cliente | Correo electrónico del socio |
| Dirección de facturación | Dirección de factura |
| Dirección de envío | Dirección de entrega |
| Artículos de línea | Líneas de orden de venta |
| Códigos de descuento | Líneas de descuento |
| Método de envío | Transportista de entrega |
| Costo de envío | Línea de tarifa de envío |
| Impuesto total | Líneas impositivas |
| Estado financiero | Estado de pago |
| Estado de cumplimiento | Estado de entrega |
| Notas | Notas del cliente |
| Etiquetas | Etiquetas internas |
Campos de pedido personalizados:
Para comerciantes de Shopify Plus con atributos de pago personalizados:
- Asignar atributos de notas de pedido de Shopify a campos personalizados de Odoo
- Ejemplo: atributo "Número de pedido" →
x_purchase_order_numberen orden de venta - Ejemplo: "Mensaje de regalo" →
noteen orden de venta
Flujo de trabajo de procesamiento de pedidos:
Después de la importación, el conector gestiona el pedido a través del flujo de trabajo estándar de Odoo:
- Orden de venta confirmada
- Orden de entrega creada en Odoo WMS
- Recogidas, embalajes y envíos en almacén
- Entrega validada en Odoo (seguimiento ingresado)
- Connector envía cumplimiento a Shopify con número de seguimiento
- Shopify marca el pedido como "Cumplido" y envía un correo electrónico al cliente
Cumplimientos parciales:
Shopify admite pedidos con múltiples cumplimientos (envíe lo que esté disponible ahora, descanse más tarde). El conector maneja:
- Entrega parcial en Odoo → cumplimiento parcial enviado a Shopify
- Shopify muestra el estado de cumplimiento parcial al cliente
- Los artículos restantes crean una entrega separada cuando hay stock disponible
Sincronización de inventario
Sincronización de inventario bidireccional:
El inventario fluye en ambas direcciones para mantener la precisión:
Odoo → Shopify (dirección principal):
- Cada movimiento de stock en Odoo activa una actualización del nivel de inventario en Shopify
- Cantidad disponible = Disponible - Reservado - Stock de seguridad
- Actualizaciones a través de la API de nivel de inventario de Shopify
Shopify → Odoo (alternativa):
- Si el inventario de Shopify se ajusta manualmente (administrador o aplicación), se activa el webhook
- Connector crea un ajuste de inventario de Odoo con nota de auditoría
Shopify multiubicación:
La función de múltiples ubicaciones de Shopify rastrea el inventario por ubicación física. Asigne almacenes de Odoo a ubicaciones de Shopify:
| Almacén Odoo | Ubicación de Shopify |
|---|---|
| Almacén Principal | Ubicación principal |
| Costa este de DC | Ubicación en la costa este |
| Costa oeste de DC | Ubicación en la costa oeste |
| Remitente directo | Ubicación del proveedor |
El conector envía cantidades por ubicación a Shopify según el mapeo de ubicación del almacén.
Salvaguardias de precisión del inventario:
- El buffer de stock de seguridad evita que Shopify muestre todo el inventario disponible
- Manejo de falta de stock: cuando la cantidad llega a 0, el inventario de Shopify = 0 (no negativo)
- Continuar vendiendo cuando esté agotado: configurable por producto (algunos vendedores permiten pedidos pendientes)
Conciliación de pagos de Shopify
Estructura de tarifas de Shopify Payments:
| Plano | Tarifa en línea | Tarifa en persona |
|---|---|---|
| Básico | 2,9% + 30¢ | 2,7% |
| Shopify | 2,6% + 30¢ | 2,5% |
| Avanzado | 2,4% + 30¢ | 2,4% |
| Más | 0,2% (Pagos Shopify) | 0,2% |
Conciliación de pagos:
Shopify Payments realiza remesas a tu cuenta bancaria cada 2 o 3 días hábiles. El conector importa datos de pago:
- Descargue el informe de pagos de Shopify Payments (o mediante API)
- Importar a través de Shopify → Finanzas → Importar pago
- Connector crea entradas de diario:
- Ingresos (montos netos de venta por pedido)
- Gastos de Shopify Fees (procesamiento de pagos)
- Ajustes de reembolsos
- Pago neto por cobrar
- Cuando llegue la transferencia bancaria: conciliar con el diario de Shopify Payments
Manejo de reembolsos de Shopify:
Cuando se procesa un reembolso en Shopify:
- Se activa el webhook
refunds/create - Connector crea una nota de crédito en Odoo contra la factura original
- Si se devolvió stock (reabastecido): crea una transferencia de devolución
- Publica nota de crédito → saldo compensado contra la cuenta del cliente
Integración B2B de Shopify Plus
Shopify Plus incluye funciones B2B (catálogos mayoristas, condiciones de pago, pago neto). El conector los integra con los precios B2B de Odoo:
Mapeo de empresa y catálogo:
| Shopify B2B | Equivalente de Odoo |
|---|---|
| Empresa | res.empresa (o segmento de clientes) |
| Catálogo | Lista de precios |
| Condiciones de pago | Condiciones de pago en orden de venta |
| Borradores de pedidos | Cotizaciones (venta.pedido en borrador) |
Sincronizar precios B2B:
- Crea un catálogo Shopify B2B en el conector
- Enlace a una lista de precios de Odoo
- Asignar a empresas B2B de Shopify
- Cambios de precios en la lista de precios de Odoo → enviados automáticamente al catálogo B2B de Shopify
Gestión de múltiples tiendas
Para marcas que operan múltiples tiendas Shopify (regiones, marcas, mayoristas versus minoristas):
Múltiples configuraciones de tienda:
Crea configuraciones de conectores separadas para cada tienda Shopify:
- Diferentes credenciales API por tienda
- Visibilidad de productos específicos de la tienda (algunos productos en todas las tiendas, algunos en específico)
- Precios específicos de la tienda (precios regionales, mayoristas o minoristas)
- Asignación de inventario específica de la tienda
Asignación de inventario entre tiendas:
Available for Store A = On-Hand - Reserve for Store B - Reserve for Store C - Safety Stock
Configure reglas de asignación para evitar la sobreventa cuando varias tiendas utilizan el mismo inventario.
Preguntas frecuentes
¿Cómo maneja el conector los metacampos de productos de Shopify para datos personalizados?
Los metacampos de Shopify almacenan datos personalizados sobre productos, pedidos y clientes. El conector asigna campos específicos de Odoo a metacampos de Shopify. Por ejemplo, asigne el campo x_care_instructions de Odoo a un metacampo product.care_instructions. Configure asignaciones de metacampos en la configuración avanzada del conector por tipo de recurso.
¿Puede el conector manejar los productos de suscripción de Shopify (Shopify Subscriptions o ReCharge)?
Los pedidos de suscripción estándar de Shopify se importan como pedidos regulares en Odoo. Para las suscripciones de ReCharge, los pedidos recurrentes se activan como webhooks orders/create individuales y se importan normalmente. El conector no administra el ciclo de vida de la suscripción en Shopify: procesa cada pedido independientemente de si se genera por suscripción o es único.
¿Qué sucede si el servidor Odoo no funciona cuando se activa un webhook de Shopify?
Shopify reintentó webhooks fallidos hasta 19 veces en 48 horas. El conector procesa el webhook cuando Odoo se recupera y la orden se importa. Para una confiabilidad de misión crítica, configure Odoo con infraestructura redundante (equilibrador de carga + múltiples trabajadores) y alertas de monitoreo para tiempo de inactividad. La ventana de reintento de 48 horas proporciona un margen para el mantenimiento planificado.
¿El conector es compatible con Shopify Markets (venta internacional multidivisa)?
Sí. Shopify Markets permite vender en múltiples monedas desde una sola tienda. El conector importa pedidos en la moneda de pago del comprador y crea pedidos de venta en esa moneda en Odoo. La conversión de moneda utiliza el tipo de cambio en el momento de la importación del pedido. Configure listas de precios separadas por Shopify Market en Odoo para obtener precios locales precisos.
¿Cómo manejo las tarjetas de regalo de Shopify en Odoo?
Las tarjetas de regalo de Shopify aparecen como método de pago en los pedidos. El conector crea una línea de pago independiente para la parte de la tarjeta de regalo de cada pedido. Configure una cuenta de responsabilidad de "Tarjetas de regalo Shopify" en Odoo. Cuando se vende una tarjeta de regalo (a través de un producto de tarjeta de regalo), los ingresos se difieren. Cuando se canjea en una orden, el pasivo se liquida y se reconocen los ingresos.
Próximos pasos
Una integración Odoo-Shopify bien ejecutada se vuelve invisible: simplemente funciona y mantiene ambos sistemas sincronizados sin intervención manual. El equipo de ECOSIRE ha creado integraciones Shopify-Odoo para todo, desde marcas D2C que procesan 50 pedidos al día hasta minoristas empresariales que procesan 10 000 pedidos al día.
Comuníquese con ECOSIRE sobre su integración Shopify-Odoo →
Explora los servicios Shopify de ECOSIRE →
Comparta los detalles de su tienda y los puntos débiles actuales y nuestro equipo analizará una integración Shopify-Odoo que elimine las brechas entre su ERP y su tienda.
Escrito por
ECOSIRE Research and Development Team
Construyendo productos digitales de nivel empresarial en ECOSIRE. Compartiendo perspectivas sobre integraciones Odoo, automatización de eCommerce y soluciones empresariales impulsadas por IA.
Artículos relacionados
Australian GST Guide for eCommerce Businesses
Complete Australian GST guide for eCommerce businesses covering ATO registration, the $75,000 threshold, low value imports, BAS lodgement, and GST for digital services.
eCommerce Bookkeeping: Revenue Recognition and Sales Tax
Master eCommerce bookkeeping with correct revenue recognition timing, sales tax collection across marketplaces, and reconciliation for Shopify, Amazon, and more.
Odoo Accounting vs QuickBooks: Detailed Comparison 2026
In-depth 2026 comparison of Odoo Accounting vs QuickBooks covering features, pricing, integrations, scalability, and which platform fits your business needs.