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.
Anchor to How it worksHow it works
- Suppliers and retailers connect with each other.
- Suppliers create a price list and share it with retailers.
- Retailers import the products into their store.
- 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.

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.

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 themThese 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

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.
Anchor to Next stepsNext steps
- Learn how to define shipping rates.