HADOOPT
TECHNOLOGIES
Schedule a Tech Consultation
Home
Services
Odoo ERP implementation Rollout, custom modules, migration and support. Web application development SaaS products, portals and internal platforms. Mobile application development Offline-first field apps and customer apps. AI development & automation LLM assistants, document processing, forecasting. Odoo version upgrades ↗ Move to a newer release, scoped and priced on its own site.
Products
OrgExp ↗ Budget, CAPEX and OPEX management.
Blog About Contact Schedule a Tech Consultation
Blog / Odoo implementation
Implementation 8 min read

Connecting Odoo with Shopify and Amazon: connectors, sync and source of truth

How Odoo connects to Amazon and Shopify: the Amazon Connector, Odoo's Shopify options, what to sync, and which system owns stock, prices and orders.

· ERP practice 12 Nov 2026

Odoo connects to Amazon through its own Amazon Connector, part of Odoo Enterprise, which pulls confirmed orders into Sales and pushes stock levels for orders you ship yourself. For Shopify, Odoo's documentation describes a Shopify Connector for Odoo 19 and 20 that only runs on Odoo.sh; outside that, you use a third-party app from the Odoo Apps Store or a custom build. Whichever route you take, decide first which system owns each kind of data: products, stock, prices, orders and money.

This post covers the connectors as Odoo documents them, what is worth syncing, and the source-of-truth decisions that make or break an integration. If you are still choosing a storefront, our e-commerce platform comparison covers that first.

Odoo's Amazon Connector

The Amazon Connector (sale_amazon) is an Enterprise module; it is not in the Community source. You switch it on under Sales > Configuration > Settings > Connectors by enabling Amazon Sync, then add your seller account from the Amazon Accounts link. You need a paid Amazon seller account before you start.

According to Odoo's documentation, the connector can:

  • Pull confirmed orders, both FBA (Fulfilled by Amazon) and FBM (Fulfilled by Merchant), with their items, shipping costs and gift wrapping charges.
  • Create missing customers and delivery addresses.
  • Tell Amazon when an FBM order has shipped from Odoo, which is what gets you paid.
  • Push available quantities from Odoo to Amazon for FBM products.
  • Handle several seller accounts, and several marketplaces per account.

For FBA, Amazon manages the stock, and Odoo follows it in a virtual location. For FBM, Odoo creates a delivery order for each new order, and the shipment status goes back to Amazon once you process it.

What it does not do matters as much. Odoo states that monthly fee reports, disputes and refunds must still be handled in Amazon Seller Central. Because Amazon does not share customer email addresses, Odoo cannot send invoices to Amazon customers; you can upload them to Amazon by hand. For B2B buyers, VAT numbers have to be fetched from Amazon manually before invoicing.

How Amazon products and payments map into Odoo

Products are matched by the product's Internal Reference against the Amazon SKU. Matches are saved as Amazon offers, which you can also create by hand when your internal reference and SKU differ. An order line with no match lands on a default product called Amazon Sale, and unmatched shipping lands on Amazon Shipping. Lines on those default products are a sign that your catalogue mapping is incomplete.

Taxes on synced orders come from the product or the fiscal position, not from Amazon, so totals can differ from Seller Central by a few paise or cents. Odoo suggests writing those off at reconciliation. For payments, it recommends a dedicated bank journal (for example "Amazon Payments") with an intermediary account, registering the order payments as a batch deposit, and booking Amazon's commission bills against the same account. When the settlement reaches your bank, the intermediary account clears. Our post on bank reconciliation in Odoo 19 covers that last step.

Shopify and Odoo: the three routes

Shopify is the less settled of the two, so it is worth being precise.

RouteWhat it isWatch for
Odoo's Shopify ConnectorDocumented by Odoo for 19.0 and 20.0. Its Apps Store listing is a paid OPL-1 module published by Odoo IN Pvt Ltd.Odoo's documentation says it only works on Odoo.sh. The listing is marked "Third Party" on the Apps Store.
Third-party appsDozens of Shopify connectors on the Odoo Apps Store for 19.0, from various vendors.Quality, support and Shopify API version vary widely.
Custom buildYour own module against Shopify's Admin API and Odoo's ORM.You own the maintenance, including Shopify API version changes.

What Odoo's Shopify Connector syncs

Odoo's documentation lists orders, products, customers, returns and refunds flowing from Shopify to Odoo; inventory and fulfilments syncing both ways; and invoices and payments created automatically in Odoo. Confirmed Shopify orders become confirmed sales orders. You choose whether deliveries are handled in Odoo (Odoo validates the delivery and pushes the shipment to Shopify) or in Shopify (the fulfilment is pulled back with carrier and tracking number). Either way, stock is managed in Odoo and pushed to Shopify.

It is not real-time. The connector uses scheduled actions, not webhooks: orders sync every 10 minutes by default, stock is pushed after each order sync, and deliveries handled in Odoo sync every 10 minutes. If you sell limited stock in flash sales, that gap matters.

