How to choose an Odoo Shopify connector.
Every connector syncs products and orders on a good day, so a feature list won't separate them. What separates them is behaviour during failure — and failure is guaranteed, because you're integrating two systems across a network you don't control with a platform that rate-limits you. Below are eight questions that produce different answers from different vendors, with what a good answer sounds like. All eight are verifiable before you buy.
We don't name competitors on this page. You can run these questions against anyone, including us.
1. Which Shopify API is it built on?
Ask: REST Admin API, GraphQL Admin API, or both?
Why it matters: Shopify moved the REST Admin API to legacy status in October 2024, and since April 2025 every new public app must be built on the GraphQL Admin API. REST still works — Shopify has announced no shutdown date, and anyone claiming a specific switch-off date is guessing — but it's frozen. New Shopify capabilities land on GraphQL only.
A good answer: GraphQL Admin API, with cost-based rate limiting handled explicitly.
A concerning answer: REST-only on a connector still being actively sold, or vagueness about which.
2. What happens when the same record is edited in both systems?
Ask: who wins, and can I choose?
Why it matters: it will happen — someone edits a product in Shopify's admin while someone else edits it in Odoo. The connector has to resolve it somehow, and if it doesn't tell you how, it's still deciding.
A good answer: you choose the policy — Odoo wins, Shopify wins, or newest edit wins — per entity, and every resolution is written to a log you can read.
A concerning answer: a policy baked in by the vendor, or silence. Silence usually means last-write-wins with no record, which is the same as losing edits without knowing.
3. What happens when Shopify drops a webhook?
Ask: does the connector detect and re-register automatically, or is it a support ticket?
Why it matters: Shopify drops webhook subscriptions. Repeated delivery failures, permission changes, timeouts, sometimes nothing you can identify. It does not tell you. From your side there's no error — orders just stop, and you find out from a customer.
A good answer: automatic detection and re-registration on a schedule, plus a way to backfill the gap the drop created.
A concerning answer: "that doesn't happen to us." It happens to everyone; it's a Shopify behaviour, not a connector bug. A vendor who says otherwise either hasn't run at scale or isn't being straight with you.
More on the symptom and how to check: Shopify sync troubleshooting.
4. What happens to an order line that can't be matched?
Ask: is the whole order rejected, or does it land with the problem flagged?
Why it matters: this is the most consequential design decision in any connector, and it's almost never on a feature list. A new SKU, a bundle, a custom line item, a currency with no pricelist — any of these can make one line unmappable.
A good answer: the order lands, the unmatched line goes to a fallback, the reason is logged, and a human fixes one line.
A concerning answer: the order fails. A paid customer with no record in your ERP is much worse than an order with one line to tidy up, and you won't find out until they chase you. How ours behaves: how Shopify orders sync into Odoo.
5. How are refunds handled?
Ask: draft, or posted automatically?
Why it matters: a refund in Shopify is a commercial event. Posting to the ledger is an accounting event. They're approved by different people, sometimes in different periods.
A good answer: refunds import as a draft credit note for a person to review and post.
A concerning answer: automatic posting. Ask your accountant how they feel about a connector posting to the ledger in their name without approval. The answer is usually immediate.
6. Are payouts reconciled to the order?
Ask: does the connector break out charges, refunds, fees and adjustments and match them to the source orders and invoices?
Why it matters: a payout is a net lump sum covering many orders with fees deducted. If the connector doesn't decompose it, somebody reconciles it by hand every settlement period, forever. This is the single most underrated line item in the whole evaluation because the cost is invisible at purchase and permanent afterwards.
A good answer: payouts land as their own record, decomposed, matched line by line to the orders and invoices behind them.
Also ask: which payment providers? Payout reconciliation typically covers Shopify Payments only — including ours. If most of your volume is through another gateway, this feature won't help you, and it's better to know now. Detail: Shopify payout reconciliation in Odoo.
7. What happens during a rate-limit storm?
Ask: does a 429 delay the sync or drop it?
Why it matters: Shopify rate-limits by query cost on GraphQL. During a flash sale or Black Friday you will exhaust the budget. What happens next decides whether your busiest day is slow or lossy.
A good answer: cost tracking and backoff — the queue slows and everything arrives.
A concerning answer: treating a 429 as a failure and discarding the job. Ask specifically what happens to a job that receives a 429, not whether the connector "handles rate limits."
8. Does your data leave your server?
Ask: is there middleware, a hosted service, or a phone-home?
Why it matters: many connectors route sync traffic through the vendor's infrastructure. That adds a third party to your customer and financial data, a dependency that can go down independently of both systems, and usually a recurring fee. It also means your integration stops working if the vendor does.
A good answer: runs entirely inside your Odoo, talking only to Shopify.
A concerning answer: an architecture diagram with a box in the middle that has the vendor's logo on it.
Two more worth asking, if you're at scale
How does the first import behave? A backfill that can't resume won't finish on a large catalogue. Ask whether it counts before it commits, and whether it survives a worker restart. Ours is covered under Odoo Shopify product and inventory sync.
What happens when a delivered order is edited in Shopify? Applying the change silently rewrites what your books say you shipped after you shipped it. A review activity for a human is the correct answer.
How ours answers
Stated plainly so you can check it, including where the answer is a limit:
| Check | Odin's Odoo Shopify connector |
|---|---|
| Shopify API | GraphQL Admin API, cost tracking built in |
| Conflict policy | You choose per entity; every resolution written to the Conflict Log |
| Dropped webhooks | Detected and re-registered automatically ⚠️ pending product confirmation |
| Unmatched lines | Land on a fallback with a logged reason in the Mismatch Log |
| Refunds | Draft credit note. Nothing auto-posts |
| Payouts | Decomposed and matched to source order and invoice — Shopify Payments only |
| Rate limits | Backoff; a 429 delays the sync ⚠️ pending product confirmation |
| Data path | Entirely inside your Odoo. No middleware, no CDN, no phone-home |
| Backfill | Dry-run count first, resumable, tested at 10,000 SKUs |
| Delivered-order edits | Un-delivered changes apply; delivered lines raise a review activity |
Full specification: Odoo Shopify connector. $349 one-time, OPL-1, Odoo 19, Community and Enterprise. No per-order fee.
Every row is checkable in the live sandbox before you pay: sandbox.odin.ist/odoo/shopify-sync, admin / admin. Break something deliberately and watch what happens — that's a better evaluation than any comparison table, including this one.
Or get it free on an Odin deployment — from $150/month, unlimited users, every module included.
Where we'd be the wrong answer
- Odoo 17 or 18. This connector targets Odoo 19.
- Most of your payment volume isn't Shopify Payments. Payout reconciliation won't cover it.
- You need orders to flow Odoo → Shopify. Orders import one way here.
- You want a hosted, managed integration. Deliberately the opposite — it runs inside your Odoo and you own it.
FAQ
What's the best Odoo Shopify connector?
There isn't a single answer, because the differences that matter are about failure behaviour rather than features. The eight questions above produce genuinely different answers from different vendors and are all verifiable before purchase.
Should an Odoo Shopify connector use REST or GraphQL?
GraphQL. Shopify made the REST Admin API legacy in October 2024 and has required GraphQL for new public apps since April 2025. No shutdown date has been announced, but REST is frozen.
What's the most overlooked thing when choosing a connector?
Payout reconciliation. A payout is a net lump sum covering many orders with fees deducted; if the connector doesn't decompose and match it, someone reconciles by hand every settlement period indefinitely.
Do Shopify webhooks really get dropped?
Yes, and Shopify doesn't notify you. It's normal platform behaviour. Ask whether the connector re-registers automatically and how you recover the orders missed while it was down.
Should refunds post automatically?
No. A draft credit note lets a person review and post it. Automatic posting makes an accounting decision on your finance team's behalf.
How much should an Odoo Shopify connector cost?
One-time module pricing is typical on the Odoo App Store; ours is $349. The cost that actually matters is ongoing — middleware fees, per-order charges, and manual reconciliation time a connector fails to eliminate.
The rest of the cluster
Run these eight questions against us first.
Live sandbox — admin / admin. No signup.