Shopify <> Odoo integration : User Documentation
📖

Shopify <> Odoo 17 integration : User Documentation


Product Description can be found on the page above

The following documentation will provide you with the information you need to use the much. Shopify - Odoo integration. The objective is to get you familiarised with the integration by providing relevant information as to the main business processes it covers, and how you can configure it to best suits your needs.

Some of Odoo's standard features may be included in this documentation. For Odoo’s standard functionalities and instructions, we recommend you check out Odoo’s official tutorials. The same applies to the Shopify Platform itself, where we recommend you to check out the official website of Shopify and its Learning Center.


Quick start guide


Installation pre-requisites


For the Shopify - Odoo integration to function, please make sure that you have the following Odoo standard modules installed : 


  • Sales
  • Invoicing
  • Accounting
  • Inventory


Enable the much. Shopify integration



​1.  Install much. Integration Hub, Order base integration and much_notify modules from the Apps. 

In Integration Hub > Settings, make sure you have the following settings enabled : 

  • iHub logs
  • iHub mappers
  • iHub queues *only for importing returns from Shopify

much. Integration Hub is the base for all much. integrations. Make sure to check out the complete Integration Hub documentation here


2. Install much. Shopify integration

  • Go to Integration Hub > Integrations and click New


  • Add an Integration name
  • In the Integration type field, select Shopify.
  • In the Company field, select the Odoo company that this integration will be applied to. 

2. Enable the much. Shopify integration

  • Retrieve your Shopify API credentials.

To get your Shopify API credentials : 

  • Shopify Admin > Settings > Apps and sales channels > Develop apps.

  • If not created already, click Create an app.


  • Give the App a name and assign an app developer. 

  • Click Configure Admin API Scope and select all scopes and click Save.

  • Go to API credentials and click Reveal token


  • In Odoo, go to Integration Hub > Integrations > Shopify > Integration Settings.
  • In the URL field, paste your Shopify store Url ex : https://much-integration.myshopify.com/

If you are currently installing the integration on an Odoo staging instance, please fill out the Testing URL field with your Shopify test instance Url. 

  • In the API Token field, paste your Shopify Admin API access token.

If you are currently installing the integration on an Odoo staging instance, please fill out the Test API token  field with your Shopify test instance API token. 


  • Click Save.
  • Back to Integration Hub > Integrations > Shopify, click Enable Integration.


Integration installed and enabled!


Synchronise your first product


Product template synchronised data


Odoo field

Shopify field

Product Name

Title

Shopify Status

Status

Product Type

Physical Product (if Consumable or Storable), Not a physical Product (if Service)

Image

Media

Odoo to Shopify : Sales Price                            ➡️

Shopify to Odoo : 

Extra Prices * used in Sales Order                    ⬅️

Odoo to Shopify :  Price


Shopify to Odoo : Price * used in Sales Order

Compare at price

Compare at price

Product Template Tags

Tags

Product Category

Category

Internal Reference* used to map the products

SKU used to map the products

Barcode*

Barcode

Sales description 

Description

Available Quantity  only Odoo to Shopify

Available Quantity

Commodity Code

Harmonized System (HS) code

Country of Origin

Country/Region of origin

Continue selling when out of stock

Continue selling when out of stock

Ihub Custom Fields

Metafields


*if a product has variants, the internal reference and barcode fields won't be visible in Odoo


Product variant synchronised data


Odoo field

Shopify field

Image

Media

Sales Price

Price

Compare at price

Compare at price

Internal Reference used to map the products

SKU used to map the products

Barcode 

Barcode

Available Quantities only Odoo to Shopify

Available Quantities

Commodity Code

Harmonized System (HS) code

Country of Origin

Country/Region of origin

Continue selling when out of stock

Continue selling when out of stock

iHub Custom Fields

Metafields



​Export products from Odoo

  • In Odoo, go to Sales > Products.
  • Open the product template or variant of your choice, open the ⚙️ ​action menu and click Export to connectors.


  • Select Shopify from the drop down menu and click Execute.



  • A pop-up appears, informing you of the successful export of the product to Shopify. You can also navigate to Integration Hub > Shopify > Logs to visualise the log associated with your recently exported product.

