Skip to main content
Shopify

The Shopify Connector error «Stock has one master», case by case

The message appears when you save a Shopify instance with both stock checkboxes ticked at once: Sync Stock Enabled and Pull stock from Shopify. Odoo will not save the form until only one is left, because stock can have only one master: either Odoo pushes it to Shopify or Shopify pulls it into Odoo.

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

What you see and when

When you save a Shopify instance form, Odoo may stop the save with this text: Stock has one master: push it from Odoo to Shopify or pull it from Shopify into Odoo, not both. The form is not saved, so what you have just changed on it is not stored.

In Odoo 20.0 the form opens from Sales › Shopify › Control Center › Instances. The two checkboxes involved are on the Operations tab, in the Sync Settings group: Sync Stock Enabled and Pull stock from Shopify. According to the code, both are off by default.

Diagram made with code, not an Odoo screen: from top to bottom, the instances menu, saving with the stock checkboxes, and the error message
Diagram based on the module's published code (Odoo 17.0, 18.0, 19.0 and 20.0). The labels are in English, the original text in the module's code.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify?

A case to see it in action

Example Illustrative case: the company and its figures are made up to explain the flow.

Picture a fictional shop, Cerámicas del Norte, that sells on Shopify and keeps its inventory in Odoo. The person who looks after the connection has Sync Stock Enabled ticked: Odoo is the stock master and sends its quantity on hand to Shopify. One day they decide they would also like Shopify to report what happens in the shop. They tick Pull stock from Shopify and click save. The message appears and the form stays as it was.

The connection is still intact: the module has stopped a set-up with two masters. The module's own code comment explains it: with both on, Odoo to Shopify and Shopify to Odoo would write the same number over each other.

The lesson is to decide who is in charge of stock first, and then tick one checkbox only. In the example shop, if Odoo remains the master, the pull checkbox is unticked and the form saves as normal.

What exactly the module checks

It is a check made on saving, and it fires when either of the two checkboxes changes. The module looks at the instances being saved: if any of them has both Sync Stock Enabled and Pull stock from Shopify switched on, it stops the action with the message. The code has no other condition: not the connection status, not the shop, not the warehouse.

The help text on each checkbox explains what each direction means:

  • Sync Stock Enabled: Odoo is the stock master and its quantity on hand is sent to Shopify. The help adds that it cannot be on with «Pull stock from Shopify».
  • Pull stock from Shopify: Shopify is the stock master. Each pull sets the stock on hand of Shopify's main location in the linked Odoo location with an inventory adjustment, less what Odoo delivered and Shopify has not fulfilled yet.

The help on the second checkbox also warns that Shopify's on hand counts what it holds as damaged, in quality control or as safety stock, and that in Odoo it is stock like the rest. It also says the checkbox cannot be on with another store pulling into the same Odoo location.

How to fix it

  1. Open the instance from Sales › Shopify › Control Center › Instances.
  2. Go to the Operations tab and find the Sync Settings group.
  3. Decide who masters the stock for that shop. It is a business decision, not the module's.
  4. If Odoo is the master, leave Sync Stock Enabled ticked and untick Pull stock from Shopify.
  5. If Shopify is the master, leave Pull stock from Shopify ticked and untick Sync Stock Enabled.
  6. Save the form. Once only one checkbox is ticked, this check no longer stops the save.

If you choose Shopify as master, the checkbox help says that turning it on does not run the pull: you also have to turn on the scheduled action for pulling stock that the help names. There is another article on stock pulling: the Pull Stock button, step by step.

What to check afterwards

  • That the form saves without the message and that only one of the two checkboxes is ticked in the Sync Settings group.
  • If you chose Shopify as master, that the scheduled action mentioned in the help is turned on.
  • If another store pulls stock into the same Odoo location, that two stores do not share that location: the help lists it as another restriction on the Pull stock from Shopify checkbox.

With Odoo in English, the error text is the one quoted above. This diagram, made with code from the module's published translations, shows how it reads in other languages:

Diagram made with code, not an Odoo screen: the same message in Spanish, German, French, Italian and Portuguese
Diagram based on the module's published translations.

Versions and cost

The message is in the published code of all four branches (17.0, 18.0, 19.0 and 20.0). The condition, the fields and the menu described here correspond to the Odoo 20.0 code. The module is published on Odoo Apps for Odoo 17, 18, 19 and 20 at €9 per Odoo version, one-off payment, excluding VAT, and it needs the FlexigoTech Cloud subscription: the Connector plan costs €49 a month or €490 a year, excluding VAT.

How FlexigoTech can help

If you are implementing Odoo and have not yet settled who should master stock between your shop and your inventory, FlexigoTech implements Odoo 17, 18, 19 and 20 and builds connectors and custom integrations. It is a decision worth taking before ticking any checkbox.

One checkbox ticked, the other not

The message comes from a rule of the module that is checked on saving. Leave ticked only the checkbox for the direction you choose and the form saves.

Keep reading

What the Shopify Connector Pull Stock button does, step by stepWhat the Pull Stock button in Shopify Connector does in Odoo: when it shows, what it checks, what inventory adjustments it makes and which errors it gives.
Checked in the connector's source code (version 20.0) and the linked sources

Sources