Home Integrations Shopify Integration

Shopify Integration

Last updated on Aug 27, 2025

The Shopify integration allows you to seamlessly connect your Shopify store with your manufacturing operations. This two-way integration automatically syncs orders from Shopify to Controlata and updates inventory levels from Controlata back to Shopify.

What the Integration Does

Shopify → Controlata

  • Order Import: All new orders from Shopify are automatically imported to Controlata

  • Order Updates: Changes made to orders in Shopify are reflected in Controlata

  • Order Deletion: If an order is deleted in Shopify, it's also removed from Controlata

Controlata → Shopify

  • Inventory Sync: Stock levels are updated from Controlata to Shopify

Customer Data Limitation

According to Shopify policies, to access Customer data with custom apps, your store must be on the Grow plan or higher. So if your store is on a lower plan, all orders received from Shopify will use a generic "Shopify Customer" as the customer.

Setting Up the Integration

Step 1: Create a custom app in Shopify

  1. From your Shopify admin, go to Settings > Apps and sales channels.

  2. Click Develop apps.

  3. Click Create a custom app.

  4. In the modal window, enter the App name and select an App developer. The app developer can be the store owner, or any staff or collaborator account with the Develop apps permission.

  5. Click Create app.

  6. After the app is created, click Configure Admin API scopes.

  7. Select and save the following API access scopes:

    1. write_inventory

    2. read_inventory

    3. read_locations

    4. read_orders

    5. read_assigned_fulfillment_orders

    6. read_products

    7. read_fulfillments

  8. In Webhook subscriptions select Event version: 2025-07

  9. In Overview, click Install App

  10. Navigate to API credentials, and save:

    1. Admin API access token (it can only be revealed once, so be sure to save it once revealed)

    2. API key

    3. API secret key

Here is a Shopify guide on custom apps: https://help.shopify.com/en/manual/apps/app-types/custom-apps

Step 2: Configure Integration in Controlata

  1. In your Controlata account, go to Settings

  2. Scroll down to Integrations

  3. Find Shopify and click Connect

  4. Input all fields:

    1. Your Store domain at myshopify.com

    2. API credentials you saved at the previous step:

      1. Admin API access token

      2. API key

      3. API secret key

  5. Optionally, customize the Sale number prefix (default is "S-")

  6. Choose the default Fulfillment method for new orders: From Inventory or Made to order

  7. If you chose "From Inventory" at the previous step, then you can select the Default storage location for new sales orders.

  8. Click Save

  9. If all information is correct, you will see Connection created successfully

  10. Finally, map your Shopify locations to Controlata locations by clicking Locations Mapping

  11. Map locations and click Save

Product Matching

Products between Shopify and Controlata are matched using SKU codes.

  • Ensure your products have consistent SKUs in both systems

  • You can set Alternative SKUs in Controlata for additional matching flexibility

  • If a product from a Shopify order isn't found in Controlata, the product information will be added to the order notes, but no new product will be created automatically

  • If no products are matched, the order will not be created in Controlata

Location Mapping

  • Location mapping is required to sync inventory levels between your locations in Controlata and in Shopify.

  • You can select Not mapped for any Shopify location if you wish not to sync inventory levels for this location with Controlata.

  • When orders are created in Shopify, no inventory location is assigned to them, so Controlata will use your Default storage location from connection settings, if your chosen fulfillment method for new sales orders is set to From Inventory in connection settings.

  • When you fulfill the order in Shopify, the location will be assigned to the order and it will be updated in Controlata.

Real-time updates

  • Order data syncs happen in real-time, but sometimes updates may take up to a few minutes

  • Inventory level updates happen once every minute