Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Sales
  3. Shopify Connector v 19.0
  4. Sales Conditions FAQ

Shopify Connector

by Baseup Labs https://www.baseuplabs.com
Odoo

$ 445.52

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• Sales (sale_management)
• eCommerce (website_sale)
• Discuss (mail)
• Website (website)
Lines of code 5763
Technical Name baseup_shopify
LicenseOPL-1
Websitehttps://www.baseuplabs.com
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• Sales (sale_management)
• eCommerce (website_sale)
• Discuss (mail)
• Website (website)
Lines of code 5763
Technical Name baseup_shopify
LicenseOPL-1
Websitehttps://www.baseuplabs.com
  • Description
  • License

Shopify Connector

Bidirectional Shopify Integration via GraphQL Admin API
Version 19.0.3.0.0 GraphQL API 2026-04 OAuth Connect Multi-Store Bidirectional Sync Multi-Warehouse Real-Time Webhooks Variant Image Sync Draft Order Sync
External Service Required: Shopify Store

This module requires an active Shopify store with Admin API access. You will need:

  • A Shopify store (any paid plan)
  • An app created in the Shopify Dev Dashboard (legacy custom apps deprecated as of January 1, 2026)
  • The app's Client ID and Client Secret from the Dev Dashboard — the OAuth access token is obtained automatically via the built-in Connect flow
  • A publicly accessible Odoo URL with valid HTTPS for webhook registration and the OAuth callback

Data is exchanged directly between your Odoo instance and your Shopify store via the Shopify GraphQL Admin API. No third-party intermediary is involved.

Overview

Shopify Connector provides a production-grade, bidirectional integration between Odoo 19 and Shopify. It synchronizes products, orders, and inventory in real time using the Shopify GraphQL Admin API, with full support for variant-level image sync, draft order bidirectional flow, multi-warehouse environments, automated cron jobs, and live webhook processing.

Why Choose Shopify Connector?
  • Bidirectional sync: push from Odoo to Shopify and pull from Shopify to Odoo
  • Variant-level image sync: push and pull per-variant images, with auto-push on save
  • Draft order bidirectional flow: Odoo quotations sync as Shopify draft orders in real time
  • Real-time webhooks for instant order, product, and inventory updates
  • Multi-warehouse support with per-warehouse Shopify location mapping
  • Concurrency-safe with advisory locks and serialization failure retries
  • Configurable auto-sync: new products, price changes, images, stock adjustments
  • Automatic fulfillment push when Odoo deliveries are validated
  • Built on Shopify GraphQL Admin API 2026-04 for long-term compatibility

Key Features

📦

Product Sync

  • Push products from Odoo to Shopify
  • Pull products from Shopify into Odoo
  • Variant matching by SKU or option values
  • Product image upload via staged targets
  • Per-variant image push and pull
  • Auto-push variant images on save; clearing removes from Shopify
  • Idempotent image push — no duplicate gallery entries
  • Auto-push on product create/update
  • Attribute & option change detection
📋

Order & Quotation Sync

  • Import Shopify orders as confirmed Odoo sales orders
  • Import Shopify draft orders as Odoo quotations
  • Export Odoo quotations to Shopify as draft orders in real time
  • Quotation line changes (add, edit, remove) sync instantly
  • Confirming an Odoo order completes the linked Shopify draft order
  • Auto-confirm paid orders from Shopify
  • Incremental sync with configurable lookback
  • Refund import via webhook as credit notes
  • Order cancellation propagation
📊

Inventory Sync

  • Push stock quantities to Shopify locations
  • Per-warehouse location mapping
  • Bulk inventory sync (batched)
  • Auto-push on quant changes
  • Cron-based scheduled sync
  • No-op detection skips unnecessary writes
🆕

Real-Time Webhooks

  • 13 supported webhook topics
  • HMAC-SHA256 signature verification
  • Automatic webhook registration
  • Echo prevention — ignores updates triggered by own outbound push
  • Duplicate event deduplication by webhook ID and timestamp
  • Image pulls skipped on webhooks to avoid write conflicts
🏠

Multi-Warehouse & Multi-Store

  • Map Odoo warehouses to Shopify locations
  • Per-location inventory quantities
  • Location activation management
  • Sync locations from Shopify Admin
  • Multiple Shopify stores fully isolated — separate products, orders, inventory, and webhooks per store
  • "Push to Shopify" wizard forces explicit store selection when multiple stores are connected
