> For the complete documentation index, see [llms.txt](https://docs.pockethrms.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pockethrms.com/hr-and-admin-portal/ess-configurations/expense.md).

# Expense

This page provides step-by-step answers to the FAQs related Expense management

### Introduction&#x20;

Pocket HRMS-based expense management software helps bring all expense parameters under one platform. Intelligent expense solution makes the complicated and error-prone processes easy.&#x20;

Be it reimbursements or payroll tax calculations, our new-age [expense management software ](https://www.pockethrms.com/expense-management-software/)makes your accounts and HR department take a sigh of relief. Paperless and cloud-based expense monitoring allows you to work on the go.&#x20;

Pre-requisites:

✔ Admin credentials

Let us look at how the Admin can set an ‘Expense Module’ for employees which will be reflected in the ESS portal.

### **Cloud Configuration**

**Path: Cloud → ESS Settings → Expense**

The **Expense** tab groups the settings that control how expense claims work for your organisation:

### **How to set ‘Expense Type’?**

**Path: Cloud → ESS Settings → Expense → Expense Type**

**Expense Types** – the categories of expense employees can claim, such as travel or food

**Step 1:** Log in to the cloud portal and select **‘ESS Settings’.**&#x20;

Click on the **‘Expense’** tab and select the **‘Expense type’** subtab,

&#x20;now simply click on the **‘+’** icon to create a new Expense Type.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2F6WKrtusLeZZWijTtnjFI%2FHow%20to%20set%20Expense%20Type%201.png?alt=media&amp;token=93bd8dd6-6ce3-4e77-bb7f-9326b8eb68cf" alt=""><figcaption></figcaption></figure>

**Step 2: Select the Business Unit**

Under **Business Unit**, select the company this expense type applies to.

**Step 3: Enter the Expense Type Name**

Enter a name for the expense category in the **Expense Type** field. This field is mandatory.

**Step 4: Set Approval Rights**

Set **Approval Rights** to **Yes** if claims under this expense type require approval, or **No** if they do not.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FUIbslgTxPsdGJnB0bJF8%2FFrame%201%20-%202026-08-25T100254.313.png?alt=media&amp;token=86c7063c-4cbb-48a0-887d-aadf13e9d91d" alt=""><figcaption></figcaption></figure>

**Step 5: Enable Location Tracking**

Check the **Location** box to add **From** and **To** location fields to the expense claim entry, for tracking travel-based expenses. Leave it unchecked if location tracking does not apply to this expense type.

**Step 6: Set Location as Mandatory**

When **Location** is checked, the **Location Required Mandatory** toggle appears. Enable it to make entering location details compulsory for the employee, or leave it off to keep location details optional.

**Step 7: Set Expense Mode as Mandatory**

Enable **Mode required Mandatory** to make selecting an **Expense Mode** compulsory when an employee submits a claim under this expense type.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FWxA0UeL6EF1rlyVRVl87%2FFrame%201%20-%202026-08-25T100734.420.png?alt=media&amp;token=268caa11-9b5e-4be7-add1-8bef29b29163" alt=""><figcaption></figcaption></figure>

**Step 8: Set the Expense Type as Active**

Keep **Active** checked to make the expense type available for selection during claim entry. Uncheck it to disable the expense type without deleting it.

**Step 9: Save the Expense Type**

Click **Save** to add the expense type, or **Close** to discard the entry without saving.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FhW8fIa6j7RFa9RAkO6Ti%2FFrame%201%20-%202026-08-25T100856.340.png?alt=media&amp;token=f9b729ac-4fe8-4be2-bc61-fde77d3e7579" alt=""><figcaption></figcaption></figure>

#### **Managing Existing Expense Types**

Each configured expense type is listed as a card, showing:

* **Business Unit**
* **Expense Type**
* **Approval Rights**
* **Active Location** — with its mandatory / non-mandatory status
* **Is Finance Approval Required**
* **Mode required Mandatory**
* **Active**

**Step 1: Edit an Expense Type**

Click the **pencil icon** on an expense type card to edit its details.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2F1W7OhcAVj4iX50zpIfLF%2FFrame%201%20-%202026-08-25T101032.831.png?alt=media&amp;token=90cf83aa-73bf-4814-b00f-48dee35c8c10" alt=""><figcaption></figcaption></figure>

**Step 2: Delete an Expense Type**

Click the **trash icon** on an expense type card to delete it.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FBb6apG5H0mGnBopR69vb%2FFrame%201%20-%202026-08-25T101052.666.png?alt=media&amp;token=95e1c785-ca02-4387-b467-d08f27703383" alt=""><figcaption></figcaption></figure>

**Step 3: Bulk Import Expense Types**

Click **Bulk Import** to upload multiple expense types at once.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2Flqtye3tWREg4ugWU8GlD%2FFrame%201%20-%202026-08-25T101121.800.png?alt=media&amp;token=ed2a8ce4-f811-43fb-831e-032af7223de8" alt=""><figcaption></figcaption></figure>

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpenseType**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpenseType)

### **How to Set ‘Expense Eligibility’ for expense types?**

**Path: Cloud → ESS Settings → Expense → Employee Eligibility**

**Expense Eligibility** – which employees or business units can claim which expense types, and the applicable limits

Go to **‘ESS Settings’** from the cloud portal and under the ‘**Expense**’ tab select ‘**Employee Eligibility**’ subtab then click on the ‘**+**’ icon to open an ‘**Expense Eligibility**’ pop-up window.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FgpgvtcQdkQdZHRhiTlHJ%2FFrame%201%20-%202026-08-25T102622.699.png?alt=media&amp;token=3b6b44be-3f9e-44f5-b747-19fa57df3180" alt=""><figcaption></figcaption></figure>

* Fill in the necessary fields to set ‘Expense Eligibility’ to improve productivity management.
* Start with selecting the ‘Business Unit’ you want it to be applicable to. This way system allows you the flexibility to customize expense eligibility for various business units.
* From the ‘Expense Type’ drop down you can choose from various expenses that you have created in the system conveniently.
* You can also select an ‘Employee Code’ making it super easy to select individual employees and save a lot of time in the process.
* You also need to set an ‘Amount’ which will be the upper limit for this eligibility criteria. So, the expense claim that will be approved for the eligibility criteria can not exceed this amount.
* The ‘Approval Type’ drop-down gives you quick access to set it as ‘Claim Wise’ or ‘Month Wise’

**'Claim Wise'** means approvals are done individually for each claim, offering flexibility. 'Month Wise' means a consolidated amount will be considered for approval within a month.

* In addition to that you get an option to ensure that there is ‘No Approval up to Amount’. That way mundane expenses can pass swiftly without hindering day-to-day operations. That also means less administrative work for those who are in charge of approving the expense and focus better on their high-stake responsibilities.
* Option to set ‘Prior Days Claim Request Limit’ allows you to limit the prior claim request up to a certain number of days.

**For example:** if you set 7 days in this setting then the system will not allow employees to submit claim requests more than 7 days old.

* If you tick the check box for ‘Limit to attendees’ the system will check the eligibility according to the employee’s attendance or completed shift hours. This means only the employees who have completed a certain number of shift hours or attendance.
* If you tick the check box for **'Eligibility Override'**, the employee will be allowed to raise a claim that goes beyond the set eligibility amount. When this happens, the system will show a confirmation prompt asking the user to confirm before the claim is submitted.

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpenseEligibility**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpenseEligibility)

