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 |
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.