Skip to main content
Octopia (Cdiscount)

What «Publish (Upsert)» does in Octopia Connector, step by step

Publish (Upsert) publishes the selected offers to Octopia: it groups them by account and sales channel, checks that no mandatory data is missing and sends them in packages. Afterwards each offer is left pending synchronisation. The Offers screen also has a Publish Selected button.

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

Where the button is and when you see it

Offers open from the menu Octopia › Offers › Offers. The Octopia step asks for the Octopia User permission: without it, you do not see that step.

The Publish (Upsert) button is on the offer view and is always visible, in Odoo 17, 18, 19 and 20. The Publish Selected button is on the Offers screen and exists in the 17, 18, 19 and 20 branches. Pressing Publish Selected triggers the same publication method, which is what is described below.

Code-built diagram, not an Odoo screen: the menu Octopia › Offers › Offers and the Publish (Upsert) button, with the unset sales channel warning beside it
Diagram built with code from the module's published code, using the labels from the code; it is not an Odoo screen. It shows the menu and the Publish (Upsert) button (Odoo 17, 18, 19 and 20).

The label of the button depends on the language of your Odoo:

Code-built diagram with the text Publish (Upsert) as the user sees it in Spanish, German, French, Italian and Portuguese
Diagram built with code from the module's published translations, not an Odoo screenshot: in Spanish Publicar (Upsert), in German Veröffentlichen (Upsert), in French Publier (Upsert), in Italian Pubblica (Upsert) and in Portuguese Publish (Upsert).
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

The two fields that split the publication

Every offer has an Account field and a Sales Channel field. Both show on the Offers form, in the Listing group, and also in the list of offers. They are the data the module uses to group offers: if you publish several at once, each combination of account and channel is treated as a separate group.

Step by step: what it does when you press it

  1. Open the list from Octopia › Offers › Offers, tick the offers you want and press Publish Selected. From an offer's form you have Publish (Upsert).
  2. The module groups the offers by account and by sales channel. Each group is published separately.
  3. For each group it picks the publication channel. If the account is in test mode, every publication goes to the SELLZZ sandbox channel, whatever channel the offer has configured. If it is not, it uses the offer's channel.
  4. It checks that the group does not exceed the maximum number of offers a package accepts. If it does, the action stops.
  5. With the Upsert publication type, which is its default, it checks that every offer has taxes, delivery modes and a preparation time above zero. If any offer is missing something, the action stops and the warning lists up to 15 references of the offers affected.
  6. Also with Upsert, it checks that every offer carries the EcoTax and DeaTax tax components, even at zero. The code records that the French channel on SELLZZ rejects offers that omit either of them, which is why the module checks beforehand instead of waiting for the rejection. If they are missing, the action stops and the warning lists up to 15 references of the offers affected.
  7. It checks that no offer reference is repeated inside the same package: one repeated reference would make all the package's requests be rejected. If there are any, the action stops and lists them.
  8. If the account holds the delivery modes the seller is subscribed to and an offer uses one that is not on that list, publication carries on regardless and the decision is left to Octopia.
  9. If every check passes, the module sends the offers to Octopia and stores the package in Odoo.

What changes in Odoo afterwards

For each group published, the module creates a package holding the account, the package identifier, the publication type, the channel code, a ready state and the date and time of submission.

For each offer in the package it creates a line that keeps the reference, the price and the quantity at the moment the submission was built. The code does this on purpose: the quantity is a live calculation and the price can change while the package is pending, and what counts as sent is the values that were actually sent.

Finally, the offer is left pending synchronisation.

If a check stops you

The checks in steps four to seven run before the group's package is sent and stored; if one stops you, the action is halted. Correct the offers the warning points to or, if the group exceeds the maximum, publish fewer offers at a time, and press the button again.

What to have ready before you press it

With the Upsert type, every offer needs taxes, delivery modes, a preparation time above zero and the EcoTax and DeaTax components, even at zero. In addition, no offer reference may be repeated inside the same package. If you are unsure which account or channel each offer carries, look at the Account and Sales Channel fields in the list first.

Cost and help

The module is a one-off payment per Odoo version (17, 18, 19 and 20; the price for each is on its listing) and needs the FlexigoTech Cloud subscription, Connector plan: €49 a month or €490 a year excluding VAT, up to 3 accounts. The connection goes through FlexigoTech Cloud, which stores the credentials encrypted.

If you are implementing Odoo and want your offers and the Octopia connection ready, FlexigoTech implements Odoo 17, 18, 19 and 20 and builds bespoke connectors and integrations.

Keep reading

What the Submit to Octopia button of Octopia Connector does, step by stepWhat the Submit to Octopia button does in Bulk Invoice Imports: when it shows, what it checks, what it changes and the one error it can raise.What the Import button of Octopia Connector does, step by stepWhat the Import button of Octopia Connector does in Odoo: when it shows, what it imports, what changes, the notice it gives and the log entry it leaves.What the Create Vendor Bill button in Octopia Connector doesWhat the Create Vendor Bill button in Octopia Connector does in Odoo: when it shows, what it checks, what it creates and where it can stop.
Checked in the connector's source code (version 20.0) and the linked sources

Sources