### **How to do ‘Auto Document Number Setting’?**

**Path: Cloud → ESS Settings → Expense →** **Auto Document Number Setting**

**Auto Document Number Setting’** generates a unique '**Transaction Code'** automatically when an employee submits a claim. This feature streamlines record-keeping by ensuring each transaction has a distinct identification, reducing errors and enhancing organization. It simplifies tracking and makes it easier to find it resulting in efficient management of employee claims within the system.

Log into the cloud portal and go to the **‘ESS Settings’** menu. Under the **‘Expense’** tab click on the **‘Auto Document Settings’** subtab.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FsINUbUOyamZxqQVgDImZ%2FHow%20to%20do%20Auto%20Document%20Number%20Setting1.png?alt=media&amp;token=854e6b41-4993-44d1-a6ee-c2bff5b42449" alt=""><figcaption></figcaption></figure>

The system allows you to customize series settings by selecting the initial '**Characters**,' specifying the '**Trailing Zero**,' and the 'Starting Number.' This feature allows you to see the preview for defining unique identifiers for various elements within the system resulting in better data management.

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=DocumentNumberSetting**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=DocumentNumberSetting)

### **How to create ‘Expense Mode’?**

**Path: Cloud → ESS Settings → Expense → Expense Mode**

**Expense Modes** – the modes of expense (for example, per kilometre) and their rates