🔓

OAuth Connect

  • One-click Connect to Shopify button in the account form
  • OAuth Authorization Code Grant flow — browser-based, no manual token copying
  • Offline access token stored automatically after authorization
  • Webhook secret auto-populated from Client Secret
  • Compatible with Shopify Dev Dashboard apps (2026+)
🚚

Fulfillment Push

  • Auto-push fulfillments on delivery validation
  • Tracking number synchronization
  • Carrier name mapping
  • Fulfillment status tracking
  • Auto-validate Odoo deliveries on Shopify fulfill

Sync Capabilities

Data Type Odoo → Shopify Shopify → Odoo Real-Time Webhook Scheduled Cron
Products & Variants ✓ Push ✓ Pull ✓ products/create, update, delete ✓ Every 30 min
Product Images (template) ✓ Staged upload ✓ On import — ✓ Optional
Variant Images ✓ Per-variant staged upload; auto-push on save; clears on removal ✓ On import — ✓ On product export
Inventory / Stock ✓ Per-location ✓ On webhook ✓ inventory_levels/update ✓ Optional
Quotations / Draft Orders ✓ Draft order (real-time on line change) ✓ Quotation ✓ draft_orders/create, update —
Confirmed Orders ✓ Completes linked draft order ✓ Sales Order ✓ orders/create, updated, paid, cancelled ✓ Incremental
Fulfillments ✓ On Delivery ✓ Auto-validate ✓ orders/fulfilled —
Refunds — ✓ Credit Note ✓ refunds/create —

Technical Architecture

GraphQL Admin API 2026-04
OAuth Connect Flow
Multi-Store Isolation
HMAC Webhook Security
Advisory Lock Concurrency
Exponential Backoff Retry
Idempotent Operations
Multi-Warehouse Mapping
Webhook Echo Prevention
Variant Image Idempotency

Design Principles

  • No core modifications: All extensions use Odoo's _inherit pattern — no core addon files are modified
  • Transport isolation: GraphQL transport layer is separate from business logic, making the API layer independently testable
  • Concurrency safety: PostgreSQL advisory locks per product/order GID prevent race conditions between concurrent webhooks and cron jobs
  • Idempotency: UUID-based idempotency keys on all mutations; no-op write detection skips unnecessary Odoo writes; variant image push detaches and deletes old media before uploading to prevent gallery duplicates
  • Echo prevention: Outbound product pushes set a marker on the Shopify mapping; incoming webhooks for the same product within the echo window are silently dropped
  • Webhook-safe image handling: Image pulls are skipped during webhook processing to avoid serialization conflicts with concurrent user saves
  • Privacy by design: No customer PII is synced — orders use a shared "Shopify Customer" partner

Technical Requirements

Odoo Requirements

  • Odoo 19.0 (Community or Enterprise)
  • Modules: sale_management, website_sale, stock, product, account, delivery
  • Publicly accessible URL with valid HTTPS certificate (required for webhooks)

Shopify Requirements

  • Any paid Shopify plan (Basic or higher)
  • An app created in the Shopify Dev Dashboard (legacy custom apps deprecated January 2026) with the following Admin API access scopes:
Scope Required For
read_products, write_products Product sync
read_inventory, write_inventory Inventory sync
read_orders, write_orders Order sync
read_draft_orders, write_draft_orders Export orders from Odoo
read_fulfillments, write_fulfillments Fulfillment push
read_locations Warehouse location mapping
write_webhooks Webhook registration

Python Dependencies

No additional Python packages required beyond the standard Odoo stack. The module uses the built-in requests library for all HTTP communication.

