# Custom Field Definition

### What is Custom Field Definition?

In the XoroERP system, each module contains a specific set of fields designed to define the entities associated with that module. For example, the item module includes universally required fields like Item Number, Cost, UPC, and Barcode. However, businesses might often require additional fields specific to their operations. Keeping that in mind,  Xoro provides you with the ability to add your own fields to customize the system as per your needs. Depending on the business model, the ***Custom Fields*** could be added in a few Xoro modules such as Invoice, Invoice Item Line, Sales Order, Sales Order Detail, Customer, Sales Order Detail, etc.

Custom Fields are similar to the standard fields that come built-in to the Xoro system. You can create the custom fields from the "Custom Field Definition" module.

There are 50 Custom Fields that are available in the ***Custom Field Definition*** module.

Custom Fields can be created for different “**Transaction Types**”.

The Custom Fields can be added to the following Transaction Types:

* Account
* ASN
* Bill of Material
* Bill Of Material Item Line
* Charge Entry 3PL
* Credit Memo
* Credit Memo Line
* Customer
* Estimate
* Estimate Detail
* Invoice
* Invoice Item Line
* Item
* Item Receipt Line Detail
* Item Vendor Mapping
* Manufacturing Order
* Manufacture Order Item Lines
* Packing Slip
* Packing Slip Detail
* Purchase Order
* Purchase Order Detail
* RMA
* RMA Detail
* Sales Order
* Sales Order Detail
* Sales Receipt Item Line&#x20;
* Vendor

### Creating Custom Fields

When creating a custom field, you will begin by defining the transaction type, then enter the field name and define the values accepted for the field.

{% hint style="info" %}
*To create the custom field, go to: **Menu > Admin > Custom Field Definition***
{% endhint %}

<figure><img src="/files/lJznvNL9x7Q0ThSb86t1" alt=""><figcaption></figcaption></figure>

#### Custom Field Definition Fields

| Field              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Transaction Type   | This field allows users  to define the module to which the custom field will be associated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Custom Field       | <p>This field allows users to define and rename custom fields for the selected Transaction Type. The system provides <strong>50 configurable custom field slots</strong>, displayed as <strong>Custom Field 1</strong>, <strong>Custom Field 2</strong>, up to <strong>Custom Field 50</strong>. Users can either keep the default field names or replace them with business-specific field names based on operational requirements.</p><p>The custom fields created for a selected Transaction Type are applicable only to that specific module. For example, if a custom field is defined under the Invoice transaction type, it will appear only in the Invoice module’s Custom Fields section.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Custom Field Value | <p>Here users can choose the value type that will be accepted in the custom fields. This ensures that the data entered into the field is in the correct format. The following value types are available for selection from a dropdown menu:</p><ul><li><strong>Text</strong>: Accepts any form of textual data.</li><li><strong>Number</strong>: Allows only numerical values.</li><li><strong>List</strong>: Enables you to define a list of pre-defined options from which a user can choose. If this type is selected, you can add the options as a comma-separated list.</li><li><strong>Date</strong>: Users can select or enter a date.</li><li><strong>Multi-Select List</strong>: Similar to the "List" option, but users can select multiple values from the predefined list.</li><li><p><strong>Multi-line Text:</strong> Allows users to capture <strong>paragraph-style, free-form text</strong>, offering greater flexibility for storing detailed information.</p><p>Additionally, to ensure a clean and user-friendly interface, a <strong>“Show More”</strong> toggle has been implemented for long custom field values.</p></li></ul><p><em><strong>Please note: For the "List" and "Multi-Select List" options, you can enable the "Custom Source" option to specify a custom source, which allows for the addition of a custom script that can dynamically generate the list values.</strong></em></p> |

Once all the custom fields have been defined for a transaction, click on "**Save**" to create the custom fields.&#x20;

<figure><img src="/files/Ty2gADFTy8xNAR6DeDjw" alt=""><figcaption></figcaption></figure>

Once the custom fields for a module are created, they will be visible under the **Custom Field** tab of that module. So, if you have defined the custom field "Item", the added Custom fields can be seen under the Custom Fields tab of the Item.

<figure><img src="/files/QgMY30lsaiNueYHeSxST" alt=""><figcaption></figcaption></figure>

All the custom fields added in the system can be viewed and updated through the [**Custom Field Definition Centre**](/xoroerp-1/admin/custom-field-definition/custom-field-definition-centre.md).

<figure><img src="/files/Ls8b9pfv23AE2KunoOgz" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xorosoft.com/xoroerp-1/admin/custom-field-definition/custom-field-definition.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