The system allows you to easily create ‘**Expense Mode’**. Go to the **‘ESS Settings**’ menu and under the **‘Expense’** tab click on the ‘**Expense Mode**’ subtab and simply click on the ‘**+**’ Icon. Here, you can enter essential information such as the **‘Expense Type**’, ‘**Mode**’, the ‘**Rate**’ that allows for this expense type and the ‘**Unit**’ of expense.

The system allows you to simply click on the checkbox for the **‘Kilometer Required?’**. If you check the box the ‘**Unit**’ will always be in the terms of Kilometer.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FY2SPcPVXBGHLwklwrufl%2FHow%20to%20create%20Expense%20Mode1.png?alt=media&amp;token=0736bc3e-5403-48a9-b156-45c0e978da96" alt=""><figcaption></figcaption></figure>

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpenseMode**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpenseMode)

### **How to create ‘Expense Purpose’?**

**Path: Cloud → ESS Settings → Expense → Expense Purpose**

**Expense Purposes** – the list of purposes employees can select for a claim

Go to **‘ESS Settings’** and under the ‘Expense’ tab click on the **‘Expense Purpose’** subtab and click on the ‘**+**’ icon. A **‘Purpose’** pop-up window will open, simply enter the purpose and click on the ‘**Save**’ button. The system will immediately add this purpose.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FIe6dCJVFiFfIkJwj1Uy7%2FHow%20to%20create%20Expense%20Purpose1.png?alt=media&amp;token=5697dd2e-b8fb-44cd-a3cc-3280319801fe" alt=""><figcaption></figcaption></figure>

You can also create multiple expense purposes in the system.

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpensePurpose**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpensePurpose)

### **How to set due dates and expense cycles?**

**Path: Cloud → ESS Settings → Expense → Restrictions**

**Expense Cycles and Due Dates** – the periods expenses are grouped into and their submission deadlines

**Step 1**: Log into the cloud portal. Go to the **‘ESS Settings’** menu. Under the **‘Expense’** tab click on the **‘Restrictions’** subtab. Select the checkbox for the **‘Due Date Required’** option. That will allow you to add multiple expense cycles.

![](https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FEYjBWuI54uzoWNSgff7J%2F0.png?alt=media)

**Step 2**: Fill in the details in the following fields accordingly

* **Count** – Number of expense cycles you want create for a month.
* **Date Range** – Fill in the start date and the end date for the expense cycle in the first and second boxes respectively

The expenses that are occurred during this date range will be considered as part of the respective expense cycle.

* **Due Date** – The last date to submit expense claims for respective expense cycle

**Note**: If your company policy requires employees to submit hard copies of the bills/invoices to HR/Finance person, the ‘Due Date’ will also be applicable for these submissions. The HR will update the status for the bills they received.

* **Month** - Select the option for the due date:

1. Current - If the due date is in the same month as the expense cycle.
2. Next - If the due date is in the following month of the expense cycle.

Once you entered all the details click on the ‘Save’ button and the employee will see the defined expense cycles while requesting the expense claim.

**For example,**

We keep the ‘**Count**’ for the expense cycles ‘2’

1\. Date Range: 1 to 15, Due Date: 25 of the ‘Current’ month.

2\. Date Range: 16 to 31, Due Date: 10 of the ‘Next’ month.

![](https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FZ0jOb8fnnNbKbh2DWj45%2F1.png?alt=media)

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=Restrictions**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=Restrictions)

### **How to Restrict/Block certain Expense Types against another expense type claim request?**

**Path: Cloud → ESS Settings → Expense → Restrictions**

**Expense Restrictions** – rules that block or restrict certain expense types against others

**Step 1**: Log into the cloud portal. Go to the **‘ESS Settings**’ menu. Under the ‘**Expense’** tab click on the **‘Restrictions’** subtab.

In the **‘Restrictions Against Expenses’** section you will find fields that help you put restrictions against expenses.

![](https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FpDAcxtxcIMc6AruamDf6%2F2.png?alt=media)

**Step 2:** From the **‘Expense Type’** drop-down, select the type of expense you want to put restrictions against.

For example, if you want to restrict or block certain expense requests against the **‘Travel’** expense, you need to select the ‘Travel’ option from the **‘Expense Type’** drop-down.

![](https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FCDDUTiNbszhEm9l49OTA%2F3.png?alt=media)