Installation Guide

  1. Copy the Module

    Place the baseup_shopify folder in your Odoo addons path and restart the Odoo server.

    ./odoo-bin -c /path/to/odoo.conf --update=baseup_shopify
  2. Install from Apps Menu

    Go to Apps → Update Apps List → Search "Shopify Connector" → Click Install.

  3. Create an App in the Shopify Dev Dashboard

    In your Shopify Admin: Settings → Apps and sales channels → Develop apps → Build apps in Dev Dashboard. Create an app, configure the required Admin API scopes, add your Odoo URL + /shopify/oauth/callback as an allowed redirect URL, then release and install the app on your store. Copy the Client ID and Client Secret from the app's Settings page.

  4. Add a Shopify Account in Odoo and Connect

    Go to Shopify → Accounts → New. Enter your shop URL, Client ID, and Client Secret. Click Connect to Shopify — your browser will redirect to Shopify for authorization, then return to Odoo with the account marked as Connected and the access token stored automatically.

  5. Register Webhooks

    Click Register Webhooks on the account form. Odoo will automatically create all 13 required webhook subscriptions in your Shopify store. Your Odoo instance must be reachable over HTTPS for this step.

  6. Map Warehouse Locations

    Click Sync Locations to pull your Shopify locations and map them to Odoo warehouses in the Location Mappings tab.

  7. Run Initial Sync

    Click Sync All to perform the first full bidirectional sync of products, orders, and inventory.

Configuration

Global Settings

Navigate to Settings → Shopify Connector to configure system-wide defaults:

Setting Default Description
Sync products by default Off Enable product syncing for all Shopify instances unless overridden per account
Sync orders by default Off Enable order syncing for all Shopify instances unless overridden per account
Sync inventory by default Off Enable inventory level syncing for all Shopify instances unless overridden per account
Run inventory sync in scheduled cron Off If disabled, the auto-sync cron skips inventory and only processes products and orders
Auto-push newly created products Off Automatically export newly created products to Shopify. Only fires when exactly one store is connected — skipped silently when multiple stores are connected to avoid ambiguous cross-store pushes. Use the "Push to Shopify" wizard to target a specific store manually.
Auto-update products on save Off Automatically export updates for already-linked products on save, including variant image changes
Sync batch size 100 Shared batch size for product, order, and inventory sync flows
Skip product images in bulk sync Off Improves performance for large sync runs; images can be synced separately afterward
Order sync lookback window 1 hour Order imports start this many hours before the last successful sync date to prevent gaps
Cron Job: A scheduled action named "Shopify: Auto Sync Connected Accounts" runs every 30 minutes to synchronize all connected accounts. You can adjust the interval or disable it from Settings → Technical → Scheduled Actions.

Typical Workflows

Shopify Order to Odoo Fulfillment

  1. Customer places order on Shopify storefront
  2. Webhook fires instantly → Odoo creates a confirmed Sales Order
  3. Odoo generates a delivery order and picking
  4. Warehouse team picks and ships the order
  5. Delivery is validated in Odoo → fulfillment pushed to Shopify automatically
  6. Tracking number synced back to Shopify order

Bidirectional Quotation / Draft Order

  1. Sales rep creates a Quotation in Odoo and adds products
  2. Connector automatically creates a matching Draft Order in Shopify
  3. Adding, editing, or removing quotation lines updates the Shopify draft order in real time
  4. Sales rep confirms the Odoo quotation → connector completes the Shopify draft order, converting it to a live order
  5. Alternatively, a draft order created in Shopify is pulled into Odoo as a Quotation via webhook

New Product Launch (Odoo First)

  1. Create product in Odoo with variants, pricing, and per-variant images
  2. Click Push to Shopify — a wizard appears asking which store to push to (ensures products are never accidentally pushed to the wrong store)
  3. Select the target store and click Push
  4. Product created on Shopify with all variants, gallery images, and per-variant images
  5. Future stock adjustments sync automatically via quant write hooks
  6. Changing or removing a variant image in Odoo auto-pushes the update to all stores where the product is already mapped

Inventory Reconciliation

  1. Enable scheduled inventory sync in Settings
  2. Cron job runs every 30 minutes, pushing current Odoo quantities to each mapped Shopify location
  3. Webhook listener detects Shopify-side inventory changes and updates Odoo quants in real time

Support & Resources

Email Support

Get help from our support team for installation, configuration, and bugs.

Contact Support

Bug Reports

Found an issue? Report it and we'll address it promptly.

Report a Bug

Feature Requests

Need a specific Shopify feature integrated? Reach out to discuss.

Request a Feature
Response Time: Support requests are typically answered within 1–2 business days. For critical production issues, include your Odoo version and a description of the error in your email.

License

This module is licensed under the Odoo Proprietary License v1.0 (OPL-1).

This module is proprietary software. You may not copy, modify, or distribute it without explicit written permission from the author. See odoo.com/documentation/legal/licenses for full terms.

Ready to Connect Odoo with Shopify?

Automate your product, order, and inventory workflows across both platforms.

Get Started Today
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with