Oracle iExpenses Overview

Using Oracle iExpenses, employees can enter and submit expense reports. There is a Workflow process that is initiated behind when an expense report is submitted which automatically routes expense reports for approval. Oracle Internet Expenses integrates with Oracle Payables to provide quick processing of expense reports for payment.

This article includes these topics:

  • Process Overview
  • Approval Hierarchy
  • Administrative features in iExpense
  • Workflow Notifications — Error Handling

Process Overview:

The employees would be issued Corporate credit cards which could be used for organization’s business expenses. The bank would send in all the credit card transaction files on a daily basis or the agreed time interval. These credit card transactions have to be loaded into AP_CREDIT_CARD_TRXNS_ALL table using credit card transaction loader programs. After loading credit card transactions data into the AP_CREDIT_CARD_TRXNS_ALL table, the Credit Card Transactions Validation program should be run to validate the loaded data. Once validated, employees can enter these credit card transactions on expense reports to get re-imbursement from the company.

Once the employee vouchers the expenses through iExpense responsibility or Expense report screen in Account Payables responsibility and submits it, the workflow with the internal name APEXP is initiated which would validate the data entered, determine the Approver, sends notifications to the approver. The Approver has to then Approve or Reject the notification accordingly. Once the workflow activities are complete, use the concurrent program Expense Report Import to create Payables invoices from expense reports you enter in Payables or Oracle Internet Expenses. You can then use Payables to validate and pay these invoices and create accounting entries for them.

Approval Hierarchy in iExpense:

If the profile option “AME: Installed” is set to Yes, then the routing rules for approvals setup in Oracle Approvals Management are used, If set to No then the Employee/Supervisor Approval Process is used.

Employee/Supervisor Approval Process:

In the Employee/Supervisor Approval Process, the supervisor of the Expense report’s owner would become the APPROVER. Every Employee should be assigned a Supervisor within Human Resources Responsibility- (New Hire: Assignments).An employee must be set up as a supplier prior to entering the expense report.

Managers can approve an expense report only if the total amount of the expense report does not exceed their signing limit. The Manager (Spending) Approval Process in the Expense Reporting workflow uses the signing limits you define(Navigation: Account Payables responsibility – Employees> Signing Limits )to determine which manager has authority to approve expense reports. If the amount on the expense report exceeds the signing limit of the approver, the expense report is automatically forwarded to the manager of the approver. This goes up the management hierarchy until an Approver is found who could approve the Expense report.

This process does not look at the purchasing Approval Hierarchy.

Administrative features in iExpense:

  • Delegating the authorization to enter the expenses on one’s behalf:

You can authorize an employee to enter expense reports for another employee. An employee who is assigned the responsibility to enter expense reports for another employee is an authorized delegate

There are 2 ways this could be done:

  1. Go to System Administrator>Security> Users

    Query for the User’s record. Under Securing Attributes tab, add the below details:

    Attribute: ICX_HR_PERSON_ID

    Application: Self-Service Web Applications

    Value: Employee Id or the Person_id to whom the access to enter the expense reports has to be given.

 

  1. Go to the iExpense responsibility > Expense Preferences >Authorization Preferences

Under Expenses Entry Delegations, click on the Add another row and enter the name
to whom the access to enter the expense reports on your behalf has to be given.

  • Re-direct or Auto respond to the notifications:

If the approver is on leave, the notification could be delegated or forwarded to the desired approver using Create Vacation Rule.

Steps to create Vacation rule:

