Khichdi InfoTech
Shopify–Odoo integration & product automation — Odoo project case study hero
← All case studiesShopify–Odoo automation

Shopify–Odoo integration & product automation

Shopify storefronts connected to Odoo operations — connector sync, stock-aware merchandising, multi-website infrastructure, and custom Product Automation with logging and Manual Run.

Built for two readers: executives can scan the summary and impact cards; technical leads can continue into architecture, highlights, and workflows.

8+

Months long-term support

Rules

Product Automation layer

Bi-dir

Shopify↔Odoo sync

Platform
Odoo
Industry
Retail & digital ecommerce
Engagement
8+ months · long-term support
Role
Solution architect & technical lead

Technologies

OdooPythonPostgreSQLShopifyREST APIs

Solutions delivered

Shopify↔Odoo connector syncCustom Product Automation rulesStock-aware merchandisingMulti-website infrastructureExecution logs & Manual Run

Technology stack

OdooPythonPostgreSQLShopifyREST APIs

01 · Executive summary

What a decision maker needs to know

Client · problem · solution · business value — in under two minutes.

Client: a retail and digital ecommerce business using Shopify as a primary sales channel and Odoo as the operational backbone.

Problem: catalog changes, merchandising rules, and stock-aware selling were drifting between systems when teams relied on spreadsheets or one-off admin edits.

Solution: Shopify↔Odoo connector workflows hardened for production, multi-website ecommerce infrastructure, stock-aware merchandising, and a custom Product Automation module for domain-based product.template rules with logs and Manual Run.

Business value: less dual maintenance on catalog operations, operator-owned automation rules, and storefront behaviour that reflects ERP inventory reality.

02 · Business challenges

What was blocking the business

Dual-system catalog drift

Shopify and Odoo both held product/operations data. Without reliable sync and rules, teams re-keyed changes and created inconsistent catalogs.

Merchandising vs stock truth

Selling behaviour on the storefront needed to reflect inventory reality maintained in Odoo — not optimistic offline assumptions.

Repeatable field updates

Tagging and related product.template fields were applied manually, which does not scale and is hard to audit.

Operator visibility

Failures needed logs operators can inspect — not only server logs for engineers.

03 · Business requirements

What the solution had to support

  • Keep Shopify and Odoo product/operations data connected as a reliable daily workflow
  • Support multi-website / multi-storefront ecommerce infrastructure on the Odoo side
  • Apply stock-aware merchandising rules so selling behaviour reflects inventory reality
  • Automate repeatable product-field updates (tags and related template fields) from business rules
  • Provide operator-visible logs and controlled manual backfill for catalog corrections
  • Operate safely under multi-company record rules where applicable
  • Keep connector and automation workflows reliable under normal retail ecommerce volume without relying on unpublished peak metrics

04 · Solution delivered

How we approached delivery

We treated Shopify–Odoo as an operations programme: configure and harden connector workflows used in production, then add a custom Product Automation module for rule-driven product.template updates with recursion-safe writes, execution logs, and Manual Run backfill.

Key modules & areas: Shopify connector, Inventory, eCommerce / Website, Product Automation

Architecture

Odoo remains the operational system of record. Shopify is the storefront channel. Connector jobs move the agreed operational datasets between them.

Automation

Domain-based Product Automation rules on product.template — create/update triggers, optional triggering-field gates, sequenced Selection / Many2one / Many2many actions, one coherent write.

Integrations

Instance-based Shopify connector workflows for product/order/stock sync paths used in the engagement, configured and operationally hardened.

User experience (operators)

Automation Rules, Execution Logs, and Manual Run wizard so merchandisers and admins can change rules and backfill without guessing outcomes.

Security / multi-company

Company-scoped rules with record rules and User / Manager groups so automation stays inside the right operating company.

05 · Technical architecture

How the system was structured

Odoo as operational system of record

Product and operations masters live in Odoo. Shopify remains the storefront channel; connector workflows move the agreed operational data between systems.

Shopify connector layer

Instance-based Shopify connection with product/order/stock sync jobs used in the engagement. Configuration and operational hardening were part of delivery.

Custom Product Automation module

Domain-based rules on product.template with sequenced actions, company scoping, create/update triggers, optional triggering-field gates, recursion context, and execution logs.

Operator controls

Automation Rules, Execution Logs, and Manual Run wizard for on-demand backfill of selected products or matching domains.

Multi-company safety

Rules, actions, and logs respect company record rules so automation stays scoped to the operating company.

Warehouse and fulfilment alignment

Warehouse workflows were structured to support accurate inventory movement, stock-aware merchandising, and fulfilment handoff so storefront availability reflects ERP inventory truth.

06 · Technical highlights

Implementation choices that mattered

Practical engineering decisions — not a technology laundry list.

product.template create/write hooks

Automation evaluates after template create/write so catalog edits become rule inputs instead of a separate batch job operators forget to run.

shopify.product.automation rules + actions

Rules carry domain, trigger mode, sequence, and triggering fields; actions write Selection / Many2one / Many2many (including tag Add / Remove / Set) in one accumulated write.

Recursion context

Automation-triggered writes set a recursion guard so the module does not loop on its own product.template updates.

Execution logs + Manual Run wizard

Success / skip / error outcomes are inspectable. Manual Run backfills selected products or matching domains without silently rewriting history on rule activate.

REST APIs (Shopify connector)

