Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. eCommerce
  3. Shopify Odoo Connector: Orders, Stock, Fulfilment Sync (Miko) v 19.0
  4. Sales Conditions FAQ

Shopify Odoo Connector: Orders, Stock, Fulfilment Sync (Miko)

by Tripster Developers https://tripsterdevelopers.com/odoo/
Odoo

$ 452.39

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 16.0 17.0 18.0 19.0
  • Description
  • Manifest
  • License

Shopify Odoo Connector: two-way sync for orders, products, customers, stock and fulfilment

Connect a Shopify store to Odoo and keep both sides in step, on a schedule. Built on the GraphQL Admin API, which Shopify has required for new apps since October 2024 and is replacing REST with, so this will not need rewriting when the REST endpoints finish being withdrawn.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0OPL-1
Two modules, one install. This connector needs the free E‑Commerce Connector Engine (Miko), and Odoo installs it for you automatically from the Apps store or on Odoo.sh — nothing extra to buy or choose.

Downloading the ZIP by hand? Take both: put miko_ecommerce_core in your addons folder alongside this one, or Odoo reports an unmet dependency.
The interesting part of a connector is not what it syncs, it is what it refuses to guess. This one never imports the same order twice, never drops a tax it has no mapping for, never attaches a sale to a nearly‑matching variant, and never imports a total that disagrees with what the customer actually paid.

Why this one

Built on GraphQL, not REST

REST product endpoints stopped supporting more than 100 variants in February 2025 and no longer get new features. A REST connector is a connector with a rewrite in it.

Direction is enforced, not suggested

Products and customers each run in, out or both. A push against a pull‑only store is refused with a reason rather than done quietly.

Totals are verified

Every imported order is checked against what Shopify actually charged. Anything that disagrees stays a quotation, flagged, with the difference spelled out.

Cost-aware throttling

Shopify limits query cost from a leaky bucket, not request count. The client reads what is left and waits for the refill rather than earning a 429 on a large catalogue.

Every call verified live

Every GraphQL document in this module was executed against a real Shopify development store on API 2025‑07, not just against test stubs.

Safe by default

Order confirmation, invoicing, stock publishing, fulfilment and the scheduler all start switched off. Shopify’s shipping email to your customer stays off until you turn it on.

What syncs, and which way

RecordsDirectionNotes
OrdersShopify to OdooLine discounts, shipping lines and tax lines
Products and variantsEither way, or bothOptions become Odoo attributes; SKU and barcode carried across
Customers and addressesEither way, or bothMatched on exact email, country resolved by ISO code
Stock levelsOdoo to ShopifyAvailable‑to‑promise or on hand, to a location you choose
Fulfilment and trackingOdoo to ShopifyOn delivery validation, on invoice posting, or whichever is first
TaxesMapped by youAnything unmapped stops and asks rather than under‑billing

How it works

  • 1
    Create the API credentials in your store
    Read and write access to products, customers, orders and inventory. The exact permission list is in Requirements below.
  • 2
    Add the store in Odoo and press Test Connection
    It verifies the credentials, names the store back to you, and says exactly what to fix if anything is wrong.
  • 3
    Import, then look at what arrived
    Products, then customers, then orders. Nothing is confirmed or invoiced yet: those switches start off on purpose.
  • 4
    Turn on the schedule and the write-back
    Once you are happy with what came in, enable the scheduled sync, stock publishing and fulfilment individually.

One store, every setting in one place

Shopify Odoo connector store settings in Odoo, with pull and push buttons

You choose which way data travels

Choosing sync direction per record type between Shopify and Odoo

Map any Shopify field to any Odoo field

Shopify to Odoo field mapping table, editable per store

Runs on a schedule, or right now

Scheduled Shopify to Odoo sync settings

Stock and fulfilment, back to the storefront

Publishing Odoo stock to a Shopify location and sending fulfilment tracking

When something fails, you are told what to fix

Shopify sync job dashboard showing done, failed and needs-attention jobs

Never a silent under-billing

Mapping Shopify tax lines to Odoo taxes

Detailed capabilities

Orders
  • Line discounts kept as discounts, so margin reports stay truthful.
  • Shipping lines imported as their own line.
  • Guest checkouts handled through a fallback customer you choose.
  • Cancelled orders imported for the record but never confirmed.
  • Order date taken from Shopify, not from the moment of import.
Products and variants
  • Shopify options become Odoo attribute lines; attribute lines are only ever added, never removed, because removing one deletes variants that historical orders reference.
  • A variant is matched on exact option-set equality. A near match is reported and left unlinked rather than attached to the wrong SKU.
  • A barcode that already belongs to another product is skipped with a warning instead of aborting the whole catalogue.