1.  iExpense Responsibility> Expenses Home
2.  Select the “Vacation Rule” link
3.  Select the “Create New Rule” link
4.  For Item Type select “Expenses” for all Notifications or select the desired Notification Type from List of Values
5.  Select the “Next” link to proceed to the next setup page for the rule
6.  Enter both a a valid Start and End Date for the new rule
7.  Ensure the “Reassign” radio button is selected
8.  Keep “All Employees and Users” in the menu box
9.  Select the “Delegate” radio button – Assign/Reassign action is prohibited for Purchasing Notifications
10.  Select the Flashlight icon next to the blank menu box for selecting a user
11.  A new sub-screen should pop-up to perform the user search
12.  For “Search By” select “Username” – (DO NOT search by Name)
13.  Perform the needed wildcard (%) search at the top of the page to locate the desired username
14.  Click the radio button next to the desired name of the user to have the notifications sent to
15.  Press the “Select” button followed by the “Apply” button
16.  Continue on with the saving of the Vacation Rule for latter use

  • Assigning the Card to another person to voucher the expenses on someone’s behalf

    This could be done if a person has to access the outstanding credit card charges of another person to voucher them (temporarily). The disadvantage with this would be, the charges will be vouchered under the assignee’s name and would go to the assignee’s manager for Approval.

Workflow Notifications Error Handling:

In this section we will mainly focus on the notifications that are sent to the APPROVER for the approval as it is very important to see that such notifications reach the APPROVER on time so that there is no delay in the processing of the expense report to avoid late fee enforced by the Credit Card company. These notifications will have the message_name as ‘OIE_REQ_EXPENSE_REPORT_APPRVL’ in wf_notifications table. The mail status of the notification can be SENT, CANCELED, MAIL, UNAVAIL, ERROR, NULL. Let us see in detail about these and the actions required to get the notification to SENT status..

The below is the script to check the notification status:

select wn.notification_id,
aerh.invoice_num,
TO_CHAR(wn.begin_date,'DD-MON-YYYY hh:mi:ss') begin_date,
wn.to_user,
wn.from_user,
wr2.display_name preparer,
wr3.display_name reported_for,
wn.status,
wn.mail_status mail_status,
aerh.expense_status_code ,
WR.email_address ,
aerh.total,
aerh.report_submitted_date ,
aerh.description,
from wf_notifications wn,
wf_item_activity_statuses was,
wf_items wi,
ap_expense_report_headers_all aerh,
WF_ROLES WR,
wf_roles wr2,
fnd_user fu,
wf_roles wr3
where 1=1
and wn.notification_id = was.notification_id
and was.item_type = wi.item_type
and was.item_key = wi.item_key
and wn.status IN ( 'OPEN', 'CANCELED')
and wn.message_name = 'OIE_REQ_EXPENSE_REPORT_APPRVL'
and aerh.invoice_num = wi.user_key
and aerh.expense_status_code IN ( 'PENDMGR', 'RESOLUTN' )
and WN.recipient_role= WR.name (+)
and wi.owner_role = wr2.name
and aerh.employee_id = fu.employee_id
and fu.user_name = wr3.name (+)
;

SENT: The notification has been successfully sent to the APPROVER.

 

CANCELED: The system is setup to send the notifications n times (n can be set in the workflow attributes) with a timeout after 5 days. If the Approver does not approve or reject within the time frame, the workflow will cancel the notification automatically and then the notification will end up in the status CANCELED.

Action: In such cases, RETRY would not work instead ask the preparer to withdraw and re-submit the expense report.

 

MAIL: If the notification is not SENT to the approver, the status would be MAIL.

Action: Ask the DBA to bounce the workflow. This would solve the problem most times. But if it doesn’t i.e if the status is still MAIL, then RETRY the activity ‘Request Approval from APPROVER’ using the Workflow Administrator responsibility (demo below). If yet not sent, check the Attributes like Approver’s email etc.

 

BLANK: Sometimes the value of the status would be NULL.

Action: Sometimes even if the status is BLANK, the notification is sent to the approver. First check with the Approver to see if the notification is sent. If not sent, RETRY the activity.

 

UNAVAIL: This would happen usually when there is problem with the Approver’s preferences or Email address.

Action: Check the notification preference of the Approver using the below:

 

SELECT WFU.NAME, WFU.display_name,WFU.notification_preference, email_address  ,wfu.status

FROM WF_USERS WFU

WHERE WFU.name in (‘NAME’) (NAME would be the user_name in FND_USER table)

 

The notification_preference can be set to one of the below

MAILTEXT

QUERY

DISABLED

MAILHTM2

MAILHTML

MAILATTH

Make sure that it is set to MAILHTML

Also check if the email address returned in the above query is a valid one and matches with the one in HR Employee record (hr_employee table), fnd_user table and the outlook email address.

Also check if the status is ACTIVE in the above query, if the APPROVER is an existing employee and his FND_USER account is ACTIVE.

 

FAILED:

Action RETRY would solve this case.

 

ERROR:

Action: Check the ERROR and act accordingly. Some sample Errors:

 

–Failed Activity AP Validate Expense Report

Activity Type Function

Error Name -20001

Error Message ORA-20001: APP-SQLAP-10000: ORA-00984: column not allowed here occurred in AddDistributionLine with parameters (&PARAMETERS) while performing the following operation: parse cursor

Error Stack AP_WEB_EXPENSE_WF.APValidateExpenseReport(APEXP, 142459, 0, Call DoAPValidationORA-00984: column not allowed here occurred in AddDistributionLine with parameters (&PARAMETERS) while performing the following operation: parse cursor) Wf_Engine_Util.Function_Call(AP_WEB_EXPENSE_WF.APVALIDATEEXPENSEREPORT, APEXP, 142459, 175587, RUN)

 

Check if the code combinations are all passed in correct and if it exists. There is something wrong in the data which results in this error. If the expense report errors out in this Stage i.e it has not passed the validation, Status in expense report header would not be WEBEXPENSE and hence cannot see this in AP.

–. No Approver/Performer ERROR:

Check to see if there is any supervisor assigned in HR

Check to see if Supervisor exists in USERS list and in HR.

If everything is fine, In the status monitor, query for the Item key

Click on Active History

Check Request approval from APPROVER, hit Update attributes.

Fill in the appropriate Manager Id (Employee ID), Manager name(WF_USER.NAME), Manager Display Name(WF_user.display_name), approver ID, approver name ,Approver display name and hit Apply.

Go back to Active history, Check Request approval from APPROVER, hit Rewind.

 

–DISCARD folder error:

Failed Activity Request Approval from APPROVER

Activity Type Notice

Error Name WFRSPPR_BOUNCE

Error Message 2405: Notification ’1251131′ has bounced. Check mailer log and discard folder. STATUS=ERROR ROLE=ABHI

 

Ask the DBA to resend the notification from Workflow mailer. This is due to Mail Format or OUTLOOK version issues.

–Environment context Error:

Failed Activity Request Approval from APPROVER

Activity Type Notice

Error Name WF_ERROR

Error Message [WF_ERROR] ERROR_MESSAGE=3835: Error ‘-20001 – ORA-20001: Oracle error -20001: ORA-20001: APP-FND-02500: Error occurred during product initialization for MO when executing ‘begin MO_GLOBAL.INIT; end;’. SQLCODE = -20001 SQLERROR = ORA-20001: APP-FND-02902: Multi-Org profile option is required. Please set either MO: Security Profile or MO: Operating Unit profile option. has been detected in FND_GLOBAL.INITIALIZE.’ encountered during execution of Generate function ‘WF_XML.Generate’ for event ‘oracle.apps.wf.notification.send’. ERROR_STACK= Wf_Engine_Util.Function_Call(AP_WEB_EXPENSE_WF.CALLBACKFUNCTION, APEXP, 144392, SET_CTX) Wf_Engine_Util.Execute_Selector_Function(APEXP, 144392, SET_CTX) Wf_Engine_Util.Function_Call(AP_WEB_EXPENSE_WF.CALLBACKFUNCTION, APEXP, 144392, TEST_CTX) Wf_Engine_Util.Execute_Selector_Function(APEXP, 144392, TEST_CTX) Wf_Engine.CB(TESTCTX, APEXP:144392:175390, ::::) Wf_Engine.oldCB(TESTCTX, APEXP:144392:175390, ::::) WF_MAIL.SetContext(1252292) WF_XML.GenerateDoc(oracle.apps.wf.notification.send, 1252292) WF_XML.Generate(oracle.apps.wf.notification.send, 1252292) WF_XML.Generate(oracle.apps.wf.notification.send, 1252292) Wf_Event.setMessage(oracle.apps.wf.notification.send, 1252292, WF_XML.Generate) Wf_Event.dispatch_internal()

