| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) • Invoicing (account) |
| Lines of code | 4094 |
| Technical Name |
shopify_multistore_connector |
| License | OPL-1 |
| Website | https://www.auraodoo.tech/ |
Shopify Multi-Store Connector
Bi-directional synchronization between Odoo 19 and multiple Shopify stores via the Shopify GraphQL Admin API 2026-04.
Overview
Connect unlimited Shopify stores to your Odoo 19 instance. This module is built with an asynchronous queue system and real-time webhook handling to manage high-volume sales operations, ensure data consistency, and automate your multi-channel sales workflow.
Core Features
Multi-Store Configuration
Configure and manage multiple Shopify stores in one single Odoo database with dedicated warehouses, pricelists, and company mappings.
Order Sync & Management
Automatically import paid and unfulfilled Shopify orders with native order numbering. Supports full and partial refund synchronization.
Bi-directional Inventory
Keep stock levels matching in real-time. Quantities automatically update across Odoo and Shopify stores when transactions are verified.
Fulfillment Integration
Validate a delivery in Odoo to instantly trigger fulfillment pushes to Shopify with carrier info and tracking URLs to keep customers informed.
Webhook-Driven Real-Time Sync
Reacts instantly to updates. Listeners handle orders, inventory levels, refunds, and cancellations in real-time.
Queue Job System
Robust background processing with automated retry logic handles api rate limits and ensures transactions are never lost.
Technical Specification
GraphQL API Integration
- Shopify Admin API Version: 2026-04
- Cursor-based GraphQL pagination for high performance
- Idempotency keys on all write operations
- Rate-limit monitoring with auto-delay backoff
Odoo Requirements
- Sales app (sale)
- Stock app (stock) & Sales Stock (sale_stock)
- Invoicing (account)
- Delivery Costs (delivery)
- Discussions (mail)
Feature Prerequisites & Working Conditions
Inventory Synchronization
- Odoo default_code (Internal Reference) or barcode must exactly match the SKU of the product variant in Shopify.
- Shopify Location ID must be correctly set in Odoo settings to identify the origin/target stock location.
- The "Sync Inventory" configuration checkbox must be activated on the Store configuration form.
Real-Time Webhook Processing
- Your Odoo instance must be accessible via public HTTPS protocol with a valid SSL certificate so Shopify can deliver payloads.
- Webhooks must be registered using the "Register Webhooks" button on Odoo store view.
- The correct Webhook Signing Secret must be saved in Odoo to pass SHA-256 signature verification.
Automatic Order Import
- Only orders in "Paid" financial status and "Unfulfilled" or "Partial" fulfillment status are automatically imported via standard webhook/cron.
- Other configurations (e.g., unpaid orders) must be synced manually using the Manual Sync Wizard.
Fulfillment Sync
- Odoo Outgoing Deliveries (Stock Pickings) must transition to the "Done" state.
- "Push Fulfillment" setting must be enabled.
- If tracking info is required, a valid tracking reference and carrier must be assigned to the Stock Picking.
Module Configuration Fields
| Field Name | Category | Description |
|---|---|---|
| Store URL | API Configuration | Full Shopify URL of the shop (e.g. https://mystore.myshopify.com).
|
| Admin API Access Token | API Configuration | Main secret key starting with shpat_
copied from Shopify Admin App Dashboard. |
| API Secret Key | API Configuration | The client secret key used for signing API requests. |
| Webhook Signing Secret | API Configuration | Unique key used to sign and verify webhook payloads via HMAC-SHA256 protocol. |
| API Version | API Configuration | Shopify GraphQL Admin API endpoint version (e.g. 2026-04).
|
| Shopify Location ID | Store Settings | The location ID in Shopify mapped to this store for managing inventory. |
| Warehouse | Store Settings | Odoo Warehouse mapped to the Shopify store for picking and shipment routing. |
| Pricelist | Product Mapping | Linked pricelist used for currency mapping and validation checks. |
| Shipping Product | Product Mapping | Service product assigned to hold Shopify delivery charges on Sales Order lines. |
| Discount Product | Product Mapping | Service product assigned to hold Shopify discount values on Sales Order lines. |
Configuration Steps
- Create a Custom App in Shopify Admin Settings and copy the Admin API Access Token.
- Configure Store URL and API details in Odoo's Shopify Store configuration.
- Click Test Connection to establish credentials and query shop details.
- Click Fetch Prefix to capture the store order naming format.
- Click Register Webhooks to activate live bi-directional sync.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) • Invoicing (account) |
| Lines of code | 4094 |
| Technical Name |
shopify_multistore_connector |
| License | OPL-1 |
| Website | https://www.auraodoo.tech/ |
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