Skip to main content
Octopia (Cdiscount)

What the «Submit to Octopia» button on commercial gestures does

The Submit to Octopia button sends a commercial gesture to Octopia, but first it checks the amount, the sales channel, the order status and the remaining budget; if everything passes, it leaves the gesture in InProgress and logs the submission.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 5 November 2026

Key facts

Versions
Odoo 17, 18, 19 and 20
Checked
in the connector's source code, version 20.0 · against the sources linked at the end
Reading time
4 min

Before you press: where the button is and when it shows

Commercial gestures open from Octopia › Orders › Commercial Gestures. The Octopia menu level asks for the Octopia User permission: without it, you do not see that level. The button is on the gesture form in the 17, 18, 19 and 20 branches of Odoo.

Code-built diagram: the commercial gestures menu, the Submit to Octopia button with two messages that can stop it, and the InProgress state it leaves the form in
Code-built diagram from the module's published code (not an Odoo screenshot): the menu, the button, two of the messages that can stop it and the state the gesture ends up in.
  • Go to Octopia › Orders › Commercial Gestures and open the gesture form.
  • Review Order, Amount and Reason: all three appear on the form and in the list.
  • Check that you can see the button. It is hidden when the State field holds anything other than the value of a new gesture; with the default values, it is visible.
  • If your Odoo runs in another language, look for the translated button label. With Odoo in Spanish it is Push to Octopia; in German, An Octopia übermitteln; in French, Soumettre à Octopia; in Italian, Invia a Octopia; in Portuguese, Submeter à Octopia.
Code-built diagram with the text of the Submit to Octopia button in Spanish, German, French, Italian and Portuguese
Code-built diagram from the module's published translations (not an Odoo screenshot): what the button is called depending on the language of Odoo.
48 business hours to accept each Cdiscount order. Do it in Odoo
Video: 48 business hours to accept each Cdiscount order. Do it in Odoo

What the button does when you press it, step by step

When you press it, Odoo asks for confirmation with this text: A commercial gesture refunds the customer this amount. Continue?. If you accept, in Odoo 20.0 the module runs through these checks in this order and stops at the first one that fails.

  • Confirm the prompt only if the Amount is what you want to refund to the customer: the prompt itself says the gesture refunds that amount.
  • Gesture state: if it is no longer in its initial state, the module skips it without a message and sends nothing.
  • Amount: it must be greater than zero.
  • Sales channel of the order: it only blocks if that channel has its configuration synced and that configuration says gestures are disabled. If the channel configuration has not been synced, it does not block: the Octopia API will answer.
  • Order status: it must be shipped or delivered.
  • Budget: the module asks Octopia how much is left for that order and stores what Octopia returns on the gesture (available budget and amount already applied). It only blocks if Octopia gives a figure (zero counts) and the amount exceeds it. If Octopia says nothing, it does not block and the API decides when it receives the gesture.
  • Submission: the module sends Octopia the order, the reason, the reason details (empty if there are none) and the amount.
  • Writing back: with Octopia's response, the gesture moves to InProgress and stores the reference and the date and time of submission.

If a message appears: what it means and what to do

Each message stops the action and the gesture does not change state. Each one corresponds to one of the checks above:

  • Gesture amount must be greater than zero.: correct the Amount on the form and press again.
  • Sales channel … has commercial gestures disabled.: the gap holds the channel code. The synced configuration of that channel says it does not allow gestures, so the module does not send the one for that order.
  • Commercial gestures apply to shipped or delivered orders only (order … is …).: the message gives the Octopia order identifier and its current status. Try again when the order shows as shipped or delivered.
  • Gesture amount %(amount).2f exceeds the remaining budget %(available).2f for this order.: the first value is your amount and the second is the budget Octopia has just returned. Lower the Amount until it fits.

After sending: what should have changed

  • The gesture State is InProgress.
  • The button has gone, because the state is no longer the initial one.
  • The gesture stores the reference Octopia returns (the request identifier or, if that is missing, its id) and the date and time of submission.
  • The account's sync log has an entry with a successful result that mentions the order, the amount and the reason.

Who gets the channel ready for gestures

The button uses the gesture configuration the channel already has stored. One of the steps of the scheduled task Octopia: refresh referentials (categories, brands, carriers, typologies) is syncing the configuration of the sales channels, which records whether the channel allows gestures and when it was synced. The task runs every seven days and is active on installation. It works on connected accounts and skips those that go through FlexigoTech Cloud without saved credentials or without service. If a step fails, it writes to the sync log that the refresh was incomplete.

Cost and help

The module is published on Odoo Apps for 17, 18, 19 and 20 (see its listing) and needs the FlexigoTech Cloud subscription, Connector plan: €49 a month or €490 a year, excluding VAT, with up to 3 platform accounts. The connection goes through FlexigoTech Cloud, which stores the credentials encrypted and emails you if synchronisation fails.

If you are implementing Odoo and want to review how commercial gestures fit with your orders, FlexigoTech implements Odoo 17, 18, 19 and 20 and builds custom connectors and integrations.

Keep reading

Checked in the connector's source code (version 20.0) and the linked sources

Sources