Connector jobs use Shopify APIs for the agreed sync paths — practical for commerce automation, separate from the local field-automation write.

07 · Features delivered

What was actually implemented

Product synchronization (connector)

Shopify↔Odoo product sync workflows configured so catalog changes flow through agreed connector jobs rather than manual dual entry.

Product field automation (custom module)

Rules update stored Selection, Many2one, and Many2many fields on product.template — including tag Add / Remove / Set — when create/update triggers match the domain.

Product updates with triggering fields

Optional triggering-field gates so rules run only when relevant template fields are present in create/write values; Manual Run ignores gates for deliberate backfill.

Inventory-aware merchandising

Stock-aware merchandising rules so storefront selling behaviour reflects inventory reality maintained in Odoo.

Multi-website ecommerce infrastructure

Multi-website infrastructure on the Odoo ecommerce side for multiple storefront contexts on one operational backbone.

Execution logging & monitoring

Success / skipped / error outcomes recorded per automation run for operator diagnosis.

Manual Run / controlled backfill

On-demand Manual Run for selected products or matching domains. Activating a rule does not silently backfill history.

Configuration options

Rule name, sequence, domain, trigger mode, triggering fields, active flag, and per-action field/value configuration with User / Manager groups.

Multi-company support

Company-required rules with record rules restricting automation data by company.

Recursion-safe writes

Automation context prevents recursive re-entry when automation itself writes product.template.

Sales order synchronization

Shopify orders sync into Odoo sales flows through configured connector mappings so commercial documents land in ERP processes instead of spreadsheet bridges.

Order status, shipment, payment, and refund sync

Configured connector paths keep order lifecycle signals — status updates, shipment handoff, payment, and refund handling — aligned between Shopify and Odoo for the operational paths used in production.

Customer synchronization

Customer create and update sync uses identity matching rules so storefront customers map cleanly into Odoo partners without uncontrolled duplicates.

Collection, category, pricing, and image sync

Catalog enrichment paths — collections/categories, pricing, and product images — synchronized through the agreed connector configuration so merchandising stays coherent across systems.

Webhook and scheduled sync mix

Near-real-time webhook handlers combined with scheduled queue/cron jobs for resilient synchronization — event-driven where timely, batched where safer for throughput and retries.

Multi-store support

Instance-based Shopify connections support multiple storefront contexts on one Odoo operational backbone, with company-aware scoping where multi-company rules apply.

08 · Automation workflow

How automation runs in production

  1. 01

    Trigger

    Product template create/update (or Manual Run) starts evaluation for active rules in company scope.

  2. 02

    Match rules

    Rules ordered by sequence; domain evaluated on product.template; optional triggering-field gate applied on automatic runs.

  3. 03

    Accumulate actions

    Matching Selection / Many2one / Many2many operations accumulate so the template receives one coherent write.

  4. 04

    Write once + guard

    A single product.template write runs under recursion context so automation does not loop on its own updates.

  5. 05

    Log outcome

    Execution logs capture success, skip, or error for operator review and support.

  6. 06

    Channel sync (connector)

    Connector jobs synchronize the agreed operational datasets with Shopify according to instance configuration — separate from the local field-automation write.

09 · Technologies used

Stack used on this engagement

OdooPythonPostgreSQLShopifyREST APIs

10 · Business impact

Value delivered

Less dual maintenance

Catalog operations covered by connector jobs and automation rules no longer depend on re-keying the same change in two systems.

Increased automation

Product-field rules (including tags) apply on create/update, so merchandising standards stick without spreadsheet campaigns.

Lower operational risk

Execution logs and Manual Run make failures inspectable and backfills deliberate — not silent history rewrites.

Better inventory-aware selling

Stock-aware merchandising keeps storefront behaviour aligned with Odoo inventory truth.

11 · What makes this engagement unique

Commerce automation + connector engineering

This case is not a generic “we integrate Shopify” claim. It combines production connector hardening with a custom Product Automation layer — rules, recursion guards, logs, and Manual Run — so ecommerce teams can own catalog standards inside Odoo.

12 · Why this matters

Takeaway for similar programmes

Shopify–Odoo programmes fail when sync is treated as a one-time import. Operable automation means rules operators can change, logs they can trust, and connector workflows that keep storefront and ERP aligned as the catalog evolves.

Related Knowledge Hub reading

Guides, resources, and tools that match this implementation theme.

Suggested next project

Continue with another published implementation in the portfolio.

Case study FAQs

Did this project include website performance or Core Web Vitals work?

No. This case study covers Shopify–Odoo automation and product-field automation only. Website performance optimization is tracked separately on the future portfolio register.

Is Product Automation the same as the Shopify connector?

No. The connector moves agreed operational data between Shopify and Odoo. Product Automation applies domain-based field rules on product.template inside Odoo, with logging and Manual Run.

Can rules backfill the whole catalog automatically when activated?

No. Activating a rule does not backfill existing products by itself. Operators use Manual Run for selected products or matching domains when a historical apply is required.

Who owns the automation configuration?

Rules and logs live in the client’s Odoo database under normal access control. Khichdi InfoTech configures and supports the solution; the client retains the system.

Next step

Discuss Shopify–Odoo integration

Share storefront volume, stock rules, and which sync paths you need first.

Ready to build or automate something?

Share your constraint — Shopify sync, migration, POS, manufacturing, or warehouse automation — and we will recommend the right engagement type.

Business technology and software delivery