Stock
  • Available‑to‑promise by default, because publishing on hand is how the same unit gets sold twice.
  • Written to one named location you choose; a store with several would otherwise have the wrong shelf updated silently.
  • Items not yet stocked at that location are activated first, which Shopify requires and which every newly created product needs.
Fulfilment
  • Fires when the delivery is validated, when the invoice is posted, or whichever happens first — businesses that never run Inventory need the invoice trigger.
  • Tracking number and carrier passed across.
  • notifyCustomer is off by default: switching it on over a backlog emails real people about orders that shipped weeks ago.
When something fails
  • Failed is transient — a dropped connection, a rate limit, a 502. Retried automatically with exponential backoff.
  • Needs attention means something has to change first: a tax with no mapping, a product not in Odoo, a revoked key. Never retried on a timer, because a timer cannot fix it, and each one carries the sentence saying what to do.
  • Every job keeps the exact payload that caused it, so a retry replays the failure without asking the store for the data again.
  • A Retry button on every job, and a dashboard filtered to what still needs a person.

Requirements

  • Odoo 16, 17, 18 or 19, Community or Enterprise.
  • The free E‑Commerce Connector Engine (Miko).
  • A Shopify custom app token with read_products, write_products, read_customers, write_customers, read_orders, read_inventory, write_inventory, read_locations and write_merchant_managed_fulfillment_orders.
  • read_customers is required even if you only import orders, because an order carries its customer.
  • Odoo Online cannot run third-party modules containing Python, so this needs Odoo.sh or a self‑hosted install.

Support

Email support for every version listed above, from the people who wrote it. Every release is certified against real Odoo images before it ships, and the test count is stated on this page rather than implied.

86 automated tests, run against Odoo 16.0, 17.0, 18.0, 19.0 on every release. A version is only listed once it passes.

Questions

Will this break when Shopify retires the REST API?
  • No. It is built on the GraphQL Admin API, which is what Shopify is moving everything to.
What happens if a sync is interrupted halfway?
  • Nothing bad. Identity goes through the mapping table before anything is written, so re-running converges on the same single order rather than creating a second one.
Can I run Shopify as the master for products but Odoo for customers?
  • Yes. Direction is set per record type, independently.
Which Odoo versions are supported?
  • Every listed version is certified on each release by installing the module into a real Odoo image of that series and running the full test suite. A version is only listed once it passes.
Does this work on Odoo Online?
  • No. Odoo Online cannot run third-party modules containing Python, which is Odoo's rule rather than ours. Odoo.sh and self-hosted installs are fine.
What does support cover?
  • Installation problems, defects, and questions about how the module behaves, by email, for the versions listed on this page. Custom development and changes to Odoo core behaviour are separate work.
How do I report a problem?
  • Email support@tripsterdevelopers.com with your Odoo version, the module version, and what you did. If a job failed, the job record holds the exact payload and the error, which answers most questions immediately.

Explore our other Odoo apps

E-Commerce Connector Engine
Free
The engine every store connector runs on
miko_ecommerce_core
WooCommerce Odoo Connector
USD 399
Orders, products, customers, stock, status
miko_woocommerce
Barcode Validator & Catalog Audit
Free
Barcodes that will never scan
miko_catalog_health
Email Validation & Duplicate Contacts
USD 19
Contacts that can never be emailed
miko_contact_health
Margin Control & Sold Below Cost
USD 49
Products sold at a loss, blocked before the order
miko_margin_health
Vendor Price Check & Supplier Audit
USD 29
Products you cannot actually reorder
miko_supplier_health
MCP Server for AI
Free
Claude, ChatGPT or Copilot reading Odoo safely
miko_mcp_server

Search the Apps store for the technical name, or open Tripster Developers at the top of this page to see everything we publish.

Questions before you buy?

Email support@tripsterdevelopers.com and a developer who wrote this will answer, usually the same working day (New Zealand time).

Built by Tripster Developers.

Shopify is a trademark of Shopify Inc. Odoo is a trademark of Odoo S.A. This module is not affiliated with, endorsed by, or sponsored by either company; the names and logos are used only to say what it connects.

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• Sales (sale_management)
• Discuss (mail)
Community Apps Dependencies Show
E-Commerce Connector Engine (Miko)
Lines of code 2327
Technical Name miko_shopify
LicenseOPL-1
Websitehttps://tripsterdevelopers.com/odoo/
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with