Skip to main content
Shopify

What the Create Sale Orders button does in the Shopify connector for Odoo

The Create Sale Orders button goes through the Shopify orders you have selected and repeats the import for those that do not yet have a sales order; when it finishes, a notification tells you how many were created. Here is the checklist: before you press, what it checks inside, what changes and what to look at on orders that end up without a sales order.

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

Key facts

Module
Shopify
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
5 min

Before you press: where the button is

  • Open Shopify › Operations › Orders. The Shopify and Operations parts of the menu ask for the Viewer permission: without it, you do not see that part of the menu.
  • Find the Create Sale Orders button on the Fulfilment Funnel screen. Its view condition is that it is always visible, and it is there in Odoo 17, 18, 19 and 20.
  • Select the orders you want to process.
Diagram of the Shopify › Operations › Orders menu and the Create Sale Orders button, with the messages that can stop it beside it
Diagram built with code from the module's published code (not an Odoo screen): the menu, the button and the messages that can stop it.
  • With Odoo in English, the button is called Create Sale Orders.
Diagram with the button text in English, Spanish, German, French, Italian and Portuguese
Diagram built with code from the module's published translations (not an Odoo screen): in English, Create Sale Orders; in Spanish, Crear pedidos de venta; in German, Verkaufsaufträge erstellen; in French, Créer des commandes client; in Italian, Crea ordini di vendita; in Portuguese, Criar encomendas de venda.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify?

When you press in Odoo 20.0: what the button checks, in order

What follows comes from the published code of Odoo 20.0.

  • Access first. If your user does not have Shopify Operator (or Manager) access, the button stops with You need Shopify Operator (or Manager) access for this action., before touching any order. Seeing the button is not enough.
  • Then it goes through the selection. In Odoo 20.0, the button works on at most the first 200 orders of the selection.
  • It skips every order that meets any of these conditions: it already has a sales order, No Sales Order Because is filled in, it is in the cancelled state, or it has no Raw Payload.
  • For the rest, it repeats the import from the Raw Payload stored on the order and from its Instance. If that store is archived, the import does nothing with that order.
  • Each order is isolated. If the import of one fails, what it did for that order is undone, the failure is logged as a warning in the Odoo log and the button carries on with the next one.
  • It only counts orders that end up with a sales order. The code itself allows for the import holding the order back instead of creating it; in that case it does not add to the count.

After you press: what changes and what you see

  • You will see a notification titled Sale Orders with the text … sale order(s) created., where the code puts the number of orders created. It is a success-type notification and it does not stay fixed on screen.
  • Do not assume the number matches your selection: if every order is skipped, or their imports fail, the counter can stay at zero and the notification still appears.
  • Do not expect the notification to list failures: the code only logs them in the Odoo log.
  • Open an order's form and check that it now has its sales order. The stored content is in the Technical tab, in an unlabelled, read-only field that only administrators can see.

If an order still has no sales order

  • Look at No Sales Order Because on the Fulfilment Funnel form or in its list (read-only). On the form the field is hidden if the order already has a sales order or if the field is empty, so with the default values you do not see it.
  • Read the reason, using the labels of its values:
  • Its sales order was deleted in Odoo
  • Already fulfilled or cancelled on Shopify when imported
  • Created before «Create Sales Orders From»
  • Had no sales order when the connector was updated (deleted, or its creation failed)
  • Its Shopify reference is on sales orders this store did not make (by hand, or in another store): none is linked blindly
  • Remember that the bulk button does not touch held orders: the code skips them. According to the code, a held order only gets a sales order through the form's Create Sale Order button, which asks for confirmation (It is created as a quotation that the connector never confirms: check first that this order was not shipped already. Create it?): it creates the order as a quotation even though it has a hold reason, so check first that the order has not already been shipped.
  • Read the field help before deciding anything: Why the connector creates no sales order for this Shopify order, so it is not shipped twice. «Create Sale Order» creates it anyway, as a quotation. In other words, the hold reason is there so that the order is not shipped twice.
  • If the order still has no sales order and no reason, look at its Instance, which is shown on the form and in the list, read-only and filled in by the code, and check whether that store is still active: with an archived store, the import does nothing with the order.

What it costs and how FlexigoTech helps

The module is a one-off payment per Odoo version (17, 18, 19 and 20) and needs the FlexigoTech Cloud subscription, Connector plan: €49 a month or €490 a year, excluding VAT, with up to 3 accounts on the platform. The connection goes through FlexigoTech Cloud, which stores the credentials encrypted, monitors the synchronisation and emails you if it fails. Without a subscription, or with the service suspended, what the subscription provides stops, and your data stays in your Odoo.

If you are implementing Odoo and want to review permissions, stores and held orders before running the button in production, FlexigoTech implements Odoo 17, 18, 19 and 20 and builds custom connectors and integrations. You can find the module on its page and on the Odoo Apps listing.

Keep reading

What the Pull Stock button does in the Shopify connector for OdooWhat the Pull Stock button does in the Shopify connector for Odoo: when it shows, what it checks, what changes in your stock and which error it can raise.The 'is now the primary location' notice in the Shopify connector for OdooWhat the 'is now the primary location' notice in the Shopify connector for Odoo means, when it appears and how to change the primary location.Shopify Connector error: no payload to create the sales orderWhat the Shopify Connector for Odoo message means when you press Create Sale Order on an order with no stored data, when it appears and how to fix it.
Checked in the connector's source code (version 20.0) and the linked sources

Sources