Skip to main content

Share and import products

Suppliers can share products through Shopify Collective price lists and retailers can import and manage those products. This guide describes how to create shareable price lists and import products from other merchants.

In this guide you'll learn how to do the following tasks:

  • Sync products from an external system into Shopify so that suppliers can create price lists to be shared with retailers.
  • Import selected products so retailers can use the data stored in an external system.
  • Get familiar with how inventory and price synchronization works, and the protections Shopify checkout offers to prevent overselling.

  1. Suppliers and retailers connect with each other.
  2. Suppliers create a price list and share it with retailers.
  3. Retailers import the products into their store.
  4. Suppliers can update the products and updates are reflected in the retailers store.

Anchor to Connect with other merchantsConnect with other merchants

Currently, there are no APIs that can be used to send and accept Shopify Collective invitations. To connect with other merchants so you can share your products, or start selling their products in your store, you must use the Collective (Retailer) app and Collective (Supplier) app.

Learn how to send invitations to connect with retailers or connect with suppliers.


Anchor to Create price lists as a supplierCreate price lists as a supplier

Shopify Collective suppliers that want to share products with retailers must create a Collective price list.

If suppliers use an external system to store their product information, then they can use a combination of productCreate, productOptionsCreate, and productCreateMedia mutation to add their products. The product status that's passed to the productCreate mutation should be ACTIVE.

Make sure products are published to the Collective (Supplier) sales channel using publishablePublish mutation. You can retrieve the ID of the Collective (Supplier) publication programmatically by listing all your store publications and finding the one with publication.catalog.title = "Collective (Supplier)".

Once all your products are created in the admin, are in the ACTIVE state and are published to Collective, you can add them to one or more Collective pricelists. This must be done via the UI, and you can use Bulk Actions to make this process faster.

Once Collective pricelists are created, they can be shared with one or more retailers. As a Collective supplier, you can also attach one or more pricelists when you invite another retailer to Collective.

Collective pricelist

Anchor to Import products into a retailer storeImport products into a retailer store

As a Shopify Collective retailer, after a supplier shares a price list with you, you can select which products to import using the Collective (Retailer) app. You can also set up policies to import products without manual intervention and keep them in sync with the supplier.

Collective policies

If you want to send products created by Collective to to an external system, you can listen to the following webhooks:

  • products/create, to track products newly imported by Collective

  • products/update, to track inventory updates, and content updated by suppliers

  • products/delete, to track unsellable products, if you setup an Product Policy that deletes them

    These webhooks will return a full variant payload for the first 100 records. For records 101 and higher, the payload won't include the full variant details. You will need to use the productVariants query.

    Products that are managed by Collective have the Shopify Collective and {$supplier_name} tags.


Anchor to Sync content from the supplierSync content from the supplier

These fields are copied over from the supplier and can be optionally kept in sync whenever the supplier makes changes:

  • Title
  • Description
  • Media
  • Category
  • Compare-at price
  • Product type
  • SKU
  • Barcode
  • Weight
  • Country/Region of origin
  • Harmonized System (HS) code
Collective content sync

After products are imported into your external system, you can perform additional steps to enrich the products and reflect these edits back into Shopify. You can use APIs such as productUpdate, productUpdateMedia for product updates, or metafieldDefinitionCreate, metafieldsSet, for metafields updates. To delete a Collective product, use productDelete.


Anchor to Restrictions on price and inventoryRestrictions on price and inventory

When suppliers share a product using a Shopify Collective price list, the inventory from the sellableOnlineQuantity is used to populate the available inventory on the retailer store. Whenever a buyer purchases that product on the supplier store or on any of the connected retailer stores, the quantity is decreased and the change is propagated to all the stores that use that product.

Even during flash sales, when inventory changes can't be propagated fast enough to all connected stores, Shopify Collective protects suppliers against overselling by checking supplier inventory levels during checkout. This only works if the sale is made using Shopify's checkout. It won't work with a manual order insertion.

Price is set by suppliers at the time of pricelist creation and is synced over to the retailer store. Changes are reverted back to the original supplier price.



Was this page helpful?