Product matching works like Amazon: a Shopify SKU is matched to an Odoo internal reference. A product needs a SKU in Shopify to be imported at all. Shopify variants come in as separate Odoo products, not as attribute-based variants, which is worth knowing before you design the catalogue. With Create Invoice enabled, Odoo creates and posts an invoice and registers the payment for orders that are fully paid in Shopify.

Two limits from the documentation: the Shopify Public app setup (installing from apps.shopify.com/odoo) is only available in the USA and Canada; elsewhere you create a custom app in Shopify and paste its credentials into Odoo. And the documentation does not describe reconciling Shopify Payments payouts or fees, so plan to handle payouts as a bank reconciliation job.

Choosing a third-party app or building your own

If you are self-hosted or on Odoo Online, or Odoo's connector doesn't fit, check any third-party app against these points:

  • Shopify API. Shopify made its REST Admin API legacy on 1 October 2024, and since 1 April 2025 new public apps must use the GraphQL Admin API. A connector built on GraphQL is the safer bet.
  • Webhooks or polling. Webhooks bring orders in within seconds; polling is simpler but lags.
  • Variants and bundles. Ask how Shopify variants map to Odoo product variants, and how kits are handled.
  • Who supports it at upgrade time. Ask whether the vendor has shipped versions for 17.0, 18.0 and 19.0, and how quickly.

A custom build makes sense when you have unusual pricing, several warehouses mapped to several Shopify locations, or a B2B flow the apps don't model. It is a real development project. Our post on Odoo's API covers the Odoo side of that.

What to sync between Odoo and a marketplace

Sync less than you think. Every field that moves both ways is a field that can conflict.

  • Products: SKU, title and price usually start in one place. Rich content (images, descriptions, SEO) often stays in the storefront.
  • Stock: available quantity only, from Odoo, per warehouse or location. Odoo's inventory setup decides what "available" means.
  • Orders: from the channel into Odoo, with taxes handled by Odoo's fiscal positions so GST reports stay right. See our GST compliance guide.
  • Fulfilment: tracking numbers back to the channel, from whichever system ships.
  • Payouts and fees: a settlement, not individual orders. Book them against an intermediary account and reconcile to the bank.

Deciding the source of truth

  1. Stock lives in Odoo. If Odoo also sells through POS, a website or B2B orders, it is the only system that sees every movement. Channels receive stock; they don't send it, except for an initial load or a correction.
  2. Pick one home for the catalogue. Either Odoo creates products and pushes them, or the storefront does and Odoo matches by SKU. The SKU must equal the internal reference either way.
  3. Prices follow the catalogue. If marketing changes prices in Shopify, don't also push prices from Odoo pricelists.
  4. Orders start in the channel and are never edited there after import. Changes after import go through Odoo, or through the channel's cancel and refund flow.
  5. Money is reconciled in Odoo against the bank, not against the channel's dashboard.
  6. Write it down. A one-page table of field, owner and direction saves weeks of argument later.
Most integration bugs are not code bugs. They are two systems that both think they own the stock figure.

If your Shopify plans depend on Odoo's own connector, that also settles hosting: it needs Odoo.sh. Our hosting comparison covers what else that means. For help mapping your channels, talk to us.

Questions we get asked

Does Odoo have a built-in Amazon integration?

Yes. Odoo Enterprise includes the Amazon Connector, enabled under Sales > Configuration > Settings > Connectors > Amazon Sync. It imports confirmed FBA and FBM orders, creates missing customers, confirms FBM shipments to Amazon and pushes FBM stock levels. Fee reports, disputes and refunds stay in Amazon Seller Central. It is not part of Odoo Community, so Community users need a third-party module.

Is there an official Odoo Shopify connector?

Odoo's documentation describes a Shopify Connector for Odoo 19.0 and 20.0 that syncs orders, products, stock, fulfilments, returns and refunds. The documentation says it only works on Odoo.sh. Its Apps Store listing is a paid module published by Odoo IN Pvt Ltd and marked Third Party. Self-hosted and Odoo Online users rely on third-party apps or a custom build.

Does Odoo sync with Shopify in real time?

Not with Odoo's own Shopify Connector. Odoo's documentation says it does not use webhooks; scheduled actions pull orders every 10 minutes by default and push stock from Odoo after each order sync. Some third-party connectors use Shopify webhooks to bring orders in faster. If you sell scarce stock quickly, check the sync interval of whichever connector you choose before going live.

Should stock be managed in Odoo or in Shopify and Amazon?

In Odoo, if Odoo handles purchasing, warehouses or other sales channels. Odoo is then the only system that sees every stock movement, and the channels only receive available quantities. The exception is FBA, where Amazon holds the stock and Odoo tracks it in a virtual location. Pulling stock from Shopify into Odoo is mainly for the first setup or fixing a mismatch.

← Previous Connecting WhatsApp to Odoo: the official app vs third-party connectors Next → A realistic 90-day Odoo implementation plan, phase by phase
Keep reading
Implementation Odoo's API for integrations: JSON-2, XML-RPC, webhooks and MCP 8 min read Implementation Odoo Studio vs custom modules: the costs of each for upgrades, Git and licensing 7 min read Implementation Running Odoo on-premise: backups, monitoring and performance tuning 7 min read