Skip to main content
Shopify

What the Refresh Access Token button does in the Shopify connector for Odoo

The Refresh Access Token button asks Shopify for a new access token for a store and saves it on the store record. With the default values it is not shown, and the module can run that same renewal by itself when the store has a refresh token and the access token is about to expire.

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

Where the button is and when you see it

The Refresh Access Token button is on the Shopify Instances screen and exists in the 17.0, 18.0, 19.0 and 20.0 branches of the module.

  • Go in through Shopify › Configuration › Stores. The Configuration step asks for the Operator permission and the Shopify step asks for Viewer; if you lack one, you do not see that step.
  • Open the store record. With the default values the Refresh Access Token button does not appear: in Odoo 17, 18, 19 and 20 it is hidden while the Shopify connection field holds its default value. That field does not appear in any view; the button is shown when the field holds a different value.
  • If you cannot see the button, read the next section: the module can renew the token without you pressing anything.
Code-built diagram of the Shopify › Configuration › Stores menu, with the Refresh Access Token button and two messages that can stop it
Diagram built with code from the module's published code, not an Odoo screenshot: the Shopify › Configuration › Stores menu, the Refresh Access Token button (Odoo 17, 18, 19 and 20) and, to one side, the messages Missing refresh token for Shopify instance … and Shopify token refresh failed: …
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify?

First, what can happen without pressing anything

The button is not the normal route. The module has an access token check that can trigger that same renewal, and that check can be reached from these points:

  • when you save a delivery order record;
  • when you validate a delivery order with the standard Odoo button, which the module extends;
  • from the scheduled task Shopify Process Webhooks, which runs every minute and is active on install;
  • from the task Shopify Sync Orders, every five minutes and inactive on install;
  • from the task Shopify Sync Payouts, every six hours and inactive on install;
  • from the task Shopify Sync Products, every hour and inactive on install.

Whether it renews depends on the type of store:

  • Store with a refresh token and a saved expiry date: if that date has passed or falls within the next five minutes, the module runs the same renewal as the button. If there is no saved expiry date, that check ends without renewing.
  • Store with the Client ID and secret of its own app and no refresh token: it does not use the button. The module asks Shopify for a new token with those credentials when there is no access token or when the current one expires in five minutes or less.
  • If you press the button on a store of that last type, it stops with Missing refresh token for Shopify instance ….

What the button does when you press it

The button goes through the stores it is run on and renews each one. For each store, in this order:

  • If the store has no refresh token, it stops with Missing refresh token for Shopify instance …; the dots are replaced by the store name.
  • If the store has no Shopify app secret, the button takes another route and does not carry out the steps below.
  • If it has one, it sends Shopify the Client ID, the secret and the refresh token to ask for a new access token.
  • If Shopify answers with an error code, it stops with Shopify token refresh failed: …; after the colon comes the start of what Shopify replied.
  • If Shopify answers without an access token, it stops with Shopify token refresh response did not include an access token..
  • If all goes well, it saves on the record the new access token and the date and time of that renewal. It saves a new refresh token only if Shopify sends one, and it saves the new expiry date only if Shopify says how long the token lasts.

When the button stops with a message, saving happens at the very end of the process: nothing from that renewal is saved.

With Odoo in Spanish the button reads Actualizar token de acceso; other languages change the label, as the diagram shows.

Code-built diagram with the button label in Spanish, German, French, Italian and Portuguese
Diagram built with code from the module's translations, not an Odoo screenshot: Actualizar token de acceso in Spanish, Zugriffstoken aktualisieren in German, Actualiser le jeton d'accès in French, Aggiorna token di accesso in Italian and Atualizar token de acesso in Portuguese.

If an error appears: what to do

  • Missing refresh token for Shopify instance …: the button needs the store to have a refresh token; without one it never reaches Shopify. If the store uses the Client ID and secret of its own app and has no refresh token, the module asks for the token the other way, without the button.
  • Shopify token refresh failed: …: Shopify answered with an error code. Read the text after the colon, which is what Shopify returned, before pressing again.
  • Shopify token refresh response did not include an access token.: Shopify answered without an error, but the reply carried no access token, and nothing is saved. Try again and, if it repeats, keep the text of the message and get in touch with us.

After pressing

  • Check that none of those messages came up.
  • If you have the scheduled tasks above switched on, they can also renew the token by themselves.

Versions and cost

The module is published on Odoo Apps for 17.0, 18.0, 19.0 and 20.0, and the button is in all four branches. It is a one-off payment per version and needs the FlexigoTech Cloud subscription (Connector plan): €49/month or €490/year excluding VAT, with up to three accounts on the platform. 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. The price for each version is on its Odoo Apps listing.

How FlexigoTech can help

FlexigoTech implements Odoo 17, 18, 19 and 20 and builds custom connectors and integrations. If you want to see the whole module, here is its page on flexigotech.com.

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