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.