Skip to main content
Shopify

The Exchange Auth Code button in Shopify for Odoo: myths and reality

The Exchange Auth Code button swaps the authorisation code stored on the store for a Shopify access token and marks the store as connected. With the default values it is not visible, and if anything goes wrong it stops with a specific message and saves nothing.

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
4 min

Where the button is and what it does from start to finish

The Exchange Auth Code button is on the Shopify Instances screen, in the 17, 18, 19 and 20 branches of Odoo. Store records open from the menu Shopify › Configuration › Stores. To see the Configuration part of the menu you need the Operator permission; for the Shopify part, Viewer.

In Odoo 20.0, when you press it, the module goes through the selected stores and runs the exchange on each one. It checks that the store has an authorisation code stored; it sends Shopify that code together with the application's API key and secret; it checks that the reply contains an access token; and only then does it save the changes.

Code-generated diagram, not an Odoo screen: the stores menu, the exchange button and, to one side, two of the messages that can stop it
Diagram of the path: the stores menu, the exchange button and two of the messages that can stop it. It is generated with code from the module's published code.

With Odoo in English the button is called Exchange Auth Code. The next diagram shows its name in other languages.

Code-generated diagram, not an Odoo screen: the button text in Spanish, German, French, Italian and Portuguese
Diagram of the button name by Odoo language, generated with code from the module's published translations.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify?

Wrong ideas about the exchange button

«The button shows on every store record»

The view hides the button when the Shopify connection field holds its out-of-the-box value, so with the default values it is not visible. That field does not appear in any view. The button shows when that field holds a value other than the default. The condition is the same in Odoo 17, 18, 19 and 20.

«Pressing it opens the authorisation in Shopify»

When you press it, the module works with the authorisation code already stored on the store. If that code is empty, in Odoo 20.0 the button stops with Missing authorization code. and changes nothing.

«If Shopify rejects the exchange, the store is left half done»

When the button stops with a message, the action halts and nothing it was about to change is saved. Besides the message above, the button can stop with these:

  • Shopify OAuth exchange failed: …. It appears when Shopify answers with an error status code. In place of the dots comes the start of the text Shopify replied with: read it to see what Shopify said.
  • Shopify OAuth exchange response did not include an access token.. It appears when Shopify's reply carries no access token.

«The token it saves is permanent»

In Odoo 20.0, the module asks Shopify for the pair of a short-lived access token and a refresh token; the code comment mentions a 90-day refresh token. The refresh token is saved only if Shopify returns it, and the expiry date of the access token only if Shopify says how many seconds it lasts. The module also saves the time of the exchange as the last refresh and the granted permissions: those of the token itself or, if none come back, those of the associated user; if there are none, it stays empty.

«After the exchange, the code can be used again»

When saving, the module empties the authorisation code and the pending OAuth state value. According to the code comment, that value is single-use: it is consumed there so that a replayed callback cannot complete a second time. At the same time the store moves to the connected state and the last connection error is cleared. If you press the button again with the code already emptied, it stops with Missing authorization code..

«Buying the module is all it takes»

The button belongs to a one-off-payment-per-version module that needs the FlexigoTech Cloud subscription (Connector plan): €49 a month or €490 a year, excluding VAT. The connection goes through FlexigoTech Cloud, which stores the credentials encrypted, watches the synchronisation and emails you if it fails. Without a subscription, or with the service suspended, what the subscription provides stops; your data stays in your Odoo.

The module is published on Odoo Apps for 17.0, 18.0, 19.0 and 20.0. With the subscription, the module for newer Odoo versions is included if you bought it on flexigotech.com; on the Odoo App Store, each Odoo version is bought there. You have the Odoo Apps listing and the module page.

What to look at when the button stops with a message

  • With Missing authorization code., the store had no authorisation code stored at that moment (or it had already been emptied by an earlier exchange).
  • With Shopify OAuth exchange failed: …, read the text after the colon: it is Shopify's reply.
  • With Shopify OAuth exchange response did not include an access token., Shopify answered without returning the token.

In each of these cases the action stops and nothing the button was about to change is saved.

If you are looking for another button in the module

The connector has other buttons with their own story. If stock is what interests you, there is another article on the connector's stock button.

How FlexigoTech can help

FlexigoTech implements Odoo 17, 18, 19 and 20 and builds custom connectors and integrations. If you hit one of these messages while connecting your store and are not sure where to go next, tell us what text appears after the colon and we will look at it with you.

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