Customizing Fusion Application Expenses with Descriptive Flex Fields


This article describes how to customize the Oracle Fusion Applications (FA) Expenses application with the use of Descriptive Flex Field (DFF) in expenses. We will look at a use case with a need to capture more detail around an expense item and look at how to implement it. This use case is meant to showcase the ability of the application that can be further developed for specific needs.

Use Case

Let’s take a use case where a company has decided that employees are required to get pre-approval before claiming internet expenses and enter an approval code each time an internet expense is claimed.

The purpose of this use case is to look at how to capture more detail of an expense item when claimed. This can be achieved by using context sensitive Descriptive Flex Field (DFF) that must be entered when a certain type of expense is selected and claimed. This additional data is stored in the system along with the expense report for future reporting and analysis.


In this blog we captured details of the solution and setup. Please consider this as a reference to give you sufficient idea of the setup and not the sole guide for your complete setup. Functional setup of the FA Finance module is a prerequisite, and as a result is not discussed in this blog. Because the setup can change from environment to environment depending on your functional setup, so can the steps documented here. If you have previously setup DFF and contexts, please refer to the product documents (links are given in reference section below) and adjust as necessary. Prior experience in the Oracle Fusion Finance and Expenses modules is desired to follow the content discussed in this article.

Implementation of Use Case

As this use case is about capturing the approval code when the user is entering the internet expense report, we will first look at how to enable a user to enter the approval code upon selection of ‘Internet’ for expense type. We expect the approval code has been obtained outside of the expense system and prior to creating the expense report.

Let’s first discuss briefly about flexfields in FA and look at the steps to implement the same. Generally speaking, flexfields offer a way to add custom fields that are specific for a customer need and a way to extend the fusion application for customer specific use cases. There are 3 types of flexfields available in FA: Key, Descriptive and Extensible flexfields. Key flexfields are configurable multipart intelligent keys that can represent part numbers and account numbers. Descriptive and Extensible flexfields allow capturing additional information declaratively without custom development. Please refer to the Oracle documentation for more details on each of the flex fields at the link here.

We will be using Descriptive Flexfields (DFF) for this use case, as it provides simple, sufficient building blocks necessary for this use case. Generally, flexfields are considered part of the base fusion apps product and so benefits of using ‘sandbox’ feature is limited for the use case discussed here. However, ‘sandbox’ is recommended for heavier customizations where page component properties are used.

Descriptive Flex Field Setup

Login to Fusion Applications as a user such as Application Implementation Consultant with implementation privileges and go to Setup and Maintenance as pointed in the picture below with a green arrow.


In the ‘Setup and Maintenance’ screen as shown below, under ‘Search Tasks’, search for ‘expense’ that shows expense related tasks. We will be using two of the tasks listed in the search result – ‘Manage Expenses System Options’ and ‘Manage Descriptive FlexFields for Expense Reports’. First, let’s do a quick check whether the ‘Descriptive Flexfields’ are enabled in the system by selecting go to task ‘Manage Expenses System Options’.


This will launch a window as shown below and you will need to make sure the high-lighted ‘Enable Descriptive Flexfields’ is set to ‘Yes’.


Once the field is confirmed to have been set correctly, ‘Save and Close’ the window to move to the next step.

Now, back in the list of ‘expense’ tasks, select go to task ‘Manage Descriptive FlexFields for Expense Reports’. Now, in the ‘Manage Descriptive FlexFields for Expense Reports’ screen, select ‘Expenses’ in Module pull-down and search as shown below. This results in two lines, and now you can edit the ‘Expense’ line as highlighted below.


Once you select the pencil for edit, the following screen shows up where you can manage contexts and various other expense related fields.


As shown in the ‘Edit Descriptive Flexfield: Expenses’ screen, select ‘Manage Context’ button high-lighted at the top and create a context ‘Internet’ for this use case and the context sensitive segments to hold the value of the approval code.


The below screen shows the ‘Context Sensitive Segments’ and the options entered to ‘Create Segment’.


Once done entering values, ‘Save and Close’ at ‘Create Segment’ and then ‘Save and Close’ at ‘Create Context’ screen.

‘Save and Close’ the ‘Edit Descriptive Flexfield: Expense’ window and select ‘Deploy Flexfield’. The progress is as shown below:


This completes the setup of DFF and the next step is to create an expense report and test the DFF field.

Now, we login to FA as a user with necessary privileges to launch ‘Expenses’ and select the ‘Expenses’ application icon under ‘My Information’. Then, the user can see the option to ‘Create Report’ and ‘Create Expense Item’ to fill in the details of the expense as shown below:


Here we see that selecting ‘Internet’ under ‘Expense Type’ makes the ‘ApprovalCodeForInternet’ field show up and it is a mandatory field. Now the values entered here will get stored into the expense database in column ‘ATTRIBUTE_CHAR1’ as we have setup in the segment.

With what we have done so far, we have used the DFF to capture a specific expense attribute in the expense tables that can be used for runtime validations and future audits and analysis. This approval code value can be accessed in BPM Worklist as ‘ExpenseItem.attributeChar1’ and also be accessed in reports.


In this article, we have looked at how to customize Fusion Apps Expense using DFF to capture additional data of expense item depending on the expense type/context selected for claim by the user.


Web links and Oracle Documents:

  • Information Center: Oracle Internet Expenses (Doc ID 1381228.2)
  • Troubleshooting Assistant: Fusion Expenses (EXM) (Doc ID 1574035.2) is a nice menu driven tool.
  • Oracle Cloud Expenses Co-existence and Integration Options (Doc ID 2046956.1)
  • How to Assign Fusion Expenses to A User (Doc ID 1571884.1)

Add Your Comment