Skip to content

Create the Shopify app

Odoo talks to your store through a Shopify app that you create for it in the Shopify Dev Dashboard. The app gives Odoo:

  • a Client ID and a Client secret: Odoo calls them API Key and Secret Key;
  • the access scopes: what Odoo may read and change on your store;
  • the redirect URL: the Odoo address Shopify returns to after you approve the app.

Why the Dev Dashboard

Since 1 January 2026, Shopify no longer lets you create new custom apps in the store admin (Develop apps › Create an app). New apps are made in the Dev Dashboard. Apps created before that date keep working.

1. Copy the redirect URL from Odoo

  1. In Odoo, go to Shopify › Configuration › Stores and click New.
  2. Enter the Store Name (e.g. My US Store).
  3. The blue Shopify Setup box shows the Allowed redirection URL, e.g. https://erp.yourcompany.com/shopify/auth/callback. Copy it.

Keep this store open: you finish it on Connect your store.

The address must be the public HTTPS address

The redirect URL is built from Odoo's own address. If it starts with http://localhost or an internal IP, fix Odoo's address first (Install the modules), then reopen the store.

2. Open the Dev Dashboard

Use the Shopify account that owns the store, or a staff account with the App development › Develop permission.

  1. In your Shopify admin, go to Settings › Apps.
  2. Click Develop apps.
  3. Click Build apps in Dev Dashboard.

The app then belongs to your store's organization and can be installed on it directly.

Open dev.shopify.com/dashboard and choose the organization of your store.

3. Create the app

  1. Click Create app.
  2. Under Start from Dev Dashboard, enter a name, e.g. Odoo Connector, and click Create.

Shopify opens the first version of the app. A version holds the app's URLs and access scopes; the store uses the version you release.

4. Configure the version

Fill in the version page:

Section Field Value
URLs App URL The public address of your Odoo database, e.g. https://erp.yourcompany.com
URLs Embed the app in the Shopify admin Off, if the option is shown: Odoo opens on its own, not inside Shopify
Webhooks API Version The newest version in the list (Odoo registers its webhooks itself)
Access Scopes The scopes of the table below (copy them with the box under it)
Access Redirect URLs The redirect URL copied from Odoo in step 1

Access scopes

These are all the scopes the connector uses, checked against every request it sends to Shopify.

Scope Used for Without it
read_products Import Products, store layer, order lines Odoo refuses to connect
write_products Export to Store, Update on Store, sales channels of products Odoo refuses to connect
read_orders Import Orders, payments, refunds, shipments made on Shopify Odoo refuses to connect
write_orders Order changes on Shopify Connected, with a warning
read_all_orders Orders older than 60 days (Import Orders From, Import Specific Order) Shopify returns only the last 60 days
read_customers Import Customers, customer of each order Connected, with a warning
read_inventory Store locations, Import Stock Connected, with a warning
write_inventory Export Stock Connected, with a warning
read_publications Sales channels (Online Store, Point of Sale…) Connected, with a warning
write_publications Publishing products on sales channels Connected, with a warning
read_files Product images from Shopify Connected, with a warning
write_files Product images sent to Shopify Connected, with a warning
read_returns Returns of orders Connected, with a warning
read_merchant_managed_fulfillment_orders Location of each order line (your own locations) Connected, with a warning
read_assigned_fulfillment_orders Location of each order line Connected, with a warning
read_third_party_fulfillment_orders Location of order lines shipped by fulfillment apps Connected, with a warning
write_merchant_managed_fulfillment_orders Shipments and tracking numbers sent from Odoo Connected, with a warning
write_assigned_fulfillment_orders Shipments and tracking numbers sent from Odoo Connected, with a warning
write_third_party_fulfillment_orders Shipments of locations of fulfillment apps Connected, with a warning
Copy all scopes (paste them in Scopes)
read_products,write_products,read_orders,write_orders,read_all_orders,read_customers,read_inventory,write_inventory,read_publications,write_publications,read_files,write_files,read_returns,read_merchant_managed_fulfillment_orders,read_assigned_fulfillment_orders,read_third_party_fulfillment_orders,write_merchant_managed_fulfillment_orders,write_assigned_fulfillment_orders,write_third_party_fulfillment_orders

Orders older than 60 days

Shopify gives apps the orders of the last 60 days only. read_all_orders opens the older ones. An app of your store's organization gets it without asking Shopify; an app of a Partner organization needs Shopify's approval first.

Customer data

Shopify protects customer names, emails, phone numbers and addresses. If imported customers or orders arrive without them, allow the app to access protected customer data in the Dev Dashboard (name, email, phone and address).

5. Release the version

  1. Click Release.
  2. Optional: enter a version name (e.g. Odoo v1) and a message.
  3. Click Release again.

The released version is the one the store gets. Every later change of scopes or URLs needs a new version: open Versions, click Create a version, change it and release it.

6. Copy the Client ID and Client secret

  1. Open the app's Settings in the Dev Dashboard.
  2. Copy the Client ID: it goes in Odoo's API Key.
  3. Reveal and copy the Client secret: it goes in Odoo's Secret Key.

Keep the secret key secret

The secret key lets anyone act as your app, and Shopify signs every event it sends to Odoo with it. Never send it by email or chat; paste it only in Odoo. If it leaks, rotate it in the Dev Dashboard and use Correct Secret in Odoo.

App created in a Partner organization

The Distribution card appears only for apps of a Partner organization. Before connecting:

  1. On the app's Home, in Distribution, click Select distribution method.
  2. Choose Custom distribution (it cannot be changed later) and enter your store's myshopify.com domain.
  3. Click Generate link. If Odoo's Connect to Shopify says the app cannot be installed on the store, open this link once, install the app, then connect again from Odoo.

Shopify's screens change

Shopify renames and moves its settings from time to time. If a label is different, look for the same setting: the app URL, the redirect URLs, the scopes, the release of the version and the client credentials.