---
title: "Define Attributes - Field Definitions"
canonical: "https://kb.myframeworks.com.au/space/FRAM/28382778/Define%20Attributes%20-%20Field%20Definitions"
format: markdown
---
The **Define Attributes** screen allows administrators to create and maintain the attribute definitions available across Frameworks. Each definition specifies the attribute's category, field name, data type, whether it is mandatory, whether it should be added automatically to new records, whether multiple instances of the attribute can be attached to the same record, and any predefined values it can take.

> ✅ For background on what attributes are, how they behave against records and how different features use them, see [Understanding Attributes](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/880607237).
> ✅ 
> ✅ To create or update many attribute definitions at once instead of one at a time, see [Attribute Definition Export/Import](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/1122729986).

## Screen Access

From the **Frameworks Menu**, navigate to **System Administration > System Setup > Configuration > Define Attributes**.

## Screen Structure

![image-20260915-072155.png](media://0cd68701-3a54-4314-b1b2-5cb9e152f917)

The **Define Attributes** screen is organised into three main sections:

1. **Attribute List**: Filter attribute definitions by type, add a new definition, and browse existing definitions in the results grid.
2. **Details and Defaults**: View, add or edit the selected attribute definition and manage its predefined values.
3. **Command Buttons**: Save, cancel, delete or close.

---

## Attribute List

![image-20260916-035523.png](media://564f8322-4a34-42df-98fa-0295716e5b2c)

The **Attribute List** section filters attribute definitions by type, provides the entry point for creating a new definition, and displays existing definitions in the results grid.

### Type

The **Type** drop-down menu selects which set of attribute definitions the results grid displays. Select the type that matches the records the attributes will be attached to.

Available values:

- **Products**: Attributes attached to product records.
- **Customers**: Attributes attached to customer records.
- **Customer Contacts**: Attributes attached to customer contact records.
- **Suppliers**: Attributes attached to supplier records.

**Format:** Drop-down menu | **Required:** Yes | **Editable:** Yes | **Related fields:** The **Type** value determines which definitions appear in the results grid and which type applies to new definitions created by clicking **Add**.

### Add

The **Add** button creates a new attribute definition. The **Details and Defaults** section becomes available on the right of the screen for entry of the new definition's details.

**Action:** Select the **Type**, then click **Add** to begin defining a new attribute.

**Related fields:** The **Type** selected before clicking **Add** determines which record type the new attribute will apply to.

### Find

The **Find** button updates the results grid with all attribute definitions matching the selected **Type**.

**Action:** Click **Find** to populate the results grid.

### Results Grid

The results grid displays all attribute definitions for the selected **Type**. It has two columns:

- **Category**: Displays the category the attribute definition belongs to. Categories group related attributes together.
- **Field**: Displays the attribute's field name (its ID). The **Field** value is a hyperlink that loads the selected attribute definition into the **Details and Defaults** section for viewing or editing.

**Action:** Click the **Field** hyperlink to load the attribute definition into **Details and Defaults**.

> ✅ Refer to [Advanced Grid Features](https://sterlandsupport.atlassian.net/wiki/spaces/fwksproau/pages/30509842) for information on filtering, sorting and column selection.

---

## Details and Defaults

![image-20260916-040143.png](media://705a2bea-8f5a-4f15-b17b-02f49e2fd13c)

The **Details and Defaults** section is used to view, add or edit the currently selected attribute definition and to manage its predefined values. The **Type** selected in the **Attribute List** section carries through and applies to the definition displayed here.

### Category

The **Category** field records the category the attribute definition belongs to. Enter the name of an existing category as displayed in the **Results Grid** to add the definition to that category, or enter a new name to create a new category.

Some category names are reserved by Frameworks features and behave differently to free-text categories. 

- Reserved categories include the Transaction Product Attribute prompts (`SOPDetailPrompt`, `POSDetailPrompt`, `PURDetailPrompt`),
- Categories held in system settings such as `WELSDfltAttributeCat` and `InvLblPCat`, and
- Feature-owned categories such as `DOC_SCAN`, `Farmlands` and `PickAlert`.

> ✅ See [Understanding Attributes](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/880607237) for how each pattern is used.

**Format:** Text (alphanumeric) | **Required:** Yes | **Editable:** Yes

### Field

The **Field** field records the attribute's name (its ID) within the selected category. The **Field** value is the identifier used when attaching the attribute to a record in **Attribute Maintenance**.

> ⚠️ **Important: **Special characters are not to be used.

**Format:** Text (alphanumeric) | **Required:** Yes | **Editable:** Yes | **Related fields:** The **Field** value is unique within its **Category**.

### Data Type

The **Data Type** drop-down menu sets the kind of value that can be entered against the attribute.

Available values:

- **character**: Alphanumeric characters can be entered.
- **integer**: Whole numbers can be entered.
- **decimal**: Numbers with decimal places can be entered.
- **date**: A date selector is available. Format is DD/MM/YYYY.
- **logical**: Presents a checkbox. On a Transaction Product Attribute the user ticks the checkbox to acknowledge the item, for example an age confirmation.

**Format:** Drop-down menu | **Required:** Yes | **Editable:** Yes | **Related fields:** The **Data Type** value determines the input control used wherever the attribute value is entered, including on Transaction Product Attribute prompts.

### Mandatory

The **Mandatory** checkbox controls whether the attribute must have a value before the product can be used in a transaction. Mandatory enforcement applies to **Product** attributes only.

- When enabled on a **Product** attribute, Frameworks validates that a value has been entered when the product is added to a sales order line, Point of Sale transaction or purchase order line. If no value has been entered, the transaction cannot be saved and Frameworks displays an error identifying the line, for example: *"Line [1]: Mandatory Product Attribute needs to be entered"*.
- When enabled on a **Customer**, **Supplier** or **Contact** attribute, the setting is stored but not enforced by Frameworks. The record can be saved with or without a value.
- When disabled, the attribute is optional.

**Format:** Checkbox | **Default:** Disabled | **Editable:** Yes | **Related fields:** For the attribute to appear automatically on newly created records, enable **Auto Add**.

### Auto Add

The **Auto Add** checkbox controls whether the attribute is automatically added to newly created records of the selected type.

- When enabled, the attribute is added automatically to every new **Customer**, **Supplier**, **Product** or **Contact** record, using the default value if one is defined.
- When disabled, the attribute must be added manually to each record via **Attribute Maintenance**.

**Format:** Checkbox | **Default:** Disabled | **Editable:** Yes

### Allow Multiple

The **Allow Multiple** checkbox controls whether the same attribute can be attached to a record more than once.

- When enabled, the attribute can be added to a record multiple times, each with its own value. For example, a customer with five hobbies is stored as five separate rows.
- When disabled, the attribute can be attached only once per record.

**Format:** Checkbox | **Default:** Disabled | **Editable:** Yes

> ⚠️ **Important:** If the **Category** matches the value in the `WELSDfltAttributeCat` system setting, Frameworks blocks **Allow Multiple** from being enabled, WELS values are a single value per product.

### Values Grid

![image-20260916-040100.png](media://48ecc6b7-e194-4c1d-8aa8-dec4ba28c525)

The **Values** grid holds the predefined list of valid values for the attribute. Predefined values restrict entry in **Attribute Maintenance** to the values listed here and allow one value to be flagged as the default.

The grid has three columns:

- **Line**: The sequential row number of the value in the list. Assigned automatically.
- **Value**: The valid value that can be selected against the attribute.
- **Default?**: When enabled, the value is used as the default when the attribute is added to a record.

**Format:** Grid | **Editable:** Yes

### Add (Values)

The **Add** button in the **Values** grid creates a new predefined value row. Enter the value and, if required, enable the **Default** checkbox to make it the default.

**Action:** Click **Add** to insert a new value row in the **Values** grid.

### Remove (Values)

The **Remove** button in the **Values** grid deletes the selected predefined value row.

**Action:** Select the value row, then click **Remove** to delete it.

> ⚠️ **Important:** Removing a predefined value from the **Values** grid does not remove that value from records where it has already been used.

---

## Command Buttons

The **Command Buttons** section saves, cancels or deletes the current attribute definition, or closes the screen. **Save**, **Cancel** and **Delete** are only active when a definition is loaded or has unsaved changes.

### Save

The **Save** button commits all changes made to the current attribute definition, including any changes to the **Values** grid.

**Action:** Click **Save** to commit changes.

### Cancel

The **Cancel** button discards any unsaved changes to the current attribute definition and reloads the last saved version.

**Action:** Click **Cancel** to discard changes.

### Delete

The **Delete** button removes the current attribute definition. Deleting a definition also removes the attribute from every record it is attached to.

**Action:** Click **Delete** to remove the attribute definition.

> ⚠️ **Important:** Deleting an attribute definition removes the attribute from all records of the selected type. This action cannot be undone.

### Close

The **Close** button closes the **Define Attributes** screen and returns to the previous screen. Any unsaved changes are prompted before closing.

**Action:** Click **Close** to exit the screen.

---

> ✅ ## Related Information
> ✅ 
> ✅ - [Understanding Attributes](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/880607237)
> ✅ - [Attribute Definition Export/Import](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/1122729986)
> ✅ - [Attribute Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28401652)
> ✅ - [Add an Attribute](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28385784)
> ✅ - [Configure Product Attribute Definitions](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/881033221)
> ✅ - [Product Attribute Capture - Overview](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/894173186)