Skip to main content
Shopify

What the Sync Locations button does in the Shopify connector for Odoo

The Sync Locations button asks Shopify for the store's locations and creates or updates them in Odoo; if the store has no primary location, it marks the first active one. When it finishes it shows a notice with how many locations it found and how many are new.

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 it: where it is and what it needs

The Sync Locations button is in Odoo 17.0, 18.0, 19.0 and 20.0. In Odoo 20.0, the button brings a store's Shopify locations into Odoo.

Code-built diagram: the Shopify › Configuration › Stores menu, the Sync Locations button and, at the side, the success message and the not-connected message
Diagram built with code from the module's published code, not an Odoo screen: from top to bottom, the menu, the button and the messages that can appear when you press it. The labels are in English, the original text in the module's code.
  • Open the menu Shopify › Configuration › Stores. If a menu level is missing, you lack a permission: Shopify asks for Viewer and Configuration asks for Operator.
  • Find the Sync Locations button on the Shopify Instances screen. It is always visible, with no condition, in Odoo 17, 18, 19 and 20.
  • Be clear about how the store connects. If it goes through FlexigoTech Cloud, the call to Shopify passes through the service and Odoo does not connect to the store directly. If the store connects directly, the module first tries to obtain an access token; if it still has none afterwards, the button stops with the notice Shopify is not connected for …. Open the Connection tab and follow the setup steps.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify?

When you press it: what it does, in order

  • It asks Shopify, in a single query, for the first 50 locations, leaving out legacy ones. For each one it reads the identifier, the name, whether it is active and the address.
  • It skips locations that arrive without an identifier. For the rest, it looks in that same store for a location with the same Shopify identifier: if one exists, it updates its name, whether it is active in Shopify and its address; if not, it creates it. Because the search is made within the store, locations of another store are left alone.
  • If Shopify sends no name, the module uses the identifier as the name. The address is saved joined with commas when Shopify sends it as a list; otherwise it stays empty.
  • If no location of that store is marked as primary, it takes the first one that is active in Shopify and marks it as primary: it clears the mark on the others and stores that location in the store as the default, with its identifier and name. If a primary one already existed, it leaves it alone.
  • It ends with a success notice. It only creates or updates the locations that Shopify returns in that query.

After you press it: what to check

  • Read the notice: title Locations Synced and message Found … Shopify locations (… new). The first number is the total Shopify returned; the second is how many did not exist in Odoo and have been created.
  • If you press again with no changes in Shopify, the existing ones are updated and only those that were not there count as new.
  • If you change a location's name, address or whether it is active in Shopify, press again: the button updates those three details on the locations that already exist.
  • Check that the store has a primary location: if it already had one it is respected, and if there was none the first active one is marked. If no location is active in Shopify, there is nothing to mark.
Code-built diagram of the button label by Odoo language: Sincronizar ubicaciones, Standorte synchronisieren, Synchroniser les emplacements, Sincronizza le ubicazioni and Sincronizar localizações
Diagram built with code from the module's published translations, not an Odoo screen: with Odoo in Spanish the button is called Sync Locations; in German, Standorte synchronisieren; in French, Synchroniser les emplacements; in Italian, Sincronizza le ubicazioni; in Portuguese, Sincronizar localizações. In English it is Sync Locations.

If the button stops with an error

The messages below come from the call to Shopify that the button makes. When one appears, the action stops and nothing it was going to change is saved.

  • Shopify is not connected for …. Open the Connection tab and follow the setup steps. It appears when the store does not use FlexigoTech Cloud and still has no access token after the module has tried to obtain one. The dots are the name Odoo shows for the store. What to do: what the message says, open the Connection tab of the store and follow the setup steps.
  • Shopify GraphQL call failed (…): …. It appears when Shopify answers with an error code. The message carries that code and the start of the response. Before getting there, if Shopify says there are too many requests, the module waits and tries again. What to do: read the code and the text that come with the message.
  • Shopify GraphQL returned errors: …. It can appear when you press the button. What to do: read the detail after the colon.
  • Shopify GraphQL call exhausted retries. It can appear when you press the button. What to do: press it again.

That same function for calling Shopify is also used, without pressing this button, by the scheduled task Shopify Sync Payouts (every six hours, disabled on install) and by what the module does when a transfer is saved or validated with Odoo's standard button, which the module extends.

How FlexigoTech can help

The module is a one-off payment per Odoo version and needs the FlexigoTech Cloud subscription, Connector plan: €49 a month or €490 a year, excluding VAT, up to 3 accounts of the platform. The connection goes through FlexigoTech Cloud, which keeps the credentials encrypted, watches the synchronisation and emails you if it fails. It is published on Odoo Apps for 17.0, 18.0, 19.0 and 20.0 (see the listing and the module page). If you are implementing Odoo and want to connect your store, 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