> ## Documentation Index
> Fetch the complete documentation index at: https://docs.supercycle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fulfilling cycles

> Find, ship, and return cycle orders using Supercycle.

All rentals are connected to a Shopify order, and a Shopify order can include multiple rentals.

Fulfilling a rental, requires fulfilling the associated Shopify order.

When you fulfil a rental order, Supercycle automatically updates the rental status.

To fulfil a rental order, you need to know which orders to fulfil, creating shipments and prepare for receiving the items back.

***

### Filtering which orders to fulfil

You can find rental orders in both Shopify and Supercycle.

<AccordionGroup>
  <Accordion title="From Shopify Orders">
    <Steps>
      <Step title="Go to Orders in your Shopify admin.">
        From Shopify.
      </Step>

      <Step title="Filter by:">
        * **Unfulfilled** status
        * Tagged with **Has rental items**

        <Frame type="glass">
          <img src="https://mintcdn.com/supercycle/Omgmq0rsgqX1BZKa/images/screenshots/supercycle-admin/find-orders-to-fulfill-in-shopify.png?fit=max&auto=format&n=Omgmq0rsgqX1BZKa&q=85&s=29cc834292821fee0fa96837ea7ddc7c" alt="Filtering unfulfilled rental orders in Shopify orders view" width="2748" height="1010" data-path="images/screenshots/supercycle-admin/find-orders-to-fulfill-in-shopify.png" />
        </Frame>
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="From Supercycle Cycles">
    <Steps>
      <Step title="Go to Cycles in your Supercycle admin.">
        From Supercycle.
      </Step>

      <Step title="Use the Unfulfilled filter to see upcoming or unsent rentals.">
        <Frame type="glass">
          <img src="https://mintcdn.com/supercycle/Omgmq0rsgqX1BZKa/images/screenshots/supercycle-admin/find-orders-to-fulfill-in-shopify.png?fit=max&auto=format&n=Omgmq0rsgqX1BZKa&q=85&s=29cc834292821fee0fa96837ea7ddc7c" alt="Filtering unfulfilled rental orders in Shopify orders view" width="2748" height="1010" data-path="images/screenshots/supercycle-admin/find-orders-to-fulfill-in-shopify.png" />
        </Frame>
      </Step>

      <Step title="Filter orders to fulfil today">
        Use the **Expected fulfilment date** filter and set it to **Today**.

        <Frame type="glass">
          <img src="https://mintcdn.com/supercycle/Omgmq0rsgqX1BZKa/images/screenshots/supercycle-admin/find-orders-to-fulfill-today-in-supercycle.png?fit=max&auto=format&n=Omgmq0rsgqX1BZKa&q=85&s=6dab5aaf371576d4ebba7021e85a9105" alt="Filtering cycles by expected fulfilment date in Supercycle" width="3661" height="755" data-path="images/screenshots/supercycle-admin/find-orders-to-fulfill-today-in-supercycle.png" />
        </Frame>
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Via the MCP">
    Use the [`list_cycles`](/ai/operators-mcp/tools#cycles) tool with:

    * `status` - `to_fulfill`
    * `packing_status` - `pending`, `printed`, or `packed`
  </Accordion>

  <Accordion title="Via the API">
    Use the [List all cycles](/api-reference/admin/rentals/list-all-rentals) endpoint with status and packing filters.
  </Accordion>
</AccordionGroup>

### Print a shipping label

You can create a shipping label in Shopify:

<AccordionGroup>
  <Accordion title="Using Shopify Shipping">
    <Steps>
      <Step title="Open the order from Supercycle or Shopify">
        In Supercycle, click the **Shopify order link** in the cycle to open the order in Shopify.

        <Frame type="glass">
          <img src="https://mintcdn.com/supercycle/FB21qCJ7pWgA4GNp/images/screenshots/supercycle-admin/view-order-in-shopify.png?fit=max&auto=format&n=FB21qCJ7pWgA4GNp&q=85&s=28bd7c2074048754fa2b50ee9cd47561" alt="Shopify order link in Supercycle cycle view" width="2389" height="901" data-path="images/screenshots/supercycle-admin/view-order-in-shopify.png" />
        </Frame>
      </Step>

      <Step title="Create a shipping label">
        In Shopify, click **Create shipping label**.

        <Frame type="glass">
          <img src="https://mintcdn.com/supercycle/Omgmq0rsgqX1BZKa/images/screenshots/supercycle-admin/create-shipping-label.png?fit=max&auto=format&n=Omgmq0rsgqX1BZKa&q=85&s=83d04d82359a4e695cffc508957db8c9" alt="Create shipping label button in Shopify order view" width="1755" height="935" data-path="images/screenshots/supercycle-admin/create-shipping-label.png" />
        </Frame>
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Using a third-party shipping tool">
    If you use a third-party shipping tool like **ShipStation**, you can print the label there and add the tracking number in Shopify.
  </Accordion>
</AccordionGroup>

### Fulfil the order

You can fulfil the order from Shopify, from Supercycle, or through the API.

<AccordionGroup>
  <Accordion title="From the Shopify order">
    When you fulfil the order in Shopify, Supercycle automatically updates the rental status to **Fulfilled**.

    <Steps>
      <Step title="Go to Orders in Shopify">
        In your Shopify admin, go to **Orders**, then select the order you want to fulfil.
      </Step>

      <Step title="Select Fulfil item(s)">
        In the **Unfulfilled** section, click **Fulfil item(s)**.\
        Add a tracking number and select a carrier if needed.
      </Step>

      <Step title="Send confirmation (optional)">
        Select **Send shipment details to your customer now** to email tracking info.
      </Step>

      <Step title="Click Fulfil item(s)">
        Shopify updates the status to **Fulfilled**, and Supercycle marks rentals as fulfilled.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="From Cycles">
    You can also fulfil directly in the **Cycles** view in Supercycle.

    <Warning>
      We don't recomened this at the moment. As you will still need  fulfil orders directly in Shopify. We're working on fixing this, and it will be available in an upcoming update.
    </Warning>

    <Frame>
      <img src="https://mintcdn.com/supercycle/Omgmq0rsgqX1BZKa/images/screenshots/supercycle-admin/mark-as-fulfilled-in-supercycle.png?fit=max&auto=format&n=Omgmq0rsgqX1BZKa&q=85&s=ac185b8a2a1046d686245f3760be13b9" alt="Mark as fulfilled button in Supercycle cycles view" width="2403" height="1224" data-path="images/screenshots/supercycle-admin/mark-as-fulfilled-in-supercycle.png" />
    </Frame>
  </Accordion>

  <Accordion title="Via the MCP">
    Use the [`update_cycle`](/ai/operators-mcp/tools#cycles) tool with:

    * `id` - Cycle ID (e.g. `SC-1234`)
    * `fulfilled_at` - Fulfilment date in `YYYY-MM-DD` format
  </Accordion>

  <Accordion title="Via the API">
    Use the [Update a cycle](/api-reference/admin/rentals/update-a-rental) endpoint with the `fulfilledAt` parameter.
  </Accordion>
</AccordionGroup>
