Skip to main content

Shopify - Data Mapping & Synchronization

This article describes in detail what and how data is used for the connection with Shopify.

Marc de Graaf avatar
Written by Marc de Graaf
Updated over 3 weeks ago

Overview

Welcome to our guide for a seamless connection between Shopify and Optiply. This article is designed to provide you with a clear understanding of how data flows, ensuring your operations run smoothly and efficiently. It's important to note that this integration utilizes a standard data mapping structure, and custom mapping options are not available for this connection.

Entity

Sync FROM -> TO

Frequency

Products

Shopify > OP

updated hourly(*)

Product Deletions

Shopify > OP

updated daily (*1)

Suppliers (Shopify Vendor)

Shopify > OP

updated hourly (*2)

Supplier Products

Shopify > OP

updated hourly (*2)

Sell Orders

Shopify > OP

updated hourly (*3)

Receipt Lines (Item Deliveries)

OP > Shopify

every 15 minutes

(*) We sync Products and Variants Deletions

(*1) Deleted products/variants are not retrieved from Shopify. We will run a Products Full Sync to check which products are enabled in Optiply and don’t exist in Shopify anymore.

(*2) Customer can chose if we should sync Suppliers and SupplierProducts from Shopify or not.

Shopify only allows 1 Supplier per product.

(*3) By default we sync Sell Orders Closed, and Deletions.

If the customer wants to get All Status, we will get Created as well.

We don’t sync Order Updates, nor line deletions or line changes to synced Orders.


Mapping Information

Now we show the specifics of how we map data for each entity.

Products

The product information that is sent to Optiply from Shopify is shown below in an overview. This information is only mapped for "active" products (the information for products with the status "inactive" are not imported).

Optiply

Shopify

name

Title + variant Title

skuCode

Variant sku

articleCode

Variant product_id

price

Variant price

UnlimitedStock

IF inventory_management == null then true, else false

stockLevel

Variant.inventory_quantity

status

Enabled if Active, Disabled if archived or draft

remoteID

variant ID

eanCode

variant / barcode

createdAtRemote

created_at

Composed products

Shopify has no composed products. If you want to create composed products, it is possible to pass on the composition of combinations to us via a CSV file. We will then ensure that the sales history of the composed product within Optiply is transferred to the underlying products


Delete products

We check for deleted products daily. Deleted products will be removed from Optiply. To delete a product, give the product an "inactive" status in Shopify.


Sell Orders

Optiply

Shopify

totalValue

total_price

placed

processed_at

completed

closed_at

RemoteId

id

The customer can decide if he wants us to sync All Order Status or just the Completed (Status=Closed).

By default, we only pull Completed (Status=Closed) Sell Orders.

We do not sync Order changes in any way, order line changes, line deletions or new lines added to existing Orders will not be updated in Optiply.

Sell Order Lines

Optiply

Shopify

product_id

optiplyWebshopProductId

quantity

quantity

subtotalValue

price

We don’t sync Order Updates, line deletions, or line changes to synced Orders.


Suppliers

Optiply

Shopify

name

vendor

We only match Vendor by Name, because Shopify does not have Suppliers, and each Product only has one Vendor.

Supplier Products

Optiply

Shopify

product_id

optiplyWebshopProductId

supplierId

optiplySupplierId

skuCode

sku

eanCode

barcode

price

cost (*)

status

default: “enabled”

(*) Cost - This value is set manually by the customer on the Product attributes. If the Product does not have a value in this field, is “null“ in the API and we map it as 0.

When a Product has Variants (Sizes, Colors, etc), we only update Variants Product Information, and the same happens for Supplier Products. The main product is not updated in this cases, only the Variants, which are the ones holding the stock and other relevant data.



Lot size and MOQ

Lot size and MOQ are not available in Shopify. You can enter them manually in Optiply, or send us a list and we will upload them for you.

Shopify only handles one supplier per product. If you would like to work with multiple suppliers per product, contact our support team. We will turn supplier product synching off so you can manage your supplier products in Optiply.


Item Deliveries

Optiply

Shopify

inventory_item_id (*)

inventory_item_id

receiptLines.quantity

available_adjustment

We will get any new delivery the customer created in Optiply and add that quantity to the product/variant in Shopify.

(*) Request is send with the inventory_item_id of the item, we don’t have that field in Optiply, but we have it in our integration process cache so we can use for this specific purpose.

Did this answer your question?