You can also choose to remove a previously exported product from Shopify. To do so : 

  • Go to Integration Hub > Shopify > Products, and open the product template or variant that you want to remove. 
  • Click on Actions > Remove product from connectors.



​Import products from Shopify

  • In Shopify Admin, go to Products and select the product you would like to import to Odoo.
  • In the product page, copy the product ID from the page URL.

  • In Odoo, go to Integration Hub > Shopify and click Import


  • In the Resource field, select Products.
  • If your product already exists in Odoo, select the Update existing products option. 

The Import feature, by default, will import based on a date interval : "From Date" "To Date". If you want to import a new product that was created before the last 24h, make sure to remove the value in the From Date field. The From Date is not taken into account when updating an existing product

  • In the Specific ids field, paste the product ID from the Shopify URL.
  • Click Execute.
  • Click on the Products smart button to access your newly imported product.

Product template in Shopify

Product Template in Odoo

Product variants in Shopify 

Product variants in Odoo

You successfully synchronised your first product!


Import your first order


Order imported data

Odoo field

Shopify field

Order number

Order number

Order date

Order date

Order line data 

  • Products (template or variant)
  • Description
  • Quantity
  • Unit Price
  • Discounts

Order line data

  • Products
  • Product Description
  • Quantity
  • Price (gross)
  • Discounts/Gift cards

Customer adresses (billing and shipping)

  • Name
  • Street
  • Street 2
  • ZIP
  • City
  • Country
  • Email used for matching client info

Customer adresses

  • Name
  • Street
  • Street 2
  • ZIP
  • City
  • Country
  • Email used for matching client info


Payment Terms

Payment method*

Shipping data

  • Shipping method
  • Shipping cost

Shipping

  • Shipping method
  • Shipping costs

ihub Custom Fields

Order metafields


*note that if you use Gift Cards as a payment method, it will appear as an extra order line in Odoo.

The total price of a Shopify order is tax included. To ensure a correct price and tax mapping when importing an order, please make sure that the Customer taxes of Shopify imported products are set to "Included in price". This can be configure the Accounting App > Configuration > Taxes. Select your Sales Tax, navigate to Advanced Configuration and check the Included in Price box


  • In Shopify admin, go to Orders and select the order you would like to import to Odoo.
  • In the order page, copy the order ID from the page URL.


  • In Odoo, navigate to Integration Hub > Shopify and click the Import button.
  • In the Resource field, select Orders
  • In the Specific ids, paste the order ID from the Shopify URL.


The Import feature, by default, will import based on a date interval : "From Date" "To Date". If you want to import orders that were created before the last 24h, make sure to remove the value in the From Date field.


  • Click Execute.
  • Click on the Logs or Orders smart button to access your newly imported order.


You successfully imported your first order!


Shopify - Odoo workflows

In this section, you will learn how to use the integration in your daily workflows. 


Automated product synchronisation


Automatically import products from Shopify

By default, the integration will automatically import new products from Shopify to Odoo, on a daily basis.

 To modify this scheduled action, you can go to Integration Hub > Shopify and click the Scheduled Actions smart button at the top of the page. 

To learn more about scheduled actions configuration, make sure to check out the complete Scheduled Actions documentation here

If you want the scheduled action to also automatically update existing products in Odoo when a modification is made in Shopify : 

  • Go to Integration Hub > Shopify > Integration Settings
  • In the Product Settings tab, check the Update Existing Products option.
  • Save your changes. 

Still in the Product Settings tab, you can configure the Pricelist that Shopify products should fall under : 


When importing a product, the connector default Pricelist will appear under the Extra Price smart button, in the product template form


Still from the Product settings, in the Product Import section, you can choose to : 

  • Exclude Sale Description on Import - will not include the shopify sales description during product import
  • Exclude Product Image on Import - will not include the Shopify product images during product import
  • Exclude Metafields on Import - will not include the Shopify product metafields during product import

Shopify Product Metafields

To ensure a seamless data synchronisation between Odoo and Shopify, the much. Shopify integration supports the import of Shopify metafields, as long as they are defined in the following types : 

Odoo type

Shopify type

Boolean

True or False

Char

Single line text

Float

Decimal

Integer

Integer

Datetime

Date and time

Text

Multi-line text

Once imported, metafields can be found on the product template form, under the IHub custom field tab : 


Automatically export products from Odoo

