Qué dice el mensaje y cuándo sale
La acción se detiene con El albarán debe estar validado antes de enviar el fulfillment a Shopify. (Picking must be done before sending Shopify fulfillment.) cuando el albarán no está en el estado Hecho (Done). Es la primera comprobación del método que envía el fulfillment: antes de buscar la instancia de Shopify y antes de hablar con Shopify, el código compara el estado del albarán con Hecho y, si es otro, lanza el error.
Como el error detiene la acción, no se guarda nada de lo que el envío iba a escribir en el albarán. El mensaje puede salir al pulsar el botón Send Shopify Fulfillment de la ficha del albarán. Está en el código publicado de Odoo 17.0, 18.0, 19.0 y 20.0; el código del método que describimos aquí es el de Odoo 20.0.

Send Shopify Fulfillment y el mensaje que da el método (Odoo 17.0, 18.0, 19.0 y 20.0), con los rótulos en inglés del código.
La misma regla, vista desde el botón
El botón Send Shopify Fulfillment se oculta cuando el albarán no es de un pedido de Shopify o cuando su estado no es Hecho. La condición es la misma en Odoo 17.0, 18.0, 19.0 y 20.0. Dicho de otro modo:
| Albarán | ¿Se ve el botón? |
|---|---|
De un pedido de Shopify y en estado Hecho | Sí |
| De un pedido de Shopify y en otro estado | No |
| Que no es de un pedido de Shopify | No |
El botón y el mensaje comparten, por tanto, la misma exigencia: para enviar el fulfillment, el albarán tiene que estar en Hecho.
Un caso: la tienda que no encuentra el botón
Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Cerámica Ejemplo, una tienda inventada, vende por Shopify y lleva su almacén en Odoo. Marta, que prepara los envíos, abre el albarán de un pedido de Shopify con la idea de enviar el fulfillment. Busca Send Shopify Fulfillment y no está.
Mira el estado del albarán: todavía no es Hecho. Con la condición de la vista, la explicación es esa: mientras el estado sea otro, el botón queda oculto. Y si el método se ejecutara con el albarán en ese estado, saldría el mensaje de arriba y no se guardaría nada.
Marta completa la entrega en Odoo hasta que el albarán pasa a Hecho. Ahora el botón aparece. Lo pulsa y el método busca la instancia de Shopify vinculada al pedido de venta, llama a Shopify para crear el fulfillment, guarda en el albarán los datos que devuelve y deja un mensaje en el albarán.
Qué se aprende del caso:
- El estado es lo primero que se comprueba, antes de cualquier llamada a Shopify.
- Que el botón no esté no significa que falle algo: puede ser solo que el albarán no esté en
Hecho. - Si el albarán está en
Hechoy el botón sigue oculto, la otra parte de la condición es que el albarán no sea de un pedido de Shopify.
Cómo resolverlo, paso a paso
- Abre el albarán y mira su estado.
- Si no es
Hecho, completa la entrega en Odoo hasta que lo sea. Es lo que pide la condición del código. - Con el albarán en
Hecho, comprueba que apareceSend Shopify Fulfillment. Si no aparece, el albarán no es de un pedido de Shopify según la condición de la vista. - Pulsa
Send Shopify Fulfillment. - Revisa el albarán: si el envío sale bien, el método guarda en él los datos del fulfillment que devuelve Shopify, borra el error anterior y deja un mensaje en el albarán.
Si tras superar esta comprobación aparece otro mensaje distinto, ya no es este: el método sigue con otras comprobaciones y con la llamada a Shopify, y cada una tiene su propio aviso.

El albarán debe estar validado antes de enviar el fulfillment a Shopify.; el esquema muestra también su texto en alemán, francés, italiano y portugués.Requisitos y precio
Shopify Connector es de pago único por versión: 9 € por versión de Odoo, para 17.0, 18.0, 19.0 y 20.0, sin IVA, en la ficha de Odoo Apps. Además necesita la suscripción a FlexigoTech Cloud: el plan Conector cuesta 49 €/mes o 490 €/año sin IVA. Más datos en la ficha de Odoo Apps.
Otros botones del módulo
Si necesitas ayuda
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Si tu circuito de albaranes y envíos con Shopify necesita algo que el módulo no cubre, podemos revisarlo contigo.
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_connector 20.0 (c7078cd8): models/stock_picking.py
- Código del módulo: flexigobe_shopify_connector 20.0 (c7078cd8): views/stock_picking_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
