Shopify Connector FAQs¶
These frequently asked questions cover the most common setup and synchronization topics for the Odoo Shopify Connector. For a full feature list and sync matrix (webhooks, scheduled jobs, manual operations), see Shopify Connector Features.
You can connect in either way:
OAuth (Custom App): Configure Client ID, Secret, and Redirect URL on the instance, then use Generate Access Token so Shopify returns an Admin API access token into Odoo (see Generate Shopify API Access Token (Custom App – New Flow)).
Manual token: Enable I have API Access Token and paste the token from your Shopify Custom App. Alternatively, legacy flows may use the app Password when I have API Access Token is disabled, as described in Create a Shopify instance in Odoo.
Step-by-step instance creation: Create a Shopify instance in Odoo.
The connector expects the full set of scopes listed in Generate Shopify API Access Token (Custom App – New Flow). If you omit scopes, Shopify or the connector may return permission errors during sync (products, inventory, orders, payouts, etc.). Enable all required scopes before releasing the app, as warned in that guide.
Orders can arrive via webhooks (create/update), automatic jobs (scheduled import), or manual import, depending on how you configure the instance.
You can restrict imports by date using Import Order After and filter by fulfillment status at import time using Fulfillment Status on the instance.
Details: Orders Configurations.
More on order import: Import Shopify Orders In Odoo.
Inventory is synchronized bi-directionally through scheduled and manual processes (see Shopify Connector Features). You must configure Shopify locations in Odoo and enable at least one location for import/export; otherwise the connector reports that locations are required for inventory operations. Stock export uses your Stock Based On setting (e.g. free-to-use vs on-hand vs forecasted). See Stock Configurations in Create a Shopify instance in Odoo.
Follow Configure Shopify Location to import and map Shopify locations to Odoo warehouses and to enable them for inventory sync.
Yes. On Shopify, a product that is not published to your sales channels stays unpublished (shown as Draft in Shopify admin) until you publish it.
When you run Export Listings, leave Sales Channels empty: the connector still sends the product to Shopify, but it is not published to the Online Store or other channels. You can publish later via Update Listings with channels selected and Publish/Unpublish enabled, or from the listing’s publish action.
Details: Export Products From Odoo.
When an order is fulfilled in Odoo, the connector can send fulfillment status and tracking back to Shopify so customers stay informed. Notify Customer? controls whether Shopify emails the customer when fulfillment is created or updated. Shipping and tracking behavior is summarized in Shopify Connector Features and detailed in Shopify Update Order Status from Odoo.
Yes. You can cancel orders from Odoo (with cancellation reason and optional customer notification) and process full or partial refunds from Odoo. See Cancel Order In Shopify From Odoo and Refund Orders From Odoo To Shopify.
Available webhook event types include Create/Update Orders, Create/Update/Delete Products, and Create Customers. You add lines on the instance Webhook tab, activate them, and can Fetch Webhook or Delete Webhook as described in the Webhook Configurations section of Create a Shopify instance in Odoo.
Webhooks are registered against your Odoo endpoint; only HTTPS is allowed for webhook creation. The instance shows the Shopify Webhook URL used for subscriptions.
Yes. The connector supports multiple instances (one per store) so you can centralize products, orders, inventory, and customers in one Odoo database. See Multi Store Selling in Shopify Connector Features.
The Shopify module depends on Base Marketplace and declares Python packages including numpy, scipy, imagehash, and PyWavelets for image/feature logic used in the connector. Your Odoo environment must provide these dependencies.
Tax System, Tax Account, and related fields on the instance control how Shopify taxes map into Odoo. See Orders Configurations in Create a Shopify instance in Odoo. Marketplace Workflow automates confirm/invoice/payment steps and can vary by payment gateway and financial status. See Workflow Configurations and Configure Marketplace Order Workflow.
Confirm all Admin API scopes are enabled as in Generate Shopify API Access Token (Custom App – New Flow).
Verify credentials, Shop URL, and (for OAuth) Redirect URL and app release state.
For webhooks, ensure the site uses HTTPS and webhook lines are Active; use Fetch Webhook to reconcile state.
Review (log level on the instance) for error detail.
For inventory, confirm Shopify locations are imported and enabled.
Metafields travel with the resource. There is no separate metafield import or export operation. After enabling Metafield Functionality on the instance and configuring mappings, mapped metafield values are carried automatically by the matching operation: Import Listings, Export Listings, and Update Listings for Product and Variant, Import Customers for Customer, and Import Orders for Order. A mapping participates in sync only when its status is Ready and the resource card on the Metafields tab is set to Active.
Full details, including supported Shopify types and per-type behavior: Configure Shopify Metafields.
On the instance, open the Metafields tab and click Fetch Latest on the relevant resource card (or Fetch Metafield from the mapping list view). For a new metafield, a row is created and you can pick its Odoo field. For a renamed or retyped metafield, delete the old row first, then click Fetch Metafield again. The action only adds new rows and removes rows for deleted metafields, it does not update an existing row’s name, key, namespace or type.
See Configure Shopify Metafields for the full workflow.