There is no scheduled action that automatically exports your products to Shopify.

If you manage your product information in Odoo, products must have been exported manually to Shopify at least once to enable automatic updates.

💡 TIP - You can export products to Shopify in bulk by going to Odoo Sales > Products and selecting the list view icon on the top right corner. Once in List view, select the products to be exported, click Actions > Export to Connectors > Shopify

To automatically reflect in Shopify updates that you might do on your products in Odoo : 

  • Go to Integration Hub > Shopify > Integration Settings
  • In the Product Settings tab, check the Export on save option.
  • Save your changes. 

The option enables real-time updates of your products (template or variants) in Shopify when you make changes and save them in Odoo. 

Still from the Product settings, in the Product Export section, you can choose to : 

  • Exclude Sale Description on Export - will not include the shopify sales description during product export.
  • Exclude Product Image on Export - will not include the Shopify product images during product export.
  • Exclude Metafields on Export - will not include the Shopify product images during product export.

Click Save.

Automated order import


By default, the integration will automatically import new orders from Shopify to Odoo, on a daily basis. 

To modify this scheduled action, you can go to Integration Hub > Shopify and click the Scheduled Actions smart button at the top of the page. 

To learn more about scheduled actions configuration, make sure to check out the complete Scheduled Actions documentation here

To ensure the automated order workflow happens seamlessly, you first need to configure the integration default sales settings and workflows. To do so, navigate to Integration Hub > Shopify > Integration Settings > Sales Settings.

Default order settings 

  • Warehouse : define the default warehouse where your products are located. This setting will be overwritten if the Products are configured to be in a different warehouse.
  • Shipping method : define a default shipping method for your incoming orders.
  • Duty product : if you are using the Shopify duties feature, you can specify a product within Odoo that represents the duties associated with shipping or importing goods. This product acts as the default value for duties and is added as an extra order line when a product is ordered with duties applied.


  • Shipping policy : choose whether you would like to ship an order as soon as possible, meaning that the order should have multiple shipment based on product availability, or if you prefer to ship an order in one shipment when all product are ready.
  • Salesperson: the selected salesperson will be automatically associated with the record of transaction.
  • Sales Team : the selected sales team will be automatically associated with the record of transaction. 
  • Set prefix before order : this allows you to differentiate orders coming from Shopify by adding a prefix before the order ID. You can for example use SHP as a prefix.
  • Shopify Locations : this section allows you to map a Shopify location to one or more Odoo locations. it will then be used as the default location for delivery.

Shopify PoS

If you are using the Shopify PoS feature, you should configure each Shopify PoS as a Shopify location and map only 1 Odoo location to it.


Default order workflows

  • Confirm order on import : by activating this option, all incoming orders will be confirmed. automatically, which will trigger the creation of a delivery order for your warehouse to ship the order.
  • Create invoice on order import : by activating this option, all incoming orders will trigger the creation of an invoice.

If your invoicing policy in Odoo is set to "Invoice on delivered quantities", this setting should not be activated as it will generate an empty invoice.


  • Exclude order metafields on import : will not include the Shopify order metafields during order import. 
  • Export returns : enable returned orders to be exported to Shopify (manually or scheduled).
  • Auto-export shipment : automatically export order shipment to Shopify (real-time).
  • Export shipment daily : automatically export order shipment to Shopify (scheduled)
  • Notify customer on fulfilment : sends an email to the customer when their order is ready to be shipped

After configuring all these settings, click Save


You are now ready to automatically receive orders!


Automated product stock export


After an order is imported and confirmed, the stock of the included products is updated in the Odoo Inventory App based on the quantities ordered. 

To keep your shop up-to-date on products stock, the integration will automatically export product available quantities on a daily basis. In Shopify, the available quantities will be updated, to always match what is tracked in Odoo.

To modify this scheduled action, you can go to Integration Hub > Shopify and click the Scheduled Actions smart button at the top of the page. 

To learn more about scheduled actions configuration, make sure to check out the complete Scheduled Actions documentation here


Automated shipment export


After an order is imported and confirmed, a delivery order is automatically created for your warehouse to dispatch the order. Once the order is dispatched, and the delivery status is set to Done, it needs to be reflected in Shopify. 

Exported data :

Odoo field

Shopify field

