Saltar al contenido principal
Octopia (Cdiscount)

Cómo enviar un gesto comercial de Cdiscount desde Odoo

Un gesto comercial devuelve al cliente una parte del importe de un pedido de Cdiscount sin anularlo: un retraso, un envío cobrado de más, una pieza que falta. Con el conector de Octopia se prepara en Odoo, se comprueba cuánto presupuesto queda para ese pedido, se envía a Octopia y Odoo sigue su estado cada 5 minutos. Si lo tienes activado, cuando Octopia lo da por hecho Odoo prepara el abono en borrador.

FlexigoTech · Responsable: Víctor Gómez · Actualizado el 4 de noviembre de 2026

Lo esencial

Versiones
Odoo 17, 18, 19 y 20
Comprobado
en el código del conector, versión 17.0, 18.0, 19.0 y 20.0 · en las fuentes enlazadas al final
Lectura
3 min

Cuándo se puede

El gesto va sobre un pedido ya en camino: Odoo solo lo envía si el pedido de Octopia está en Shipped o Delivered. Además, el canal de venta tiene que admitir gestos. Lo ves en Octopia › Configuration › Sales Channels, en el grupo «Commercial Gestures» de cada canal: «Commercial Gestures Enabled», «Gesture Max Amount», «Gesture Max Rate (%)» y «Gesture Currency». Son datos de solo lectura que llegan de Octopia al sincronizar la configuración. Mientras un canal no se ha sincronizado, Odoo no frena el gesto por ese motivo y la última palabra es de Octopia.

Los botones del gesto solo los ve quien tiene permisos de gestor en el conector.

48 horas hábiles para aceptar cada pedido de Cdiscount: hazlo en Odoo
Vídeo: 48 horas hábiles para aceptar cada pedido de Cdiscount: hazlo en Odoo

Paso a paso

  1. Ve a Octopia › Orders › Commercial Gestures y crea uno nuevo.
  2. Elige el pedido y el motivo, y escribe el detalle si hace falta.
  3. Pulsa «Check Remaining Budget». Odoo lee de Octopia cuánto queda por conceder en ese pedido y lo deja en el campo de presupuesto disponible.
  4. Escribe el importe del gesto, sin pasarte de ese presupuesto.
  5. Pulsa «Submit to Octopia» y confirma: el aviso recuerda que el gesto devuelve ese importe al cliente.
  6. El gesto pasa a In Progress con la referencia de Octopia y la fecha de envío.
Esquema del recorrido de un gesto comercial de Cdiscount enviado desde Odoo
El gesto con las etiquetas de Odoo: presupuesto con «Check Remaining Budget», envío con «Submit to Octopia», consulta cada 5 minutos y, al llegar a Done, el abono en borrador. Esquema hecho a partir del código del módulo.

Los motivos

Octopia pide un motivo de su lista, y Odoo te ofrece los mismos: Late Delivery, Missing Product, Product Return Fees, Quantity Compensation, Reference Mistake, Shipping Fees, Fees Unduly Charged, Warranty Period Exceeded y Other. Elige el que describe lo que pasó; el detalle, si lo rellenas, viaja con el gesto.

Lo que comprueba al enviar

ComprobaciónAviso si falla
El canal no tiene los gestos desactivadosSales channel %s has commercial gestures disabled.
El pedido está en Shipped o DeliveredCommercial gestures apply to shipped or delivered orders only (order %s is %s).
El importe no supera el presupuesto restante, cuando es mayor que 0Gesture amount %(amount).2f exceeds the remaining budget %(available).2f for this order.

Odoo vuelve a leer el presupuesto justo antes de enviar, así que el tercer control usa la cifra del momento, no la que viste al pulsar el botón. Ese control solo frena cuando hay una cifra de presupuesto mayor que 0: con el presupuesto a 0, agotado o sin dato, Odoo envía el gesto igual y decide Octopia.

Lista de pedidos de Cdiscount en Odoo con su estado
La lista de pedidos de Cdiscount en Odoo, con canal, cliente, importe y estado: el gesto solo se envía sobre los que están en Shipped o Delivered. Captura de Odoo real con la API de Octopia simulada.

Después de enviarlo

La tarea «Octopia: poll async jobs (packages, cancellations, gestures)» pregunta a Octopia cada 5 minutos por los gestos en In Progress. Si no quieres esperar, «Poll Status» hace la misma consulta al momento. El gesto termina en Done si Octopia lo acepta o en Rejected si no; la lista los pinta en verde y en rojo.

Con Done, Odoo puede dejarte preparado el abono. Tiene que estar marcada «Auto-create Credit Notes» en la cuenta de Octopia y el pedido tiene que tener cliente. El abono se crea en borrador, con una sola línea por el importe del gesto y sin impuestos, y la referencia empieza por «Octopia commercial gesture». Va sin impuestos porque ese importe es el bruto que devolvió el canal, con el IVA ya dentro. Revísalo antes de publicarlo: si en tu contabilidad tienes que desglosar ese IVA, hazlo sin cambiar el total.

¿El gesto anula el pedido?

No. El pedido sigue igual y el cliente recibe solo el importe del gesto. Para anular el pedido entero o algunas líneas está la anulación de pedidos de Cdiscount.

¿Está en todas las versiones?

Sí, los gestos comerciales están en el conector publicado para Odoo 17, 18, 19 y 20.

Sigue leyendo

Cómo conectar Cdiscount (Octopia) con Odoo paso a pasoGuía para conectar Cdiscount y los marketplaces de Octopia con Odoo 17, 18, 19 y 20: credenciales, canal de venta, catálogo, ofertas, pedidos y envíos.Cdiscount anula los pedidos que no aceptas en 48 horas: lo que no te cuentanLas condiciones de Cdiscount piden aceptar pedidos en 48 horas hábiles y una tasa del 97,5 %. Qué pasa si no llegas y cómo lo resuelve Odoo con el conector.Vender en Cdiscount sin ERP: mitos y realidadesLo que se suele creer al vender en Cdiscount con el back office de Octopia y hojas de cálculo, contrastado con las reglas del canal y con lo que hace Odoo.
Comprobado en el código del conector (versión 17.0, 18.0, 19.0 y 20.0) y en las fuentes enlazadas

Fuentes

  • Código del módulo: flexigobe_octopia_connector · 17.0 501e336 · 18.0 e234fab · 19.0 d258001 · 20.0 5cbe12a: views/octopia_order_actions_views.xml, models/octopia_order_actions.py
  • Código del módulo: flexigobe_octopia_connector · 17.0 501e336 · 18.0 e234fab · 19.0 d258001 · 20.0 5cbe12a: models/octopia_api_client.py (GESTURE_REASON_SELECTION, GESTURE_STATUS_SELECTION), models/octopia_order_actions.py
  • Código del módulo: flexigobe_octopia_connector · 17.0 501e336 · 18.0 e234fab · 19.0 d258001 · 20.0 5cbe12a: models/octopia_order_actions.py (action_submit, action_check_available)
  • Código del módulo: flexigobe_octopia_connector · 17.0 501e336 · 18.0 e234fab · 19.0 d258001 · 20.0 5cbe12a: models/octopia_sales_channel.py, views/octopia_sales_channel_views.xml, views/menu.xml
  • Código del módulo: flexigobe_octopia_connector · 17.0 501e336 · 18.0 e234fab · 19.0 d258001 · 20.0 5cbe12a: models/octopia_order_actions.py (action_poll, _on_done), models/octopia_account.py, data/octopia_cron_data.xml
  • apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector