> ## 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.

# Custom fields

> Add custom field definitions to your items, cycles, and consignors

Custom fields let you add custom field definitions to your items, cycles, and consignors, so you can capture additional information specific to your business needs. This is useful for tracking specialized attributes, internal notes, or business-specific data that isn't covered by Supercycle's standard fields.

Supercycle custom fields are available on:

* **Items**
* **Cycles**
* **Consignors**

For other Shopify resources such as products, variants, orders, and customers, use [Shopify metafields](https://help.shopify.com/en/manual/custom-data/metafields) to capture the same kind of structured custom data. Shopify metafields and Supercycle custom fields can coexist on the same resource.

For read-only fields whose values are computed from a formula, see [Calculated fields](/documentation/configuration/custom-data/calculated-fields).

## Setting up custom fields

### Access custom data settings

<Steps>
  <Step title="Navigate to custom data">
    In Shopify Admin, head to **Supercycle** > **Settings** > **Custom data**.
  </Step>
</Steps>

### Create custom field definitions

<Steps>
  <Step title="Choose data type">
    Select whether you want to add custom fields to **Items**, **Cycles**, or **Consignors**.
  </Step>

  <Step title="Add new definition">
    Click **Add definition** to create a new custom field.
  </Step>

  <Step title="Configure field details">
    Set up your custom field:

    * **Name**: Display name for the field (e.g., "Serial Number", "Condition Notes")
    * **Key**: Auto-generated identifier based on the name (can be manually edited)
    * **Type**: Select from the available field types (see below)
  </Step>

  <Step title="Save definition">
    Click **Save** to create the custom field definition.
  </Step>
</Steps>

## Field types

Custom fields support the following types:

| Type                       | Description                                                            |
| -------------------------- | ---------------------------------------------------------------------- |
| **Single line text field** | Short text input for simple values like serial numbers or codes        |
| **Multi line text field**  | Longer text input for notes or descriptions                            |
| **Boolean**                | True/false checkbox for yes/no values                                  |
| **Date**                   | Date picker for dates without time                                     |
| **Date and time**          | Date and time picker for timestamps                                    |
| **Money**                  | Currency value input                                                   |
| **Integer**                | Whole number input (positive or negative)                              |
| **Color**                  | Hex color value (e.g. `#1a2b3c`)                                       |
| **URL**                    | Link to an external resource (must start with `http://` or `https://`) |
| **JSON**                   | Arbitrary JSON-formatted value for structured data                     |
| **Customer reference**     | Link to a customer record                                              |
| **Cycle reference**        | Link to a cycle record                                                 |
| **Item reference**         | Link to an item record                                                 |
| **Return reference**       | Link to a return order record                                          |

<Note>
  The field type cannot be changed after creation. Choose the appropriate type when creating your custom field definition.
</Note>

## Managing custom field definitions

<AccordionGroup>
  <Accordion title="Edit existing definitions">
    Click on any custom field definition name to edit its settings. You can update the name and key, but the type cannot be changed after creation.
  </Accordion>

  <Accordion title="View usage statistics">
    The custom data table shows how many items or cycles are using each field definition, helping you track adoption and identify unused fields.
  </Accordion>

  <Accordion title="Delete definitions">
    Use the **Delete** button on individual field definition pages to remove unused custom fields. Be careful as this action cannot be undone.
  </Accordion>
</AccordionGroup>

## Best practices

<AccordionGroup>
  <Accordion title="Field naming">
    Use clear, descriptive names for your custom fields that will be easily understood by your team (e.g., "Warranty Expiration", "Purchase Order Number").
  </Accordion>

  <Accordion title="Key consistency">
    While keys are auto-generated, you can customize them for API consistency. Use lowercase letters, numbers, and underscores only.
  </Accordion>
</AccordionGroup>
