Qué añade el módulo al pedido de venta
El módulo amplía el pedido de venta de la app Ventas (Sales). Sobre el pedido estándar de Odoo coloca un grupo de datos de Shopify, un estado de entrega en la lista y tres botones.

Los campos de la ficha
Con los valores por defecto no se ven: el grupo Shopify de la ficha del pedido solo aparece cuando el pedido tiene Ref. de pedido de Shopify. Dentro están:
Ref. de pedido de Shopify(Shopify Order Ref) eInstancia de Shopify(Shopify Instance), ambos de solo lectura.Etiquetas de Shopify(Shopify Tags): las etiquetas del pedido de Shopify.Nota de Shopify(Shopify Note): la nota del cliente del pedido de Shopify.Prefijo de tienda de Shopify(Shopify Store Prefix), de solo lectura: el prefijo de la tienda de origen, tomado de la instancia de Shopify al importar.Total del importe de Shopify(Shopify Amount Total), de solo lectura: el total que informa Shopify, conservado para conciliarlo con el total de Odoo.Discrepancia de total de Shopify(Shopify Total Mismatch), de solo lectura: se establece al importar cuando el total del pedido de Odoo difiere del de Shopify más allá del redondeo.
Fuera de ese grupo hay dos más. Reembolsos (Refunds) está en la ficha, se oculta mientras vale cero y muestra el recuento de reembolsos de Shopify asociados al pedido. Estado de entrega de Shopify (Shopify Delivery Status) está en la lista de pedidos de venta.

Paso a paso: del pedido a las acciones
- Abre el pedido en
Ventasy mira el grupoShopify. ComparaTotal del importe de Shopifycon el total de Odoo: siDiscrepancia de total de Shopifyestá marcada, los totales diferían al importar más allá del redondeo. - En la lista de pedidos de venta, consulta
Estado de entrega de Shopify. Más abajo tienes cómo se calcula. - Decide si las ediciones de líneas viajan solas. En
Instancias de Shopify(Shopify Instances), pestañaOperaciones(Operations), grupoConfiguración de sincronización(Sync Settings), está la casillaEnviar ediciones de pedido a Shopify automáticamente(Auto-push order edits to Shopify), desactivada por defecto. Con ella activa, al guardar un pedido vinculado a Shopify en estadoPedido de venta(Sales Order) con las líneas cambiadas, Odoo manda el cambio a Shopify mediante la API de edición de pedidos. Si esa llamada falla, el fallo queda anotado en el registro del servidor y el guardado sigue adelante. - Para enviar las líneas a mano, pulsa
Enviar a Shopify(Push to Shopify). Solo aparece si el pedido tieneRef. de pedido de Shopifyy está en estadoPedido de venta. Pide confirmar: «¿Enviar las líneas del pedido actual (cantidades, productos añadidos/eliminados) al pedido vinculado de Shopify?». El módulo recorre las líneas del pedido (sin secciones, notas ni líneas de envío) y busca cada una entre las de Shopify por la variante de Shopify del producto o por un SKU que coincida. Si la cantidad difiere, la cambia pidiendo a Shopify que reponga stock; si no hay línea en Shopify y el producto tiene variante, la añade. - Decide si las cancelaciones viajan solas. En el mismo grupo está
Enviar cancelaciones a Shopify automáticamente(Auto-push cancellations to Shopify), también desactivada por defecto. Con ella activa, cuando un pedido vinculado a Shopify queda cancelado en Odoo con la acción normal de cancelar, el módulo lo cancela también en Shopify. Si eso falla, se anota en el registro del servidor y el pedido de Odoo queda cancelado igualmente. - Para cancelar a mano, pulsa
Cancelar en Shopify(Cancel in Shopify). Aparece si el pedido tieneRef. de pedido de Shopifyy mientras no esté en estadoCancelado(Cancelled). Pide confirmar: «¿Cancelar el pedido de Shopify vinculado y este pedido de Odoo?». El orden importa: primero se cancela en Shopify y, solo si no da error, se cancela el pedido de Odoo, sin volver a enviar la cancelación. Si se avisa al cliente, se reembolsa o se repone stock lo deciden los ajustes de la instancia. - Para devolver el dinero, pulsa
Reembolsar en Shopify(Refund in Shopify). No depende del estado: se oculta solo si el pedido no tieneRef. de pedido de Shopify. Pide confirmar: «¿Crear un reembolso completo de este pedido en Shopify?». El reembolso incluye las líneas importadas de Shopify, sin las de envío, con su cantidad y marcadas como devolución. El aviso al cliente y el reembolso como saldo de tienda salen de los ajustes de la instancia.

