Qué ves y cuándo aparece
Al pulsar Declarar a Octopia en el asistente donde está ese botón, Odoo puede mostrar Los pedidos de Fulfillment se envían por sí solos: Octopia rechazaría (409) declarar uno. Es un error: la acción se detiene y no se guarda nada de lo que el botón iba a cambiar.
El botón se ve siempre en ese asistente, en Odoo 17, 18, 19 y 20, y el mensaje está en el código publicado de las cuatro versiones. Se llega a él al pulsar ese botón.


La condición exacta en el código
En el código de Odoo 20, el aviso salta cuando se cumplen a la vez dos cosas sobre el pedido de Octopia que se está declarando:
- el pedido tiene un modo de suministro informado (no está vacío);
- ese modo de suministro no es el de vendedor.
Leído al revés: si el modo de suministro está vacío, el aviso no salta; si está informado y es el de vendedor, tampoco. Solo con un modo informado y distinto del de vendedor se detiene la acción.
Qué se mira antes y qué se mira después
El orden importa. Según el código de Odoo 20, el asistente exige primero que haya al menos un bulto. La comprobación del modo de suministro va justo después de esa exigencia y antes de revisar los bultos uno a uno, de crear el registro del envío y de llamar a Octopia.
Por eso, una vez que hay algún bulto en el asistente, da igual cómo estén rellenados sus datos: el aviso depende del pedido, no de lo que escribas en el asistente.
Qué significa
El mensaje dice dos cosas: que los pedidos de Fulfillment se envían por sí solos y que declarar uno sería rechazado por Octopia con un 409. El módulo no espera a ese rechazo: se adelanta y corta la acción antes de enviar nada. Para ese pedido no hay declaración de envío que hacer desde este botón.

Un caso ilustrativo: dos pedidos, dos resultados
Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Tienda Aurora es una empresa inventada que vende en el marketplace de Cdiscount y gestiona sus pedidos de Octopia desde Odoo. Beatriz, de logística, tiene delante dos pedidos que ya ha preparado.
Con el primero abre el asistente, añade el bulto, completa sus datos y pulsa Declarar a Octopia. El pedido no tiene modo de suministro informado, o lo tiene y es el de vendedor, así que la comprobación pasa y el asistente sigue su camino.
Con el segundo hace exactamente lo mismo, pero Odoo responde con Los pedidos de Fulfillment se envían por sí solos: Octopia rechazaría (409) declarar uno. Ese pedido tiene un modo de suministro informado y distinto del de vendedor. Beatriz prueba a cambiar de bulto y a escribir otro transportista, y el resultado es el mismo, porque la comprobación se hace antes de mirar nada de eso.
Qué aprender del caso:
- Con algún bulto en el asistente, el aviso habla del pedido, no del bulto.
- En ese intento no se creó ningún registro de envío ni se llamó a Octopia.
- Beatriz no tiene nada que corregir en los datos del bulto: ese pedido no se declara desde ahí.
Qué pasa cuando la comprobación sí pasa
Para entender el contraste, esto es lo que hace el asistente con un pedido que no dispara el aviso, según el código de Odoo 20, en orden:
- Exige al menos un bulto y, después, comprueba el modo de suministro del pedido.
- Revisa cada bulto (número de bulto y transportista) y arma la lista que se enviará.
- Crea el registro del envío con esos bultos.
- Llama al cliente de Octopia con el pedido y la lista de bultos.
- Si Octopia devuelve un error, el registro del envío queda marcado como error, con el texto del error y su detalle, y el error se vuelve a lanzar para que lo veas.
- Si todo va bien, el registro pasa a enviado con la fecha y hora, el pedido pasa a enviado, se anota una entrada de éxito en el registro de sincronización de envíos y el asistente se cierra.
Con el aviso de Fulfillment no ocurre ninguno de los pasos posteriores a la comprobación.
Qué hacer cuando sale
- Cierra el asistente: desde este botón ese pedido no se declara.
- No inviertas tiempo en el número de bulto, el transportista o el seguimiento: la comprobación va antes y no los mira.
- Si esperabas poder declararlo tú, el dato que decide es el modo de suministro del pedido. El módulo lo lee del propio pedido y no te deja seguir si está informado y no es el de vendedor.
Preguntas concretas sobre el aviso
¿Se guarda algo cuando sale?
No. Es un error que detiene la acción: no se crea el registro del envío, no se llama a Octopia y el pedido no cambia de estado.
¿Sale igual en todas las versiones?
El mensaje está en el código publicado de Odoo 17, 18, 19 y 20.
¿Puede salir si el pedido no tiene modo de suministro?
No con el modo vacío: la condición exige que esté informado y que sea distinto del de vendedor.
¿Importa cómo esté rellenado el bulto?
Para este aviso, no: la comprobación del modo de suministro va antes de revisar los datos de cada bulto. En el código de Odoo 20, lo único que se exige antes es que haya al menos un bulto en el asistente.
Cómo ayuda FlexigoTech
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Si tienes pedidos con distintos modos de suministro y quieres ordenar cómo se tratan en Odoo, podemos revisarlo contigo. El módulo está publicado para las cuatro versiones en su ficha de Odoo Apps.
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_octopia_connector 20.0 (4848da6a): wizard/octopia_shipment_wizard.py
- Código del módulo: flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_completeness2_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/en/services.html
