Skip to content

Odoo Shopify Connector

Shopify orders, stock and products both ways, with fraud scores triaged.

The short answer

Odoo Shopify Connector links one Shopify store to Odoo in both directions: orders and customers in, products and stock out, status and tracking back. It is for a shop that already sees Shopify's fraud recommendations and wants them acted on in Odoo, where a cancel recommendation or a score over your own threshold marks the order risky as a stored field. It installs on the E-commerce Connector framework.

Request this module

Last updated

What it is for

Shopify scores orders for fraud and returns a recommendation with each one. Most connectors carry the order across and drop the score, so the judgement Shopify already made never reaches the person picking the box. The chargeback arrives weeks later, by which time the stock is gone and the order looks like every other order in the list. Taking Shopify's word literally is not much better. An order it merely wondered about still ships, because investigate is not cancel, and nobody has set a line anywhere that says which wonderings are worth a look.

Platform
Odoo
Category
Connectors
Works with
Odoo 18 · Odoo 19
Technical name
integration_shopify
Status
Direct from webbox
Pricing
Paid

What is inside it

  1. 01

    Fraud triage

    Two rules mark an order risky: any risk on it recommending cancel, or any score over the threshold you set. The flag is a stored field, so it filters, groups and reports like any other.

  2. 02

    Two-way sync

    Orders and customers arrive, products and stock go out, and both directions run through the parent framework's job queue. Metafields point at named Odoo fields, so a VAT number lands in the VAT field.

  3. 03

    The board

    A Shopify Sync screen of six tiles and a donut splitting risks into low, medium and high, so the bucket that needs a person opening it is visible rather than inferred.

What it looks like in practice

  1. An order Shopify only wondered about scores over your line

    Order #1049 carries an investigate recommendation, not a cancel, so nothing in Shopify's own verdict holds it back.

    Its score is 0.87, above the integration.fraud_threshold of 0.5, so the second rule marks it risky in Odoo and the reason Shopify gave stays attached to the order.

    Score
    0.87
    Threshold
    0.5
    Flagged risky
    2, one per rule

    Figures from the module's own demo data, on a fresh install. Install with demo data and open the Shopify Sync board, then the Order Risks list.

    Fraud triageThe board

  2. An investigate that stays under the line and ships

    Order #1043 is another investigate. Nobody has decided whether a wondering of that size is worth a look.

    It scores 0.42, under the threshold, so no flag is written and it passes. That third case is what proves the limit does any work at all.

    Score
    0.42
    Orders scored
    11
    Risk rate
    18.2%

    Figures from the module's own demo data, on a fresh install. Install with demo data, open the Shopify Sync board, and compare the risk rate tile against the eleven scored orders.

    Fraud triageThe board

  3. A shop's VAT number has nowhere to land

    The store keeps VAT numbers, delivery notes and company names in Shopify's namespaced key and value store. A connector that ignores it drops exactly the data that made the shop custom.

    Each metafield maps to a named Odoo field, so the VAT number arrives in the VAT field. Sales channels come across as well, so an order knows whether it began at the storefront or the point of sale.

    Metafield mappings
    3, to real fields
    Sales channels
    2, storefront and POS

    Figures from the module's own demo data, on a fresh install. Install with demo data and open the metafield mapping list, then the sales channels list.

    Two-way sync

What it deliberately does not do

It needs the E-commerce Connector
The queue, the mappings and the order pipeline live in the parent module. This one supplies the Shopify half and cannot run alone.
You bring the Shopify app and its credentials
A custom app in your own Shopify admin, with your own access token. Nothing is proxied through a third party and no credential leaves your database.
It does not decide for you
A flagged order is flagged, not cancelled. Holding, refunding or shipping it anyway is a judgement the module deliberately leaves to a person.
Not affiliated with Shopify
This is an independent connector that speaks Shopify's public API. Shopify is a trademark of its owner, which has no involvement in this module.

Questions

Can I install this on Odoo Online?
No. Odoo Online cannot install modules that contain Python, so this runs on Odoo.sh or a self-hosted instance. Check the versions listed above for the series and edition it is verified against.
Does it cancel or hold the risky orders for me?
No. A flagged order is flagged, not cancelled. The module writes the risk on the record and shows you Shopify's reason; holding it, refunding it or shipping it anyway stays a judgement for a person. If you wanted automatic cancellation, this is not that module.
Can I use this without the E-commerce Connector?
No. The job queue, the mapping tables and the order pipeline all live in the parent framework, and this module supplies only the Shopify half. Install the E-commerce Connector first; Odoo will refuse this one otherwise.
Where does the Shopify access token live?
In your own database, on the connector. You create a custom app in your own Shopify admin, grant it read and write scopes for products, inventory, orders and customers, then paste the token it issues. Nothing is proxied through a third party.

Have something to build?

Tell us the problem. We'll come back with a plan, a price, and who'd actually build it.

  • Free scoping call
  • Reply within 1 business day
  • No lock-in