π Shopify: Data Mapping & Synchronisation
This guide details exactly how data flows between your Shopify store and Optiply. It outlines synchronisation schedules, custom configuration options, and the specific logic used to handle product variants and supplier (vendor) data.
βοΈ 1. Integration Options & Features
Optiply offers a few key features to customise your Shopify integration:
Get Sell Orders from Multiple Shopify Accounts
If you have multiple Shopify shops or domains where you sell the exact same products, Optiply can pull sales orders from all of those accounts into a single Optiply environment! The only requirement is that the
skuCodesof your products are completely identical and coherent across all your Shopify domains.Update Product Stock
When enabled (this is the default setting), Optiply pushes inventory stock levels back to Shopify for each product variant. You can ask us to disable this option (
updateProductStock: false) if you prefer to manage your stock strictly within Shopify or if you want to prevent inventory overwrites from other external warehouse systems.
π¦ 2. Shopify Limitations & Workarounds (Compositions, MOQs, Suppliers)
Because Shopify is designed primarily as a storefront rather than a full ERP, it lacks a few native inventory features. Optiply provides workarounds for all of them:
Composed Products / Bundles
Shopify does not natively support composed products or bundles. If you sell product combinations, you can pass the composition data to us via a CSV file. Once imported, Optiply will automatically transfer the sales history of the composed (parent) product down to the underlying component products to generate accurate purchasing advice.
Lot Size and MOQ
Lot sizes ("Order in multiples of") and Minimum Order Quantities (MOQ) are not available in Shopify. You can enter these manually per product directly within Optiply, or you can send our Customer Support team a list and we will bulk-upload them for you.
Multiple Suppliers per Product
Shopify only handles one supplier (Vendor) per product. If you would like to work with multiple suppliers for a single product, please contact our support team. We will turn off the supplier product syncing from Shopify entirely, allowing you to safely manage your multiple suppliers directly in Optiply without Shopify overwriting your data.
β±οΈ 3. Synchronisation Overview
The table below outlines how often Optiply pulls data from (or pushes data to) Shopify.
Entity | Sync Direction | Frequency |
Products & Variants | Shopify β Optiply | Hourly |
Product Deletions | Shopify β Optiply | Daily |
Suppliers (Vendors) | Shopify β Optiply | Hourly |
Supplier Products | Shopify β Optiply | Hourly |
Sell Orders | Shopify β Optiply | Hourly |
Item Deliveries (Receipts) | Optiply β Shopify | Every 15 minutes |
Important Sync Rules:
Product Deletions: Because deleted products/variants are not actively flagged by Shopify's API, Optiply runs a daily "Full Sync" to compare your data. It checks which products are enabled in Optiply but no longer exist in Shopify, and marks them accordingly.
Sell Order Logic: By default, we only sync Closed Sell Orders. We do not sync Order Updates. Once a Sell Order is in Optiply, any subsequent changes in Shopify (line deletions, quantity changes, or new lines) will not update in Optiply.
β οΈ Note on Product Variants:
When a Product in Shopify has variants (like Sizes, Colors, etc.), Optiply only updates the variant product information. The "main" parent product is ignored because the variants are the entities that actually hold the stock and relevant data. This logic applies to Supplier Products as well.
πΊοΈ 4. Data Mapping Details
Products
Optiply Field | Shopify Field | Logic / Notes |
Name |
|
|
SKU Code |
|
|
Article Code |
|
|
Price |
|
|
Unlimited Stock | Evaluated | IF |
Stock Level |
|
|
Status | Evaluated |
|
Remote ID |
|
|
EAN Code |
|
|
Created Date |
|
|
Sell Orders
(By default, Optiply only pulls Completed/Closed orders. You can request to sync "Created" status orders as well).
Optiply Field | Shopify Field | Notes |
Total Value |
|
|
Placed Date |
|
|
Completed Date |
|
|
Remote ID |
|
|
Sell Order Lines
Optiply | Shopify |
product_id | optiplyWebshopProductId |
quantity | quantity |
subtotalValue | price |
Suppliers (Source Path: /admin/products.json)
Because Shopify does not have dedicated Supplier profiles, Optiply extracts this data directly from the Product entity.
Optiply Field | Shopify Field | Notes |
Name |
| Mapped strictly by name, as each product only has one Vendor. |
Supplier Products (Source Path: Vendor from /admin/products.json & Cost from /admin/api/2022-01/inventory_items/{inventory_item_id}.json)
Optiply Field | Shopify Field | Logic / Notes |
Product ID |
|
|
Supplier ID |
|
|
SKU Code |
|
|
EAN Code |
|
|
Price (Cost) |
| This value is set manually by you on the Product attributes in Shopify. If left blank, the API returns |
Status | Hardcoded | Default: |
Item Deliveries (Optiply β Shopify) (Source Path: /inventory_levels/adjust.json)
When you mark an item as delivered/received in Optiply, we push that delivery directly back to Shopify to update your stock.
Optiply Field | Shopify Field | Notes |
Item ID |
| Optiply stores this internal Shopify ID in its cache specifically for this purpose. |
Quantity |
| Adds the newly received quantity to the variant in Shopify. |
β 5. Frequently Asked Questions (FAQs)
Why aren't my supplier product prices updating in Optiply?
Supplier prices map from the "Cost" field within your product attributes in Shopify. If this field is left empty, Optiply maps the cost as zero. Ensure the Cost field is populated for all your active variants!
I changed an order in Shopify after a customer called, but Optiply still shows the old quantity. Why?
Optiply does not sync subsequent changes to Sell Orders. Once an order is pulled into Optiply, any additions, deletions, or quantity changes made to that order in Shopify will not be reflected.
How do I get my bundled products to show up correctly?
Since Shopify doesn't support native product compositions, you just need to send our Customer Support team a CSV file containing your bundle components. We will manually configure them in Optiply so the sales history is properly transferred to the underlying items!
