Way4Tech
SH eCommerce

Shopify Odoo Integration

Two-way Shopify โ†” Odoo sync.

Shopify runs the storefront well, and Odoo runs the business behind it: stock, purchasing, accounting and fulfilment. Connecting the two turns the store into a sales channel rather than a separate island of data. Orders land in Odoo as sale orders, stock levels flow the other way from the warehouse, and fulfilment with its tracking number is written back to Shopify so the buyer gets the shipping email without anyone touching the admin.

What syncs between Shopify and Odoo

  • โœ“ Products and variants: Odoo to Shopify, one-way in most builds, so the ERP owns the catalogue. Two-way is possible where merchandising is done in Shopify.
  • โœ“ Inventory levels: Odoo to Shopify, one-way, per Shopify location mapped to an Odoo warehouse.
  • โœ“ Orders: Shopify to Odoo, one-way, created as sale orders with customer, lines, discounts, shipping and payment status.
  • โœ“ Customers: Shopify to Odoo, one-way, matched on email so repeat buyers do not create duplicate contacts.
  • โœ“ Fulfilment and tracking: Odoo to Shopify, one-way, when the delivery is validated.
  • โœ“ Refunds and cancellations: Shopify to Odoo, one-way, producing the matching credit note or cancelled order.
  • โœ“ Payouts: Shopify to Odoo, one-way, imported so gateway settlements reconcile against the bank.

How we implement it

  1. 1
    Decide the system of record

    Which system owns products, prices and stock. Nearly every failed connector project skipped this conversation.

  2. 2
    Key mapping

    Match on SKU, and clean the SKUs first. Fuzzy matching on names is where duplicate products come from.

  3. 3
    Locations to warehouses

    Map every Shopify location to an Odoo warehouse, and decide what happens to stock you do not want the store to sell.

  4. 4
    Order flow rules

    Paid against pending orders, discounts, gift cards, shipping lines and how each posts in Odoo.

  5. 5
    Historical import

    Backfill open orders and customers, with a cutover date, so the ledger does not start half empty.

  6. 6
    Go-live and monitoring

    A queue with retry and an error dashboard, because a store that quietly stops syncing at midnight is worse than one that shouts.

Services that cover this work

Shopify and Odoo: common questions

Which system should own stock?

Odoo, in almost every case. It sees purchase orders, returns, transfers and manufacturing, so its number is the true one. Shopify then receives the available quantity per location.

How fast does stock update?

Near real time for changes triggered by orders, plus a periodic full reconciliation to catch anything missed. The reconciliation pass matters more than the speed of the fast path.

What about multiple Shopify stores?

Several stores can feed one Odoo database, each mapped to its own sales channel, price list, warehouse and journal, which keeps reporting per store intact.

Do refunds sync back?

Yes. A refund in Shopify creates the matching credit note in Odoo, and a return can restock the item if the flow is set up that way.

Will it work with Shopify POS as well?

Orders from Shopify POS arrive like any other order, mapped to the location they were sold at. Whether you keep Shopify POS or move to Odoo POS is a business decision, not a technical limit.

Other ecommerce integrations

Need a connector that is not on the list?

Custom REST, GraphQL, webhook, EDI and flat-file integrations, built with retry, idempotency and audit logging so a failed message is visible instead of lost.