DO status = Done

Fullfilment status = fullfillled

SO status = Sales order

Order status = archived

Tracking reference 

Tracking number



To automatically export order shipment on a daily basis : 

  • Go to Integration Hub > Shopify > Integration Settings
  • In the Sales Settings tab, check the Export Shipment Daily option.
  • Save your changes. 

To modify this scheduled action, you can go to Integration Hub > Shopify and click the Scheduled Actions smart button at the top of the page. 

To learn more about scheduled actions configuration, make sure to check out the complete Scheduled Actions documentation here

Order shipment can also be exported in real-time. To activate this option : 

  • Go to Integration Hub > Shopify > Integration Settings
  • In the Sales Settings tab, check the Auto-export Shipment option.
  • Save your changes. 


Automated return synchronisation 


After receiving an order, a customer can decides to return one or more products, for many reasons. The customer can then make a return from your shop, where the return would need to be imported to Odoo. The return can also be created in Odoo, where it would need to be exported to Shopify. 


Import returns from Shopify





To create a return in Shopify, please check out the related Shopify documentation

Make sure to have the iHub queue feature activated (Integration Hub > Settings)

To enable and configure the return import feature, navigate to Integration Hub > Shopify > Integration Settings> Sales Settings :  

  • Select your Return Operation Type
  • Select the Import Return box to enable receiving returns in real-time from Shopify. 
  • Activate the Odoo developer mode (or ask your engineering team to complete this step) and navigate to the Webhook Settings tab of the Integration settings, to fill your Shopify Client Secret. 

You are now ready to receive returns from Shopify!

Returns will be received in a queue, waiting for you to process them : 

​Once processed, a reverse picking will be created. You can access the latest returns by going to the Returns smart button of the Shopify integration : 




To automatically process returns from the queue on a timely basis, go to Integration Hub > Shopify> Integration Settings > Sales settings and activate the Auto-create returns feature : 



Export returns from Odoo




To create a return in Odoo, please check out the related Odoo documentation

To enable the export return feature, navigate to Integration Hub > Shopify > Integration Settings> Sales Settings and check the Export return box. From there, the integration allows you to export returns in 3 different ways : Manually, in Real Time, or via Scheduled Action.

Manual Export : 

  • From the order you need returned, navigate to the Delivery order and create the return (or import the return from Shopify automatically - see Import Return section)
  • Once created, wait for your warehouse to confirm the reception of the returned items. 
  • Once confirmed, validate the return.
  • Click Return in Shop to flag in Shopify the related order as returned (or partially returned), and restock the returned products.

Real Time Export : 

  • To activate Real-time export, go to iHub > Shopify > Integration settings > Sales settings  and activate the Auto-export returns option.
  • Once the return picking is Confirmed, the order in Shopify will automatically be flagged as Returned for the related returned items.

Automated Daily Export:

  • To activate Daily export, go to iHub > Shopify > Integration settings > Sales settings  and activate the Export returns Daily option.
  • On a daily basis, the integration will automatically send confirmed returns to Shopify, where the related orders will be flagged as Returned for the related returned items.


Export refunds from Odoo





Manual Export : 

  • To enable the export refund feature, navigate to Integration Hub > Shopify > Integration Settings> Sales Settings and check the Export refund box.
  • From the order you want to refund, navigate to the Credit Note and validate it. 
  • Click Refund in Shop to flag in Shopify the related order as refunded (or partially refunded).




Real Time Export : 

  • To activate Real-time export, go to iHub > Shopify > Integration settings > Sales settings  and activate the Auto-export refunds option.
  • Once the credit note is Validated, the order in Shopify will automatically be flagged as Refunded for the related returned items.

Automated Daily Export:

  • To activate Daily export, go to iHub > Shopify > Integration settings > Sales settings  and activate the Export Refunds Daily option.
  • On a daily basis, the integration will automatically send validated credit notes as refunds to Shopify, where the related orders will be flagged as Refunded for the related returned items.


Multi-company support


If you are using Odoo with multiple companies, you can simply create a new integration for each of the companies you want to use the Shopify integration for. You can select the company in the New Integration form.


Multi-instance support


If you want to integrate Odoo with multiple Shopify instances, you can simply create a new integration for each instance. You can fill the connection settings of each instance after creating the integration.