Sync Odoo and Shopify Product Catalogs and Orders
Syncs Odoo and Shopify: product catalog, real-time inventory, orders, and customers via webhooks and XMLRPC.
Why it matters
Automate the synchronization of your Odoo product catalog, inventory, orders, and customer data with Shopify. This integration ensures real-time data consistency between your e-commerce platform and backend ERP.
Outcomes
What it gets done
Sync product catalog and variants between Odoo and Shopify.
Automate Odoo sales order creation from Shopify purchases.
Maintain real-time inventory level synchronization.
Push customer data from Shopify to Odoo.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-odoo-shopify-integration | bash Overview
Odoo Shopify Integration
An Odoo-Shopify integration guide covering catalog and inventory sync, webhook-driven order creation via XMLRPC, and SKU-based product matching between the two systems. Use when connecting a Shopify store to an Odoo backend for order, inventory, or customer sync, whether via the official connector or a custom webhook-based integration.
What it does
Odoo <-> Shopify Integration guides syncing a Shopify store with Odoo: product catalog, real-time inventory levels, incoming orders, and customer data - covering both the official Odoo Shopify connector (Enterprise) and a custom integration built on the Shopify REST API plus Odoo's XMLRPC API.
When to use - and when NOT to
Use this when selling on Shopify while managing inventory in Odoo, automatically creating Odoo sales orders from Shopify purchases, keeping Odoo stock levels in sync with Shopify product availability, or mapping Shopify product variants to Odoo product templates.
Inputs and outputs
The data flow: Shopify's product catalog and inventory levels sync down into Odoo product templates/variants and stock quants in real time; new Shopify orders push up to auto-confirmed Odoo sale orders; new Shopify customers push up to res.partner records, created if they don't already exist; and Odoo fulfillment/delivery-order validation pushes back to Shopify. A worked example creates an Odoo sale order from a Shopify order via XMLRPC: it looks up or creates the customer by email against res.partner, resolves each line item's product by matching its SKU to product.product's default_code, and creates a sale.order with those lines. Real-time order intake runs through a webhook receiver rather than polling, for example:
from flask import Flask, request
app = Flask(__name__)
@app.route('/webhook/shopify/orders', methods=['POST'])
def shopify_order_webhook():
shopify_order = request.json
order_id = create_odoo_order_from_shopify(shopify_order)
return {"odoo_order_id": order_id}, 200
Integrations
Connects Shopify's REST API and webhook system to Odoo's res.partner, product.product, and sale.order models via XMLRPC, matching products between systems by SKU/Internal Reference - a stable key across both platforms - rather than Shopify's own product IDs. It is activated by mentioning @odoo-shopify-integration and describing the sync scenario, which produces a data-flow architecture and field mapping, then code snippets for the webhook receiver and the Odoo API caller.
Who it's for
Developers connecting a Shopify storefront to an Odoo backend who need real-time order and inventory sync, guided by explicit best practices: validate Shopify webhook HMAC signatures before processing any payload, match products by SKU/Internal Reference rather than Shopify's own product IDs since SKUs stay stable across platforms, and designate exactly one system as the source of truth for inventory - the source explicitly warns against both systems pushing stock updates simultaneously without a clear master. The example order-creation call sets client_order_ref to the Shopify order number for traceability and builds each order_line from product_uom_qty and price_unit taken directly off the Shopify line items.
Source README
This skill guides you through integrating Odoo with Shopify - syncing your product catalog, real-time inventory levels, incoming orders, and customer data. It covers both using the official Odoo Shopify connector (Enterprise) and building a custom integration via Shopify REST + Odoo XMLRPC APIs.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.