Skip to main content

Handle returns

In this guide you'll learn:

  • The different ways you can handle returns using Shopify Collective
  • How to use Shopify's API and webhook capabilities to integrate your existing return workflows
  • How the refund processing is handled in each scenario

  1. The retailer chooses how to handle returns.
  2. Customers initiate a return on the retailer store (via the Returns app or other 3P apps).
  3. The return is routed to the supplier or the retailer depending on the retailer's choice.
  4. The supplier or the retailer processes the return.

Anchor to Return handling optionsReturn handling options

Retailers can choose how to handle returns for Collective items by selecting one of the following options: Retailer generates label, Supplier generates label, or No action. Retailers will receive notifications of new returns via the returns/approve or returns/request webhook, depending on how the return was created.


Anchor to Retailer generates labelRetailer generates label

When this option is selected:

  • Collective creates a return on the corresponding supplier order upon receiving the returns/approve webhook.

  • After the supplier receives the returned item and processes a refund, Collective will restock the item on the retailer return and close it. Retailers receive notifications of these events via the reverse_fulfillment_orders/dispose and returns/close webhook topics.

    Refund Preferences:

  • If retailers select Automatically refund the customer, Collective processes the refund for returned items. Retailers will be notified via the refunds/create webhook. This streamlines the refund process by minimizing merchant intervention, but limits the types of refund policies that can be offered.

  • If automatic refunds are not selected, retailers should handle customer refunds (using refundReturn) upon receiving the returns/close webhook. This will require more operational work and potentially longer processing times, but can allow merchants to apply specific refund policies not possible with automatic refunds.


Anchor to Supplier generates labelSupplier generates label

When this option is selected:

  • When a retailer order receives a return request or a new approved return opens, Collective requests a return from the supplier and marks the retailer return as approved if it was requested. Retailers are notified via the returns/approve webhook.

  • Once the supplier approves the return and uploads the label, it syncs to the retailer order. The customer receives the shipping label via email, and retailers are notified using the reverse_deliveries/attach_deliverable webhook.

  • After the supplier refunds the return, Collective will restock the item on the retailer return and close it, notifying retailers through the reverse_fulfillment_orders/dispose and returns/close webhook topics.

    Refund Preferences:

  • If retailers select Automatically refund the customer, Collective processes the refund for returned items. Retailers will be notified via the refunds/create webhook. This streamlines the refund process by minimizing merchant intervention, but limits the types of refund policies that can be offered.

  • If automatic refunds are not selected, retailers should handle customer refunds (using refundReturn) upon receiving the returns/close webhook. This will require more operational work and potentially longer processing times, but can allow merchants to apply specific refund policies not possible with automatic refunds.


When this option is selected:

  • Collective will not manage the return after it is created on the retailer's order. No return will be created on the supplier order, and any necessary refund requests must be handled manually.
  • Once the retailer processes the return, they should create a refund (using refundReturn), restock the item (using reverseFulfillmentOrderDispose), and close the return (using returnClose).

Anchor to Webhook notificationsWebhook notifications

  • Collective creates a return on the corresponding supplier order upon receiving the returns/approve webhook.

Was this page helpful?