El camino que no necesita el botón
Antes de pulsar nada, conviene saber que el módulo puede pedir la cancelación a Shopify por sí solo. En la ficha de Instancias de Shopify (Shopify Instances), pestaña Operaciones (Operations), grupo Configuración de sincronización (Sync Settings), está la casilla Enviar cancelaciones a Shopify automáticamente (Auto-push cancellations to Shopify). Su ayuda dice: «Cuando un pedido de venta vinculado a Shopify se cancela en Odoo, cancelarlo también en Shopify.» La casilla viene desactivada por defecto.
Con la casilla activada, al cancelar un pedido de venta en Odoo el módulo se lo pide a Shopify si el pedido está vinculado a una instancia, tiene referencia de pedido de Shopify y ha quedado cancelado. Si esa petición falla, el error se anota en el registro y la cancelación en Odoo no se deshace.
El botón Cancelar en Shopify es la vía manual: se pulsa desde la ficha del pedido de Shopify. Cuando el botón cancela el pedido de venta de Odoo, lo hace marcando que esa cancelación no se envíe de nuevo a Shopify por el camino automático.

Cuándo aparece el botón
Está en la ficha de Embudo de preparación (Fulfilment Funnel), que se abre desde Shopify › Operaciones › Pedidos (Shopify › Operations › Orders). Para ver ese menú hace falta el permiso Visor (Viewer).
La condición de la vista solo mira el campo Estado (State): el botón se oculta cuando vale Cancelado (Cancelled) y se ve con cualquier otro valor. El valor por defecto es Abierto (Open), así que en un pedido recién llegado lo verás. Los demás valores son Parcialmente completado (Partially Fulfilled), Completado (Fulfilled) y Reembolsado (Refunded). El botón está en Odoo 17, 18, 19 y 20, con la misma condición.
Verlo no es lo mismo que poder usarlo: la condición de la vista solo habla del estado, y el acceso se comprueba al pulsarlo (más abajo).

Con Odoo en castellano, el botón se llama Cancelar en Shopify.
Un caso: Tienda Aurora cancela un pedido
Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Tienda Aurora (empresa inventada para este ejemplo) vende por Shopify y gestiona los pedidos en Odoo. Un cliente pide anular una compra que aún no ha salido. Marta, de atención al cliente, tiene acceso de operador de Shopify.
- Marta abre
Shopify › Operaciones › Pedidosy entra en la ficha del pedido. ElEstadoesAbiertoy el botón se ve. - Pulsa
Cancelar en Shopify. Shopify no devuelve ningún error con texto. - El
Estadopasa aCancelado, el botón desaparece y el pedido de venta vinculado se cancela en Odoo.
Al día siguiente le llega otro caso y Shopify devuelve un error con su motivo. Marta ve La cancelación del pedido de Shopify falló: …, con el texto que devuelve Shopify detrás de los dos puntos. El Estado sigue como estaba y el pedido de venta no se toca. Lo que le toca es leer el motivo.
Un compañero que solo tiene el permiso Visor abre la misma ficha, ve el botón y, al pulsarlo, recibe el aviso de acceso que aparece en la tabla de abajo.
Qué comprueba y qué hace, en orden
Este es el orden del código de Odoo 20. En cuanto una comprobación falla, el botón se detiene y no guarda nada de lo que iba a cambiar.
- Comprueba que tienes acceso de operador o de gestor de Shopify.
- Comprueba que el pedido no esté ya cancelado (el botón ya se oculta en ese estado).
- Comprueba que el campo
Pedido de Shopify(Shopify Order) tenga valor. - Pide la cancelación a Shopify. Si hay que avisar al cliente, reembolsar o reponer stock, lo decide la configuración de la instancia del pedido: el botón no pregunta nada. Si Shopify devuelve errores con texto, el botón se detiene aquí.
- Si el paso anterior no se ha detenido, escribe
CanceladoenEstado. - Si el pedido tiene un
Pedido de venta(Sale Order) vinculado y ese pedido no está cancelado, intenta cancelarlo en Odoo. Si esa cancelación falla, el error queda en el registro, el botón no muestra ningún mensaje por ello y el pedido de Shopify se queda enCancelado.

Los campos Pedido de Shopify, Pedido de venta y Estado se ven en la ficha y los rellena el módulo, no el usuario. Pedido de Shopify es de solo lectura.
Mensajes que puede dar al pulsarlo
Estos son algunos de los mensajes que puede dar el botón:
| Mensaje | Cuándo sale | Qué hacer |
|---|---|---|
You need Shopify Operator (or Manager) access for this action. | Al pulsar el botón sin acceso de operador ni de gestor de Shopify. | Pide ese acceso o que lo pulse otra persona que lo tenga. |
No se encontró ID de pedido de Shopify. (No Shopify order ID found.) | Al pulsar el botón con Pedido de Shopify vacío. | Revisa ese campo en la ficha: no se escribe a mano, lo rellena el módulo. |
La cancelación del pedido de Shopify falló: … (Shopify order cancel failed: …) | Al pulsar el botón, cuando Shopify devuelve errores con texto; el texto de Shopify va en lugar de los puntos suspensivos. | Lee el motivo que da Shopify. En ese caso el botón se detiene y el estado no cambia. |
Qué sacar del caso
- Con la casilla automática desactivada, cancelar el pedido de venta en Odoo no avisa a Shopify por ese camino; el botón sí lo hace.
- El
EstadoCanceladose escribe después de pedir la cancelación a Shopify, salvo que Shopify devuelva errores con texto: entonces saleLa cancelación del pedido de Shopify falló: …y no cambia nada. - Un fallo al cancelar el pedido de venta de Odoo no se ve en pantalla: si dudas, comprueba el pedido de venta vinculado después de pulsar.
Cómo ayuda FlexigoTech
El módulo está publicado en Odoo Apps para Odoo 17, 18, 19 y 20; tienes la ficha de Odoo Apps y la página del módulo. Además del pago único del módulo, necesita la suscripción a FlexigoTech Cloud: la conexión con Shopify pasa por ese servicio, que guarda cifradas las credenciales y avisa por correo si falla la sincronización (plan Conector: 49 €/mes o 490 €/año sin IVA). FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida, por si necesitas ajustar el flujo de cancelaciones 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): views/shopify_order_views.xml
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/shopify_order.py
- 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): models/shopify_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
