La vía normal: la declaración sale sola al validar la entrega
El botón no es el camino habitual. Al validar una orden de entrega con el botón estándar de Odoo, que el módulo amplía, el módulo declara a Octopia los bultos de cada pedido de Octopia que hay detrás del pedido de venta de esa entrega. Si la entrega no viene de un pedido de venta, no declara nada, y solo se consideran los pedidos de la misma empresa que la entrega.
Durante esa validación el módulo salta un pedido en dos casos: si ya hay, para ese pedido y esa orden de entrega, una declaración en estado Declarado (Declared), o si el pedido tiene un modo de suministro que no es el del vendedor. Lo demás se declara.
Reintentar (Retry) es la excepción: sirve para una declaración que quedó en estado Error y que quieres volver a enviar a mano. Lo que sigue describe el código de la versión 20 de Odoo.

Cuándo aparece Reintentar
El botón está en la pantalla Declaraciones de envío (Shipment Declarations), a la que se llega por Octopia › Pedidos › Declaraciones de envío (Octopia › Orders › Shipment Declarations). Si no ves el tramo Octopia, te falta el permiso Usuario de Octopia (Octopia User). El botón existe en Odoo 17, 18, 19 y 20.
Solo se ve cuando el campo Estado (State) vale Error. Con los valores por defecto, que dejan Estado en Borrador (Draft), no se ve. Los valores de Estado son Borrador, Declarado y Error.


Reintentar; en alemán, Wiederholen; en francés, Réessayer; en italiano, Riprova; en portugués, Tentar novamente.Antes de pulsar
- Abre
Octopia › Pedidos › Declaraciones de envíoy localiza la declaración que está enError. - Abre su ficha y mira
Pedido(Order) yOrden de entrega(Delivery Order): son los dos datos con los que el botón volverá a declarar el envío. - Comprueba que
EstadoesError. El método solo actúa sobre las declaraciones en ese estado; las demás las deja como están. - Ten en cuenta que el botón no repite las dos salvaguardas de la validación (la de «ya declarado» y la del modo de suministro): solo exige que la declaración esté en
Error.
Al pulsar: lo que hace el módulo, en orden
Esto es lo que ocurre por dentro. Te sirve para saber qué esperar en pantalla.
- El módulo toma, de cada declaración en
Error, suPedidoy suOrden de entregay los usa para volver a declarar el envío. - Crea una declaración nueva con los bultos de ese pedido y esa entrega. La declaración original no se toca todavía.
- Conecta con la plataforma con la cuenta del pedido y declara el envío con el identificador de Octopia del pedido y los bultos.
- Si la plataforma lo acepta, la declaración nueva pasa a
Declaradocon su fecha de envío y el pedido de Octopia queda marcado como enviado. - Entonces, y solo entonces, la declaración original pasa también a
Declarado. El botón deja de verse en ella, porque ya no está enError. - Si la plataforma devuelve un error, la declaración nueva se queda en
Errorcon el texto del error y el detalle que da la API, y la original sigue enError.
Después de pulsar
- Abre en
Declaraciones de envíola ficha de la declaración original y la de la nueva, y mira suEstadoy suPedido. - Si la original está en
Declarado, el reintento ha salido bien. - Si sigue en
Error, el botón sigue visible y puedes pulsarlo otra vez, pero antes revisa por qué falló. - Ten presente que cada intento fallido deja una declaración nueva en
Error, con el mismoPedidoen su ficha.
Qué errores puede dar
El código contempla un fallo concreto: que la API de la plataforma devuelva un error al declarar el envío. En ese caso el módulo lo recoge, lo guarda en la declaración nueva y la deja en Error. El texto guardado es el del error de la API más su detalle, así que cambia según lo que conteste la plataforma.
Qué hacer: revisa el error que ha quedado guardado en la declaración, corrige lo que señale y pulsa Reintentar de nuevo. La conexión pasa por FlexigoTech Cloud, que vigila la sincronización y avisa por correo si falla.
Cómo ayuda FlexigoTech
Las otras acciones del módulo se explican con el mismo esquema: Enviar a Octopia e Importar. El módulo está publicado en Odoo Apps para 17, 18, 19 y 20 (consulta su ficha), es de pago único por versión y necesita la suscripción a FlexigoTech Cloud (plan Conector: 49 € al mes o 490 € al año, sin IVA). Esa conexión guarda cifradas las credenciales. Si estás implantando Odoo y quieres revisar el flujo de entregas, o necesitas una integración a medida, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida.
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): views/octopia_order_actions_views.xml
- Código del módulo: flexigobe_octopia_connector 20.0 (4848da6a): models/octopia_order_actions.py
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
