AutomationFlowsE-commerce › Sync Paid Shopify Order Contacts with Odoo and Remove Duplicates

Sync Paid Shopify Order Contacts with Odoo and Remove Duplicates

BySpaGreen Creative @spagreen on n8n.io

This workflow triggers on paid Shopify orders and syncs the order’s shipping contact details into Odoo Contacts (res.partner) by searching for existing contacts and creating new ones, with a secondary duplicate-check branch that splits out IDs for additional matching. Triggers…

Event trigger★★★★☆ complexity17 nodesOdooShopify Trigger
E-commerce Trigger: Event Nodes: 17 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #16353 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "C5GiokodVlu0nDdJ",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Automated Shopify to Odoo Contact Synchronization with Duplicate Removal",
  "tags": [],
  "nodes": [
    {
      "id": "41c8ff9f-0b2e-4e5a-88f8-f63e401ba376",
      "name": "Split Out4",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -304,
        304
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "35b75a24-8adf-4195-889d-fb0ddcce4e51",
      "name": "Code6",
      "type": "n8n-nodes-base.code",
      "position": [
        -496,
        304
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "42e219f7-c4c1-4b1b-b369-d39909b46cce",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        -304,
        32
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "e21dc260-52d5-4a80-bbe3-ad94cae6a5c3",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        -128,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "344f4bf6-a390-48e4-80d6-2edc76c13eec",
      "name": "Code1",
      "type": "n8n-nodes-base.code",
      "position": [
        96,
        304
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "7256a739-96c0-4378-bebe-f012b45cf1cc",
      "name": "Filter1",
      "type": "n8n-nodes-base.filter",
      "position": [
        272,
        304
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "18532f37-5ce8-4e10-9e32-1e4f579fb269",
      "name": "Odoo  (Search Contact)",
      "type": "n8n-nodes-base.odoo",
      "position": [
        -496,
        32
      ],
      "parameters": {},
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "9963cbb2-13a3-45a7-8215-3cc988dbdd2a",
      "name": "Odoo  (Create Contact)",
      "type": "n8n-nodes-base.odoo",
      "position": [
        64,
        32
      ],
      "parameters": {},
      "typeVersion": 1,
      "alwaysOutputData": false
    },
    {
      "id": "c7997e72-5fe7-449c-9d9a-c3f528b119ff",
      "name": "Odoo  (Delete a contact)",
      "type": "n8n-nodes-base.odoo",
      "position": [
        304,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "8a2a4dd0-9a44-450c-a42e-924fb992862f",
      "name": "Odoo  (Search Contact)1",
      "type": "n8n-nodes-base.odoo",
      "position": [
        -96,
        304
      ],
      "parameters": {},
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "54c611b1-c634-42a3-8850-ff336b92a8d3",
      "name": "Odoo  (Create Contact)1",
      "type": "n8n-nodes-base.odoo",
      "position": [
        512,
        304
      ],
      "parameters": {},
      "typeVersion": 1,
      "alwaysOutputData": false
    },
    {
      "id": "a052cd93-4cb4-4d91-8315-11981c8a90cb",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        32
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8571f773-b8a1-4019-baa5-5d56d751a423",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        32
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "7f737df4-9a59-4cee-8d5c-1f150d977c43",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        -48
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a455d838-a5ac-4d88-9fce-2f516e9a7f35",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        -32
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "59c1c8cd-48a5-4a6b-adb6-01f7a58ee4cc",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "4a5df0eb-f00c-44b0-9db2-eee43b09b7a5",
      "name": "Shopify (Trigger Paid Order & Get Data)",
      "type": "n8n-nodes-base.shopifyTrigger",
      "position": [
        -768,
        176
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "52f60065-58be-4d4e-8ea2-72fe0579d722",
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code1": {
      "main": [
        [
          {
            "node": "Filter1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code6": {
      "main": [
        [
          {
            "node": "Split Out4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Odoo  (Create Contact)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter1": {
      "main": [
        [
          {
            "node": "Odoo  (Create Contact)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out4": {
      "main": [
        [
          {
            "node": "Odoo  (Search Contact)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Odoo  (Create Contact)": {
      "main": [
        []
      ]
    },
    "Odoo  (Search Contact)": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Odoo  (Create Contact)1": {
      "main": [
        []
      ]
    },
    "Odoo  (Search Contact)1": {
      "main": [
        [
          {
            "node": "Code1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Odoo  (Delete a contact)": {
      "main": [
        []
      ]
    },
    "Shopify (Trigger Paid Order & Get Data)": {
      "main": [
        [
          {
            "node": "Odoo  (Search Contact)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Code6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow triggers on paid Shopify orders and syncs the order’s shipping contact details into Odoo Contacts (res.partner) by searching for existing contacts and creating new ones, with a secondary duplicate-check branch that splits out IDs for additional matching. Triggers…

Source: https://n8n.io/workflows/16353/ — original creator credit. Request a take-down →

More E-commerce workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

E-commerce

This workflow functions like the integration of Shopify products with Odoo products, Shopify customers with Odoo customers, and paid Shopify orders with Odoo sales orders containing multiple products.

Shopify Trigger, Odoo
E-commerce

Sync New Shopify Products to Odoo Product. Uses odoo, shopifyTrigger. Event-driven trigger; 5 nodes.

Odoo, Shopify Trigger
E-commerce

Sync New Shopify Customers to Odoo Contacts. Uses odoo, shopifyTrigger. Event-driven trigger; 5 nodes.

Odoo, Shopify Trigger
E-commerce

This workflow functions by integrating Shopify customers into Odoo customers. Trigger: Shopify – New Customer Created The workflow starts when a new customer is added in Shopify. Action: Odoo – Search

Odoo, Shopify Trigger
E-commerce

Seamlessly sync newly created Shopify products into Odoo with this smart, no-code n8n workflow. Automatically checks for duplicates and creates new products only when needed – fully compatible with st

Odoo, Shopify Trigger