Quién puede pulsarlos y qué avisos pueden salir
Al pulsar cualquiera de los tres botones, el módulo comprueba en el servidor que tu usuario tenga acceso de Shopify Operator (o Manager). Tener solo el acceso normal de Ventas no basta. Si falta, sale You need Shopify Operator (or Manager) access to push changes to Shopify.
Otros avisos que pueden parar la acción:
- En los tres botones:
El pedido de venta … no está vinculado a un pedido de Shopify.(Sale order … is not linked to a Shopify order.) - En
Enviar a Shopify:No se pudo iniciar una edición del pedido de Shopify para ….(Could not begin a Shopify order edit for ….) yEstos productos no tienen variante de Shopify y no se pueden añadir al pedido de Shopify (edición no confirmada): …(These products have no Shopify variant and cannot be added to the Shopify order (edit not committed): …). El segundo lista los productos afectados. - En
Cancelar en Shopify:La cancelación del pedido de Shopify falló: …(Shopify order cancel failed: …), con el texto del error que devuelve Shopify. En ese caso el pedido de Odoo no se cancela.
Cómo se calcula Estado de entrega de Shopify
El valor sale del código de Odoo 20. Sus opciones son Sin validar (Not Validated), Listo para enviar (Ready to Ship), Enviado parcialmente (Partially Shipped), Enviado (Shipped) y Cancelado (Cancelled). Primero mira si el pedido está cancelado. Si no, compara lo entregado con lo pedido en las líneas de producto con cantidad pedida mayor que cero (sin secciones ni notas y solo de ciertos tipos de producto). Si no hay líneas que contar, mira las transferencias no canceladas del pedido y, si hay de salida, solo esas.
| Valor | Cuándo lo muestra |
|---|---|
Cancelado | El pedido está cancelado. |
Sin validar | Hay líneas que contar y no se ha entregado nada; o no hay líneas que contar ni transferencias sin cancelar. |
Enviado parcialmente | Lo entregado es menos que lo pedido; o, sin líneas que contar, hay transferencias terminadas y otras sin terminar. |
Enviado | Lo entregado alcanza lo pedido; o, sin líneas que contar, todas las transferencias están terminadas. |
Listo para enviar | Solo sin líneas que contar: hay transferencias sin cancelar y ninguna está terminada. |
Lo que el módulo añade a las transferencias de Inventario está en este otro artículo, y el botón de stock en este.
Versiones, suscripción y ayuda
El módulo está publicado en Odoo Apps para Odoo 17, 18, 19 y 20. Las condiciones de aparición de los tres botones son las mismas en esas cuatro versiones; el cálculo del estado de entrega y el resto del comportamiento descrito son los del código de Odoo 20. Puedes ver la ficha en Odoo Apps o la página del módulo.
Es un módulo de pago único por versión de Odoo y necesita la suscripción a FlexigoTech Cloud, plan Conector: 49 €/mes o 490 €/año sin IVA. La conexión pasa por FlexigoTech Cloud, que guarda cifradas las credenciales, vigila la sincronización y avisa por correo si falla.
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida, por si necesitas ajustar este flujo a tu tienda.
Sigue leyendo
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/sale_order.py
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (2950bdc0): views/sale_order_views.xml
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/shopify_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
