Send Odoo Order & Customer Data to Shopify | MESA Workflow Template
Send Odoo Order and Customer Details to Shopify
15 min setup
No coding required
Runs automatically
Save time and eliminate the hassle of manually syncing data across platforms. This MESA workflow automatically transfers order details and customer information from Odoo to Shopify whenever a new order is created. With this automation in place, you can streamline operations and ensure both systems stay up-to-date effortlessly, letting you focus on running your business instead of managing data.
How it works
15 steps to start syncing Odoo orders to Shopify automatically
New Odoo Order
App connector: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)• Time to complete: 1 minute
Why this matters: This trigger monitors your Odoo system for new sales orders and kicks off the Shopify sync workflow. Without this automation, you'd need to manually recreate every Odoo order in Shopify, leading to data inconsistencies and wasted time on double data entry.
Retrieve Odoo Order Details
App connector: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: The trigger provides basic order information, but this step fetches the complete order record with all details needed to create a matching Shopify order.
Retrieve Customer
App connector: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: To create or update the customer in Shopify, you need their complete contact information and addresses.
Retrieve Order Line Items
App connector: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: Orders typically contain multiple products, and each line item needs to be included in the Shopify order.
Loop Through Order Lines
App connector: [Loop](/content/apps/loop/integrate "View Loop integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: With potentially many products in an order, this loop ensures each line item gets individually processed to retrieve product details needed for matching to Shopify.
Retrieve Product Variant
App connector: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: Each order line references a product by ID, but you need the product's SKU to match it to the corresponding Shopify variant.
Loop End & Create List Of Odoo Product Variants
App connector: [Loop](/content/apps/loop/integrate "View Loop integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: This step compiles all the product variant records retrieved during the loop iterations.
Format Odoo Order Data
App connector: [Code](/content/apps/custom/integrate "View Code integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: This step transforms Odoo data into the format Shopify needs, extracts customer address components, adds SKUs to order lines.
Check for Existing Shopify Customer
App connector: [Shopify](/content/apps/shopify/integrate "View Shopify integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: This step searches Shopify for a customer with the same email address as the Odoo customer to prevent duplicate customer records.
Create Customer
App connector: [Shopify](/content/apps/shopify/integrate "View Shopify integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: When the Odoo customer doesn't exist in Shopify yet, this step creates a new customer record.
Update Customer
App connector: [Shopify](/content/apps/shopify/integrate "View Shopify integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: When the customer already exists in Shopify, this step updates their information to match the current Odoo data.
Create Shopify Order
App connector: [Shopify](/content/apps/shopify/integrate "View Shopify integration page"/index.html)• Time to complete: 0 minutes (Auto-configured)
Why this matters: This step creates a complete order record with all line items, addresses, taxes, and customer details, making the sale visible in Shopify for fulfillment and reporting.
Frequently asked questions
What happens if products don't have matching SKUs in both systems?
The custom code will set has_shopify_match: "no" for those line items, but the workflow will still attempt to create the Shopify order.
Does this workflow update existing Shopify orders if I modify an Odoo order?
No, this workflow only triggers when new orders are created in Odoo.
Will this affect my Shopify inventory levels when orders are created?
No, the workflow sets inventory_behaviour: "bypass" when creating Shopify orders.