**Step 3**: Select the checkbox for the **‘Exclusive Expense’** if you want to restrict other expenses against it.

The **‘Block Expenses’** field will become visible under the ‘Exclusive Expense?’ field.

![](https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2F26N5o0CwTm4UCEVW9LNJ%2F4.png?alt=media)

**Step 4**: From the **‘Block Expenses’** drop-down you can choose single or multiple expenses that you want to restrict against the exclusive expense.

That means if the employee has added the exclusive expense in their claim entry, the system won’t let them add the restricted/blocked expense.

![](https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2F98NHm11HVmkdxaE5LNIy%2F5.png?alt=media)

**Step 5**: Select the checkbox for ‘Remarks Mandatory’ to ensure that the employee provides a remark for their expense claim entry and click on the ‘Save’ button and the restrictions will be applied to the employee’s expense claim entries.

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=Restrictions**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=Restrictions)

### **How to set a ‘Lock Date’ for expense claims?**

**Path: Cloud → ESS Settings → Expense → Expense Lock**

**Expense Lock Dates** – the date before which expense entries cannot be submitted

Go to **ESS Settings** and under the Expense tab go to the **‘Expense Lock’** subtab. This feature allows you to set a lock date for the expense type. For this enter the date against the Expense type, this is the lock date for an entry date.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2Fo0NZNVHM70jFvan81mT6%2FFrame%201%20-%202026-08-25T103108.873.png?alt=media&amp;token=b94f0a1a-e33b-44a1-92bb-e24a989b8354" alt=""><figcaption></figcaption></figure>

For example, if you set a lock date for a particular date type the system will not allow employees to submit entries before that date. This feature helps you bring a more structured approach to expense management and improve efficiency.

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpenseLock**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=ExpenseLock)

### **How to do trip configuration?**

**Path: Cloud → ESS Settings → Expense → Trips**

**Trip Settings** – whether trip-based claims are enabled, and how proof documents are captured

Under the Expense tab, click on the **Trip Configuration** subtab. Use the **Enable Trip Functionality** toggle key to turn trip capture on or off for the ESS portal and mobile app.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FL3IDOTYFeZ1vZpJHwXbY%2FFrame%201%20-%202026-08-25T104012.421.png?alt=media&amp;token=9959a8d2-f927-4c7c-b0a6-816cadf60483" alt=""><figcaption></figcaption></figure>

Once trips are enabled, you can choose the **Trip Type** — **Manual Trip**, where the employee enters the Start and End KM and location manually, and attaches an odometer reading as proof; or **Location-Based Trip**, where the employee searches and selects locations via map, and the KM is auto-calculated from the selected From/To locations.

You can choose to configure proof uploads through **Camera Only** or **Camera and Gallery**. The camera-only feature will work only on mobile devices.

You will also get an option to make this attachment mandatory using the **Make this mandatory** toggle. When enabled, the attachment will be required at the time of submission.

The **KM Modification Rights** toggle lets you decide who is allowed to edit the KM entered for a trip — **Manager**, **Finance**, or **Both**. By default, both Managers and Finance have rights to edit the amount.

Next, you need to configure the expense type and mode in the expense module.

For that go to ‘ESS Settings’ in the admin portal, select the ‘Expense’ tab and then ‘**Expense Type’.**

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FzYuhvB6k2o5XpjFnC1NP%2FHow%20to%20do%20trip%20configuration2.png?alt=media&amp;token=6513afbc-565b-40b1-8f07-7bc668bdc9d6" alt=""><figcaption></figcaption></figure>

Now you can select the ‘**Expense Mode**’ subtab under the expense tab and click on the ‘**+**’ icon. A pop-up window will open where you can define ‘Rate’ and ‘unit while setting up mode and on the basis of this configuration trips functionality will work. You must check the box for **‘Kilometers Required’** for the trip function.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FHV883gT6D6q6DvlM1767%2FHow%20to%20do%20trip%20configuration3.png?alt=media&amp;token=a770a507-33f3-4ff0-ad40-a45e11eb2d9d" alt=""><figcaption></figcaption></figure>

**Path Link:** [**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=TripConfiguration**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=TripConfiguration)