Error Stack

 

RETRY would resolve the problem.

If all the attempts were futile in sending the notification to the Approver, the last action to resolve would be to ask the approver to go to IExpense responsibility and approve manually.

RETRY Demo:

  • Log into Workflow Admin responsibility
  • Go to Administrator Workflow > Status Monitor
  • Key in the following values:

    Type Internal Name: APEXP

    User Key: Expense Report Number

  • Click Go
  • Select the Radio button and click on Activity History.

 

  • Select the Activity you want to RETRY say “Request Approval from APPROVER” and click on the Retry button on the top.

  • Click on Submit button in the next screen.

  • Confirm the details in the next page by clicking the OK button.

REWIND Demo:

  • Log into Workflow Admin responsibility
  • Go to Administrator Workflow > Status Monitor
  • Key in the following values:

    Type Internal Name: APEXP

    User Key: Expense Report Number

  • Click Go
  • Select the Radio button and click on Activity History.

 

  • Select the Activity which you want to REWIND for example say “Request Approval from APPROVER” and click on the Rewind button on the bottom.

 

  • Choose the activity to which you want the workflow to return in the next screen and select the “Apply” button. This would REWIND the activity.

 

UPDATE ATTRIBUTES Demo:

In the “Activity History” screen, click on the “Update Attributes” Button at the bottom. This opens up a page with all the attributes where you could update the necessary and hit “Apply” button to save the changes.

