Browse all articles

Connecting Shopify

Last updated

Before connecting Shopify to ChannelDock:

  • Make sure the barcode of each product / product variant is the same as the SKU / EAN of your other sales channels. This is how ChannelDock connects products from different sales channels.
  • Make sure the SKU value of each product / product variant is filled in with a value. This value may be different (or the same) as the barcode of the product / product variant.
  • Please note: the barcode/EAN must be unique for each product. Otherwise, the products will not be loaded correctly into ChannelDock, which means that orders will not be imported either, and your stock levels will be inaccurate.

To connect Shopify to ChannelDock:

  1. Navigate to the ‘Sales Channels’ page and click on ‘Add sales channel’ located in the top left corner.

  2. Click on the Shopify logo and then the green ‘Install the Shopify ChannelDock app’ button.

    Screenshot 2023-11-16 at 16.49.19.png

  3. You will now be redirected to the ChannelDock app page in the Shopify App Store. Here, click on ‘Add app’.

    Screenshot 2023-11-16 at 16.51.47.png

  4. Log in to Shopify and click ‘Install app’.

    Screenshot 2023-11-16 at 16.53.37.png

  5. You will now be redirected to ChannelDock. If the pairing process was successful, you will see the following message appear on the screen:

    Screenshot 2023-11-16 at 16.54.35.png

  6. Your products are now being loaded in the background. This may take a few minutes. Choose to link another sales channel or start stock synchronisation.

Orders not importing

Orders that have been processed or closed in your sales channels will not be imported into ChannelDock. Ensure that the orders you expect to see are still open and unprocessed in your sales channels.

Orders ship in ChannelDock but stay unfulfilled in Shopify

If orders are picked, packed, and shipped in ChannelDock but remain Unfulfilled in Shopify, and no tracking number is synced back, check how your fulfillment location is set up in Shopify.

ChannelDock pushes tracking to Shopify using the fulfillmentCreate API. Shopify only allows this on regular merchant locations. It does not work when the location is configured as a Fulfillment Service location.

How to recognize this issue

  • In Shopify Admin, the order shows Request fulfillment instead of a normal Mark as fulfilled action.
  • The fulfillment location name appears on the order (for example, your warehouse or FC name).
  • In ChannelDock order logs you may see: No supported actions found to fulfill the order... Check if the order is on hold in Shopify.

How to fix it

  1. Go to Shopify → Settings → Locations.
  2. Open the location used for fulfillment (the same location selected in ChannelDock under Shopify locations for order import).
  3. Check whether the location is linked to a Fulfillment service or third-party fulfillment app.
  4. If it is, do one of the following:
    • Recommended: Create a new regular location (for example, Global Fulfill Warehouse) and use that location for fulfillment going forward, or
    • Remove or deactivate the fulfillment service connection on the existing location so it becomes a standard merchant location.
  5. Make sure your products have inventory assigned to the regular location.
  6. In ChannelDock, open Sales Channels → Shopify → API settings and select the correct location under Shopify locations for order import.
  7. For orders already shipped in ChannelDock but still unfulfilled in Shopify, add the tracking number manually in Shopify Admin as a one-time fix.

Important: A fulfillment service location is meant for apps that receive fulfillment requests from Shopify. ChannelDock fulfills orders from its own warehouse workflow and then reports tracking back to Shopify. Those two setups require different location types.

Edit API Settings

Screenshot 2025-09-02 at 14.10.57.png

  • Name → The name of your Shopify connection (e.g., “Demo shop 3”).
  • Shopify locations for order import > Choose which Shopify locations to import orders from (default: all).
  • Shopify source for order import > Define a source tag for imported orders (optional).
  • Load unpaid orders > If enabled, also import orders that haven’t been paid yet.
  • Auto refund accepted returns > Automatically issue refunds when returns are approved.
  • Load payment ID > Import the payment transaction ID with the order.
  • Import orders > Main switch to enable/disable order import.
  • Print packing slip via PrintNode on A4 printer when printing shipping label > Automatically print a packing slip alongside the shipping label.

Why do I see two Shopify channels for one product?

If you see two Shopify channels linked to a single product in ChannelDock, while you only expect one, this means ChannelDock has found multiple Shopify products or variants with the same EAN.
ChannelDock uses the EAN to match products across channels. When the same EAN exists more than once in Shopify, ChannelDock will show multiple Shopify connections for that product.

Screenshot 2026-01-06 at 09.48.44.png

Common causes

  1. The EAN was previously used on another Shopify product

The EAN may have been assigned to a different product in the past and later changed.
If the original Shopify product was not deleted, ChannelDock can still fetch it, resulting in two Shopify entries.

  1. A draft product exists with the same EAN

Draft products in Shopify are also synced.
If a draft product has the same EAN as an active product, ChannelDock will link both to the same product.

  1. Duplicate products in Shopify

Products may have been duplicated manually or via an app, copying the EAN unintentionally.
This leads to multiple Shopify products sharing the same identifier.

How to fix this

  1. Go to Shopify → Products

  2. Search for the EAN shown in ChannelDock

  3. Check for:

    • Duplicate products
    • Draft products
    • Old or unused products
  4. Remove the product that should no longer exist, or update the EAN

  5. Re-sync the product in ChannelDock

Once only one Shopify product uses the EAN, ChannelDock will automatically show a single Shopify channel.


Was this helpful?

Related articles