[**https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=TripConfiguration**](https://cloud.pockethrms.com/Settings/Employee/ESSIndex?module=Expense\&submodule=TripConfiguration)

### **How To Configure Expense Field Creation?**

The **Expense Field Creation** page lets you add custom fields to Expense forms, such as **Expense Claim**, without any additional development.

It appears inside **Field Creation** when the **Expense** module is selected, and lists every custom field configured for the chosen Expense form.

This helps in:

* Capturing additional expense details specific to your organisation
* Controlling which custom fields are mandatory before submission
* Extending Expense forms without changing the core application

**Path: Login into Cloud Portal → Settings → HR → Expense Field Creation.**

**Step 1:** Log in to the **Cloud Portal** with your credentials. From the left-hand navigation menu, click **Settings**, then select **HR**.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FcCTBbQIbKsNqiGiOTKaN%2FPicture1.png?alt=media&amp;token=a6f8efcc-fe11-4dec-93a6-836ab2ec5617" alt=""><figcaption></figcaption></figure>

**Step 2: Open Expense Field Creation**

From the list of modules in **Field Creation**, select **Expense** to open the **Expense Field Creation** screen.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FmqtinS1Gn0w442u4uxDF%2FPicture2.png?alt=media&amp;token=6f0e4132-4915-431d-a393-066dc22ccb8f" alt=""><figcaption></figcaption></figure>

**Step 3: Select the Expense Form**

The section header displays **Custom Fields,** based on the form selected in the dropdown beside it — for example, **Expense Claim**. Select a different form from the dropdown to view or add custom fields for that form instead.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FJIIXRJSaYBKL12gAzmEW%2FPicture3.png?alt=media&amp;token=d90542f1-a30f-4d6b-937a-36865f7e763e" alt=""><figcaption></figcaption></figure>

**Step 4: Add a Custom Field**

Click **+ Add Field** to open the **Add Custom Field** panel.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FhsfsFJjd4PLDqYbpnsbk%2FPicture4.png?alt=media&amp;token=a8424b86-778a-4058-9100-edfd448304d4" alt=""><figcaption></figcaption></figure>

**Step 5: Enter the Field Label**

Under **Field Configuration**, enter a name for the field in **Field Label** — for example, **City**.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2Fz2mWKCtf14tyMMddSIgS%2FPicture5.png?alt=media&amp;token=232271b2-ed0d-419b-82da-4c73bf985752" alt=""><figcaption></figcaption></figure>

The system auto-generates a **System ID** by prefixing the label with **cf\_** and lowercasing it — for example, city becomes cf\_city.\
Click the **edit** icon next to it to set a custom ID instead.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FE9KRP5chIQacCt9Qp9BZ%2FPicture6.png?alt=media&amp;token=c262f812-0645-4cc6-9a0b-1b38b8c5f6b7" alt=""><figcaption></figcaption></figure>

**Step 6: Select the Field Type**

Select the field's data type from the **Field Type** dropdown. Available types include:

* Text
* Number
* Dropdown
* Multi-select
* Date
* File Upload
* Email
* Phone
* Radio Button

**Step 7: Set Field Behaviour**

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FFsJEHWKqeis1rON3GZSe%2FPicture7.png?alt=media&amp;token=961f7757-eb83-49af-882f-f831eea17cf9" alt=""><figcaption></figcaption></figure>

Enable **Mandatory** to require the field before the form can be submitted.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2F9ZnUqG0YRroCw69CY9WY%2FPicture8.png?alt=media&amp;token=239a46b6-07b5-4f53-869f-def7c4ef1733" alt=""><figcaption></figcaption></figure>

Enable **Help Text** to reveal a text input where you can enter guidance text shown to the user — for example, "**Select your current residing city.**"

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FFmz12wuJUvCqegHwqF4u%2FPicture9.png?alt=media&amp;token=5c4f93c2-0e14-457f-a03c-703968a55f2d" alt=""><figcaption></figcaption></figure>

**Step 8: Add Options**

Under **Options**, type a value in **Type option, press Enter to add** and press **Enter** or, to add it. Each added value appears as a removable tag next to the input — for example, MUMBAI, NAVI MUMBAI, PUNE, NOIDA.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FNt5QakDSkqxR0IYTyu8Z%2FPicture10.png?alt=media&amp;token=a55144a4-8db8-4f17-ad2f-e92a99cb5376" alt=""><figcaption></figcaption></figure>

**Step 9: Set Up a Conditional Field**

Enable **Make this a conditional field** to control the field's visibility based on another field. The info icon next to this option shows the tooltip: "Enable cascading level fields." This setting corresponds to the **Conditional** column in the custom fields table.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FgLjefQSnFAR2xZSy25ss%2FPicture11.png?alt=media&amp;token=7615390b-1ae0-4ca7-bc7b-4c4e8db31058" alt=""><figcaption></figcaption></figure>

Enabling it adds a **Level 1** block for configuring the cascading child field.

**Step 10: Configure the Level 1 Child Field**

Under **Level 1**, select the child field's data type from **Input Type**, and enable **Make Mandatory** if the child field should be required.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2Fi2Os1gzEFy1qgeWhTMT1%2FPicture12.png?alt=media&amp;token=2a7ac690-1cbe-4cce-984b-3d53ed513e07" alt=""><figcaption></figcaption></figure>

**Step 11: Name the Child Field**

Enter a name for the child field in **Child Field Label** — for example, Area.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FqhVwX73yJ7XLoKZulrTW%2FPicture13.png?alt=media&amp;token=f6955573-5db4-493a-b23f-eb99e157a219" alt=""><figcaption></figcaption></figure>

**Step 12: Set Values by Parent Option**

Under **Values by Parent Option**, a When show: row appears for every value already added to the parent field's **Options** list — for example, MUMBAI, NAVI MUMBAI, PUNE, NOIDA. For each row, type the child field values that should appear when that parent option is selected, and press **Enter** or,to add each one.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FQPgzgOnX6NvfGlIxJPdL%2FPicture14.png?alt=media&amp;token=a4b4daca-c1e2-4fa7-a4fb-ddf0d96b74db" alt=""><figcaption></figcaption></figure>

**Step 13: Add Further Levels**

Click **+ Add Level** below the current level to add another cascading level (**Level 2**) underneath Level 1.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2Fy2nfenEUVChQ4qn5hfTv%2FPicture15.png?alt=media&amp;token=173d1efb-85fa-42f5-8a4e-5f6087b8aa78" alt=""><figcaption></figcaption></figure>

The **Live Preview** panel on the right shows how the field will look based on the selected **Field Type**.

#### **Understanding the Live Preview**

The **Live Preview** panel updates as you configure the field, showing how it will actually appear on the Expense form once saved:

1. The **Field Label** you enter appears as the preview heading, exactly as typed (case included).

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FwkCcxQWodHaH2RNFI7bb%2FPicture16.png?alt=media&amp;token=18a17aec-b838-427a-b6c2-b50f4a6fa21e" alt="" width="218"><figcaption></figcaption></figure>

2. A red asterisk **(\*)** is added next to the label automatically when **Mandatory** is enabled.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FiPeUTC0gDW5cRq3KgLMh%2FPicture17.png?alt=media&amp;token=2ebae3d6-be2e-4f2f-a3bb-43baf61e2e6f" alt="" width="213"><figcaption></figcaption></figure>

3. The input control shown matches the selected **Field Type** — for example, **Dropdown** previews as a **"Select City”**" dropdown, and if there’s a conditional field applied to it, It will show another dropdown preview as a **“Select Area”.**

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FxRXanmKjlQtMgq2jOrEO%2FPicture18.png?alt=media&amp;token=b0d6e7b7-c5ca-4b82-87c2-bc4d075492e9" alt="" width="215"><figcaption></figcaption></figure>

**Step 14: Save the Field**

Click **Save Field** to add the custom field to the selected form, or **Cancel** to discard it.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FPPiNgnQxVZj3Q7R7inGG%2FPicture19.png?alt=media&amp;token=32e6cbff-7653-452a-a51d-263bbc010a63" alt=""><figcaption></figcaption></figure>

**Step 15: Edit a Custom Field**

To modify an existing custom field, click **Edit** against the required field, make the necessary changes, and then click **Update Details** to save the updated configuration.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2Fuc3wuM1XFPNrPLPZIV0c%2FPicture20.png?alt=media&amp;token=52fb1ea1-4f72-4a9c-ac8c-4eab565b387c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FYeh3Cyqimk6lUWYClZ2z%2FPicture21.png?alt=media&amp;token=787f2cb3-b8fe-436c-96ab-25c8adce5ec8" alt=""><figcaption></figcaption></figure>

**Step 16: Delete a Custom Field**

To remove an existing custom field, click **Delete** against the required field. A confirmation pop-up will appear; click **OK** to confirm and delete the field.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FAq2peX1V7tdG6vRc0Bkf%2FPicture22.png?alt=media&amp;token=6c03a14d-79f9-4474-9921-babe991a5cdc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2F8VejCKbFOncu2wMsgC6G%2FPicture23.png?alt=media&amp;token=d535731d-d1c4-4d0d-857c-107759306f1a" alt="" width="375"><figcaption></figcaption></figure>

**Note:** Once deleted, the field cannot be restored.

#### **Understanding the Custom Fields Table**

Once created, each custom field appears in a table with the following details:

| **Column**      | **Description**                                                      |
| --------------- | -------------------------------------------------------------------- |
| **Label**       | Display name of the custom field                                     |
| **System Key**  | Unique identifier used to reference the field in the system          |
| **Type**        | Data type of the field                                               |
| **Mandatory**   | Whether the field must be filled before the form can be submitted    |
| **Conditional** | Whether the field's visibility depends on another field or condition |
| **Status**      | Whether the field is active or inactive                              |

If no custom fields have been created yet for the selected form, the table shows: *"No custom fields yet. Click '* ***Add Field'*** *to create one."*

### **How Custom Fields Appear on the Actual Expense Claim Form?**

**Path: (ESS Portal):** [Login to ESS portal → Expense → Request → Claim Entry → click the + icon](https://ess.pockethrms.com/Expense/Transaction/ExpenseRequests)**.**

**Step 1:** Log in to the **ESS Portal** and navigate to **Expense,** then click on **Request.**

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FWuQctEuKSfDo7rG3W5W4%2FPicture24.png?alt=media&amp;token=fa55780d-434b-4e94-ae61-6dfae40e5a8e" alt="" width="265"><figcaption></figcaption></figure>

**Step 2:** In the **Claim Entry tab**, Click the **+ (Add)** icon.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FfkqbPmYmEoMOQvYsjmGb%2FPicture25.png?alt=media&amp;token=4509242e-d8ac-4061-a8b4-c04ddafef680" alt=""><figcaption></figcaption></figure>

This opens the **Expense** window where an employee's filed-in expense line is shown, along with every custom field configured for **Expense Claim**. Confirmed from a live example with four custom fields — **City**, **Expense Amount**, **Bill/Receipt**, and **Expense Category**.

* **Dropdown** fields (e.g. City) render as a **--Select--** dropdown, with a red asterisk if Mandatory is enabled.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FSpA6kbmLVuSzyacBS5lc%2FPicture26.png?alt=media&amp;token=aecd3a13-16f9-44db-99ce-72ff8806384a" alt="" width="372"><figcaption></figcaption></figure>

* **Number** fields (e.g. Expense Amount) render as a plain number input.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FwvdpQg3Q2MZJIov9y6e0%2FPicture27.png?alt=media&amp;token=53ce7dda-64b3-4463-8cb7-3592e052c61e" alt="" width="371"><figcaption></figcaption></figure>

* **File Upload** fields (e.g. Bill/Receipt) render as a **Choose file** control showing "No file chosen."

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FqqiVe6nOVs16JeeexPq6%2FPicture28.png?alt=media&amp;token=b418f69c-b8d5-4a35-8d79-cc83053640d8" alt="" width="331"><figcaption></figcaption></figure>

* **Multi-select** fields (e.g. Expense Category) render as a list box where multiple values can be selected — for example, travel, food, accomodation.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FIZ6Fu0P3kv8gWqigYJSF%2FPicture29.png?alt=media&amp;token=af7fbb0e-b1e5-4d95-9451-0c08fd0daaeb" alt="" width="346"><figcaption></figcaption></figure>

* When **Help Text** is enabled, it appears as a small line of guidance text directly below the field — for example, "select appropriate expense amount" below **Expense Amount**, and "upload our file here" below **Bill/Receipt**.

<figure><img src="https://4282324958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXep_PEmh8mDPVWj49x%2Fuploads%2FuiUyhBBiKc2fmvviTfhx%2FPicture30.png?alt=media&amp;token=54a29bd0-7253-4d0f-b0bb-b73f928302bf" alt="" width="346"><figcaption></figcaption></figure>

**Path Link:** [**https://ess.pockethrms.com/Expense/Transaction/ExpenseRequests**](https://ess.pockethrms.com/Expense/Transaction/ExpenseRequests)

**For any queries, contact** [**support@pockethrms.com**](mailto:support@pockethrms.com)


---

# 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 dynamically by asking a question.

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

```
GET https://docs.pockethrms.com/hr-and-admin-portal/ess-configurations/expense.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