20 Comments

  1. Jay
    Nov 10, 2011 @ 05:31:05

    It is an excellent overview. Person like me totally new to iExpense can resolve lot of issues. Highly recommended to read this article.

    Thanks

    Reply

  2. Ravi
    Jan 06, 2012 @ 22:43:03

    Actually hats off to your efforts-n-time..and moreover the content matter is awesome & structured. Thanks for the great presentation

    Reply

  3. Raajkumar
    Mar 29, 2012 @ 15:22:35

    Good Effort. Appreciate you that you have shared your knowledge about IExpenses. This document would help both technical as well as functional consultants to understand customer’s problems and address it effectively.

    Thanks.

    Reply

  4. Mallik
    Apr 12, 2012 @ 16:12:18

    Hi Pruthvi,

    Thanks for the information. It was very helpful in understanding the Oracle iExpenses.

    Please let me know the following information:

    If the Re-direct or Auto respond to the notifications section, if a manager creates a Vacation rule and assigns some other employee to approve the expense reports:
    1. In Expense Approval workflow, in which function/process would the validation of Vacation rule be done?
    2. If we don’t want the employee who is delegated approval permissions to approve his own expense reports, what should be done.

    Please suggest.

    Thank you.

    Warm Regards,
    Mallik

    Reply

  5. Manogna Laxmi
    Apr 18, 2012 @ 17:44:23

    It really helped me alot to understand the iExpense overview.
    Thank you

    Reply

  6. Bindu
    Apr 25, 2012 @ 21:53:52

    Where in AP Expense Report Workflow can we setup AP approval to required for Expense Reports? We want to amke it required.

    Reply

  7. Srini
    May 11, 2012 @ 15:57:25

    It really helped me alot to understand the iExpense overview. if possible can u provide iexpenses setups also.

    Thank you

    Reply

  8. Ek
    May 18, 2012 @ 08:15:19

    Hi,

    Thanks,
    Do you the approval API involve?
    How do I approve it manually?

    Thanks,
    EK

    Reply

  9. sushant
    May 22, 2012 @ 10:12:31

    Hi,
    my client asking us to change approval notifications interval
    as per current setup, after submitting expense report approval notification goes to supervisor based on AME.
    and then after 5 days system sends another reminder if they don’t take any action and 10 day 2nd and 15th day final reminder notification goes to supervisor.

    my client wants to change 1st reminder notification to send 10th day and 15th day final reminder. they do not wish to take 5th day 1st reminder notification.

    I really appreciate your help.

    Regards
    Sushant.

    Reply

  10. lokesh
    May 23, 2012 @ 17:25:39

    routing number column where generated in ap modul tell me any on please

    Reply

  11. kumar
    Aug 08, 2012 @ 15:30:49

    Failed Activity AP Validate Expense Report

    Activity Type Function

    Error Name -20001

    Error Message ORA-20001: APP-SQLAP-10000: ORA-20001: ERROR: N, ERROR, Invalid Code Combination11.CCB.50136.00.0000.000000.000.0000.00000 occurred in BuildAccount with parameters () while performing the following operation:

    Error Stack AP_WEB_EXPENSE_WF.APValidateExpenseReport(APEXP, 28691, 0, Call DoAPValidationORA-20001: ERROR: N, ERROR, Invalid Code Combination11.CCB.50136.00.0000.000000.000.0000.00000 occurred in BuildAccount with parameters () while performing the following operation: ) Wf_Engine_Util.Function_Call(AP_WEB_EXPENSE_WF.APVALIDATEEXPENSEREPORT, APEXP, 28691, 257324, RUN)

    But when checked with user mentioned the cvr are fine.

    LEt me know what is the real cause of this issue

    Reply

  12. vijay
    Aug 08, 2012 @ 15:32:33

    Failed Activity AP Validate Expense Report

    Activity Type Function

    Error Name -20001

    Error Message ORA-20001: APP-SQLAP-10000: ORA-20001: ERROR: N, ERROR, Invalid Code Combination11.CCB.50136.00.0000.000000.000.0000.00000 occurred in BuildAccount with parameters () while performing the following operation:

    Error Stack AP_WEB_EXPENSE_WF.APValidateExpenseReport(APEXP, 28691, 0, Call DoAPValidationORA-20001: ERROR: N, ERROR, Invalid Code Combination11.CCB.50136.00.0000.000000.000.0000.00000 occurred in BuildAccount with parameters () while performing the following operation: ) Wf_Engine_Util.Function_Call(AP_WEB_EXPENSE_WF.APVALIDATEEXPENSEREPORT, APEXP, 28691, 257324, RUN)

    Getting above error even though the CVR and ccid are fine from configuration point of view.

    Let me know how to resolve this issue

    Reply

  13. Jayesh
    Sep 14, 2012 @ 05:48:39

    Excellent article! Very informative and to the point!

    Reply

  14. jc
    Oct 25, 2012 @ 10:24:26

    Hi,
    I have question re iexpense approval. The notification was sent to the approver but when he login to the expense report to approve it, the report is not listed in his queue for approval. I have checked the workflow and it is correct that the approval went to him. Why can’t the approver see the submitted report?
    Thanks.

    Reply

  15. Aaron Dominguez
    Jan 11, 2013 @ 03:30:18

    Hi Prudhvi!

    Thanks for this great article!. I am a newbie in iexpenses and this is gold for me.
    I have an issue, for very old expenses, i am not able to see the workflow status from web interface.
    Which is the table where this workflows status are saved? or how could i see this information in the database?

    Thank you

    Reply

  16. Gail
    Feb 05, 2013 @ 20:16:00

    Thanks for comprehensive article.

    Is there a way to set a default Expense Report Administrator, in the case of an Approver leaving the company?

    Any information would be greatly appreciated.

    Gail

    Reply

  17. Leandro
    Oct 01, 2013 @ 05:13:56

    Perfect Article.
    Congratulations!!!

    Reply

  18. Ajay
    Oct 24, 2013 @ 10:45:01

    I see mobile app for Oracle iExpense for R12 from Appzen at http://appzen.com/oracle-iexpense-on-your-iphone-and-android-device
    Does anyone know if this works with 11.5.9?

    Reply

  19. Prabhakar
    Jun 10, 2014 @ 19:43:51

    it is very helpful for me to understand the iexpences module .

    Thanks lot…and you done good effort

    Reply

  20. Thirumala
    Jun 27, 2014 @ 18:27:50

    Hi,

    I have an issue that X employee had spent some expense and he had submitted expense report for approval and its went Y manager but its should not be.Because Y is no longer manager of X.Current approval manager is Z.

    Please let me know how above approval went to two managers.
    Regards
    Thirumala

    Reply

Leave a Reply