1. Help Center Home
  2. Platform Overview
  3. Customer Site Settings
  4. Features
  5. Shopify Integration – Orders, Inventory Levels, and Shipments

Shopify Integration – Orders, Inventory Levels, and Shipments

Overview

In version 4.4.1, CIMcloud released a standardized method to sync data between Shopify and CIMcloud.  We currently support the following data syncing between these two systems in our core product:

  • Orders from Shopify to CIMcloud to your ERP system
  • Shipments from your ERP system to CIMcloud to Shopify
  • Inventory Levels from your ERP system to CIMcloud to Shopify

In this article, we’ll cover the following:

  • Shopify integration steps
    • Prerequisites to sync data
    • Creating an app in Shopify
  • How the service works
    • Monitoring
    • Scheduling
    • Customizations
    • Data Mapping
  • Future updates

Shopify Integration Steps

Data Sync Prerequisites

  • For Orders:
    • If syncing orders from Shopify to CIMcloud, please send the default values:
      • Payment Terms
      • Salesperson Number
      • Customer Division
      • Customer Number
      • Order Status / Hold Code (if applicable)
      • Order Type
      • Print Pick Sheet / Print Sales Order values
      • Tax Schedule
      • Ship Via Code
        • Or, you can follow the “Setting Up Shopify Shipping Methods in the Worker Portal” section to match Shopify Shipping Methods to Ship Vias in Sage
    • Orders will fail to import if:
      • The Shopify SKU is not populated
      • The Shopify SKU does not exist in Item Maintenance within your ERP
      • The Shopify Shipping Method is not setup in your Worker Portal, or the default Ship Via does not exist in Sage
        • See the “Setting Up Shopify Shipping Methods in the Worker Portal” section below to setup
  • For Inventory and Shipments syncing from your ERP (and CIMcloud) to Shopify:
    • SKUs in Shopify must match the ItemCode/SKU in your ERP/CIMcloud.  Otherwise, we will be unable to match the item between these systems
    • Warehouse locations in Shopify must be setup before syncing either Inventory or Shipments
      • The location name in Shopify must match the Warehouse name in your ERP/CIMcloud.  Otherwise, we will be unable to update inventory levels
  • Partial Shipments in your ERP are not supported in the sync to Shopify

Creating your app in Shopify

To sync data between Shopify and CIMcloud, you’ll need to create an App within your Shopify store.  Below are the steps to create an App and send us the credentials needed to sync data:

    1. Login to your Shopify Store
    2. Click “Apps” on the left sideFeatures Shopify Integration - Orders, Inventory Levels, and Shipments Apps
    3. Click “App and sales channel settings”Features Shopify Integration - Orders, Inventory Levels, and Shipments Appssaleschannel
    4. Click “Develop apps” in the top right of the modalFeatures Shopify Integration - Orders, Inventory Levels, and Shipments Developapps
    5. Click “Create an app”Features Shopify Integration - Orders, Inventory Levels, and Shipments Createapp
    6. In the App Name field enter “CIMCloud Integration App” and click “Create App”Features Shopify Integration - Orders, Inventory Levels, and Shipments Createapp
    7. Click “Configuration” and select Configure next to “Admin API integration”.Features Shopify Integration - Orders, Inventory Levels, and Shipments ConfigurationFeatures Shopify Integration - Orders, Inventory Levels, and Shipments Configure
    8. Grant the appropriate scopes by clicking the following. Clicking on these will also enable the read scope, we need access to both:
      1. write_customers
      2. write_fulfillments
      3. write_assigned_fulfillment_orders
      4. write_inventory
      5. write_locations
      6. write_orders
      7. write_productsFeatures Shopify Integration - Orders, Inventory Levels, and Shipments Addscopes
    9. Once this is done, press “Save” and then hit “Install app”.
    10. Once it is installed, navigate to “API Credentials” and hit “Reveal Token Once”Features Shopify Integration - Orders, Inventory Levels, and Shipments ApicredentialsFeatures Shopify Integration - Orders, Inventory Levels, and Shipments Revealtoken
    11. Copy this revealed token and send to CIMcloud
      1. Note: This token cannot be recovered once you reveal it, but a token can be generated again.  If a new one is generated, we will need to update it on our end.

How It Works

Monitoring Orders

  • You can view the orders synced via the worker portal.
    1. Navigate to the tab “Pass Through Orders” in the worker portal
    2. From here, you can review orders synced from Shopify and their import status to Sage
    3. Clicking on an Order ID displays any errors when attempting to import into Sage

Scheduling

  • Scheduled tasks, via Data Mover, send requests to Shopify’s API layer for the following:
    • Every 5 minutes for Orders
    • Every 5 minutes for Inventory
    • Every 5 minutes for Shipments

Customizations

  • Customizations on fields are allowed (to an extent).  For example, meta data on orders can be added and pushed through to CIMcloud, and by extension, your ERP system.
    • Note: This is a pro services engagement to modify mappings of fields between the data sync

Data Mapping

  • Tables with columns between Shopify and CimCloud

    • Orders (s_orders, s_order_details)

    • Shipments (external_order_shipments)

    • Inventory Levels (product_qty_in_stock)

Setting Up Shopify Shipping Methods in the Worker Portal

Sage requires a ship via code on orders, there are two options:

  • Use a default ship via code for all orders importing to Sage from Shopify, or
  • Manually set up Shopify Shipping Methods in the Worker Portal

To setup these shipping methods in the Worker Portal, follow the “Setting Up Shipping Method” section in this article, setting the following fields for each Shopify Shipping Method:

  • Status -> Disabled
    • This will disable the shipping method from use on the sitefront, or anywhere else
  • Reference Id -> Prefix with “Shopify – “ + the Shopify Shipping Method Name
    • This isn’t used in any logic, and is for internal purposes only
  • Shipping Method name -> Shopify’s shipping method name
  • Sales Order Code -> Sage’s Ship Via Code to use
  • Pricing Calculation -> No
    • This logic isn’t used, but helps distinguish what the shipping method is used for
  • Rate and Filters -> Set all to No
    • This logic isn’t used either

Future Updates

  • Better Logging

  • Self-service Shopify data sync interface

  • Self-service data mappings

 

Was this article helpful

Related Articles

Subscribe to receive email updates of what's new in the CIMcloud Help Center.