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

# Custom attributes

> Add org-defined metadata fields to ION records (procedures, runs, parts, issues, and more) from Settings.

Custom attributes let you capture additional metadata on ION records beyond the default fields. They are available for the following entity types:

| Entity          | Where in Settings                             |
| --------------- | --------------------------------------------- |
| Procedures      | **Settings > Production > Procedures**        |
| Standard steps  | **Settings > Production > Standard Steps**    |
| Runs            | **Settings > Production > Runs**              |
| Issues          | **Settings > Quality > Issues**               |
| Parts           | **Settings > Supply Chain > Parts**           |
| Purchases       | **Settings > Supply Chain > Purchases**       |
| Receipts        | **Settings > Supply Chain > Receipts**        |
| Suppliers       | **Settings > Supply Chain > Suppliers**       |
| Part kits       | **Settings > Supply Chain > Part Kits**       |
| Locations       | **Settings > Supply Chain > Locations**       |
| Parts Inventory | **Settings > Supply Chain > Parts Inventory** |
| Plans           | **Settings > Supply Chain > Plans**           |
| Further Actions | **Settings > Quality > Further Actions**      |

## Add a custom attribute

To add a custom attribute:

1. Go to the Settings page for the entity you want to extend (see table above).
2. In the **Attributes** section, enter a **Name** for the attribute.
3. Select a **Type** from the dropdown.
4. Click **Add**. The attribute is saved immediately.

### Attribute types

The **Type** dropdown lists these options. After you save the attribute, ION shows the type as a badge, which can use a different label than the dropdown option.

| Dropdown option    | Badge label  | Description                                                            |
| ------------------ | ------------ | ---------------------------------------------------------------------- |
| **String**         | String       | Free-text input.                                                       |
| **Number**         | Number       | Numeric value.                                                         |
| **Boolean**        | Boolean      | On or off toggle.                                                      |
| **Datetime**       | Date & Time  | Date and time picker.                                                  |
| **FileAttachment** | File         | File attachment.                                                       |
| **Select**         | Select       | Single-choice dropdown. You define the options after creation.         |
| **Multiselect**    | Multi-Select | Multiple-choice dropdown. You define the options after creation.       |
| **ION: Parts**     | ION: Parts   | Reference to a part record.                                            |
| **ION: Users**     | ION: Users   | Reference to a user.                                                   |
| **Rich Text**      | Rich Text    | Formatted text. Available only on entity types that support rich text. |

## Add or remove options for select and multi-select attributes

Select and multi-select attributes require you to define their options separately after creation.

1. In the **Attributes** section, find the attribute and click the expand arrow next to it.
2. To add an option, type the option name in the input field and press **Enter** or click **Add**.
3. To remove an option, click the **X** next to the option you want to remove.

You can't remove an option that's currently applied to a record.

## Edit a custom attribute

The name and type of a custom attribute can't be changed after creation. To rename an attribute or change its type, delete it and create a new one.

For **Select** and **Multi-Select** attributes, you can add and remove options at any time. See [Add or remove options](#add-or-remove-options-for-select-and-multi-select-attributes).

## Delete a custom attribute

<Warning>
  Deleting a custom attribute can't be undone. The attribute stops appearing on
  new and existing records.
</Warning>

To delete a custom attribute:

1. In the **Attributes** section, find the attribute you want to delete.
2. Click **X** on the attribute row.
3. In the confirmation dialog, click **Delete**.

## How attribute values copy between records

When you duplicate a record, ION carries its custom attribute values to the new record in these cases:

* Splitting an inventory line copies the parent's attribute values to the new line.
* Copying a purchase order copies attribute values on both the order and its lines.
* Creating a new part revision copies the source revision's attribute values.

Creating a brand-new part does not copy attribute values, since there is no source record to copy from.
