> For the complete documentation index, see [llms.txt](https://learn.withessential.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.withessential.com/administration/settings/create-and-manage-custom-fields.md).

# Create and manage custom fields

Custom fields let you capture extra information on your records — a client ID on a customer, a department on a contact, a building number on a property, a contract number on an asset group, or a reference number on a job. Once a field is added, it shows up on those records for your back-office team to fill in. You can also make selected customer, property, asset group, and job values visible to technicians on mobile visits. Quote and invoice fields are managed on their own page — see [Custom fields and PO numbers on quotes and invoices](/revenue/quotes/custom-fields-and-po-numbers-on-quotes-and-invoices.md).

> **Where to find it:** Settings → Custom Fields

**Before you start:** adding, editing, and deleting custom fields requires the business‑profile setup permission. Anyone who can open Settings can view the list.

## Add a custom field

1. Go to **Settings → Custom Fields** and click **Add custom field**.
2. Give it a **Name** (for example, "Account Number").
3. Choose what it **Applies to** — Customer, Property, Asset Group, Contact, or Job. This can't be changed later, so pick carefully. (Quote and invoice fields are added on the Custom Fields tabs under Settings → Quotes and Settings → Invoicing instead.)
4. For Customer, Property, Asset Group, or Job fields, choose **Visibility**:
   * **Back office only** — only back-office users can see the field.
   * **Back office + technicians** — technicians can also see it in the mobile visit details. Select **Allow techs to edit** if they should be able to update its value there; otherwise it stays read-only.
5. Choose a **Type**:
   * **Short text** — free‑form text in a single‑line box, for short values like an account number.
   * **Long text** — free‑form text in a larger box, for notes or anything that may span several lines.
   * **Yes / No** — a simple toggle.
   * **Date** — a calendar date, such as a contract expiration or service date. Use the date picker; values display clearly as **Aug 2, 2026**. Dates stay on the selected day across time zones.
   * **Choice (dropdown)** — a fixed list of options you define.
6. Set the optional rules below (Required, Unique).
7. Click **Save**. The field now appears on every record of that type.

Contact fields appear on the **New contact** form and in the contact page's **Custom fields** section. Use that section's **Edit** link to update values, then click **Save**. Contact fields are visible to back-office users only; they do not appear in the technician app or Customer Portal.

Quote and invoice fields — including the **Show on customer document** option and the Purchase Order toggle — live on the **Custom Fields** tab of the Quotes and Invoicing settings pages; see [Custom fields and PO numbers on quotes and invoices](/revenue/quotes/custom-fields-and-po-numbers-on-quotes-and-invoices.md).

Back-office users continue to see every custom field. On mobile visit details, technician-visible customer, property, and job values appear in their matching sections; asset group values also appear on the asset group card and detail view. Technician-visible Job fields that have values on current Open visits are also available in the Open tab's Filters sheet: technicians choose the field first, then can search a long list of values before selecting one or more. An edit icon appears only for fields with **Allow techs to edit** selected. When creating or editing a visit, every non-empty custom-field value for the selected Customer and Property appears automatically in **Additional Context**; there is no separate scheduling setting. Job custom fields remain editable in the form, including when creating a batch of visits.

The field type and what it applies to are fixed once created. To change either, delete the field and create a new one.

## Show Job fields on visit cards

For a **Job** field, use these independent switches:

* **Show on Backlog visit cards** displays its populated value on unscheduled cards.
* **Show on scheduled visit cards** displays it on calendar cards.

Select **Save** to apply the changes. Both switches start off. Clicking a visit card always shows all populated Job custom fields in its detail popover, regardless of the switches. Cards and popovers display the values without field-name prefixes. Long values remain available in full in the popover. These switches control the back-office Scheduling page; **Visibility** still controls technician access.

## Require a value

Turn on **Required** to make the field mandatory — the record can't be saved until someone fills it in.

## Enforce unique values

For **Short text** and **Long text** fields you can turn on **Unique values** so no two records share the same value (matching is case‑insensitive and ignores leading/trailing spaces). This is useful for identifiers like an account or client ID. Blank values are always allowed to repeat.

* If you try to save a record with a value another record already uses, the save is blocked and you're told which record has it. As you type a value that's already taken, a warning appears right away — before you save.
* **Allowed duplicate values:** placeholder values like `N/A` often appear on many records, which would otherwise stop you from turning uniqueness on. Add those values to the **Allowed duplicate values** list (under the Unique toggle) and they're allowed to repeat freely, while every other value stays unique.

**Turning uniqueness on** only works when the existing data is already unique. If several records share a value, Essential tells you which one and how many records use it. Resolve those duplicates — or add the value to **Allowed duplicate values** — then save.

## Edit or delete a field

* **Edit** (pencil icon) — rename, change Visibility, technician edit access or Required/Unique, or edit a choice field's options. Type and what it applies to stay locked.
* **Delete** (trash icon) — removes the field and every value stored for it across your records. This can't be undone.

## Related

* [Custom fields: your business's extra fields on records](/administration/basics/custom-fields-your-businesss-extra-fields-on-records.md) — what custom fields are and where you fill them in.
* [See the Custom fields report](/reporting-and-integrations/reporting/custom-fields-report.md) — the distribution of values for any field, with drill‑down to the records using each value.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://learn.withessential.com/administration/settings/create-and-manage-custom-fields.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
