Skip to main content

Account Generation Logic in Oracle iExpenses

This article discussed how the accounting flexfield is generated in Oracle iExpenses when employee submits his or her expense report.

 For simplicity sake, let’s assume the expense report does not have any multi-currency or credit card items. And as example, let’s assume we are using a simple chart of accounts containing of three segments:
Company-Cost Center-Account

Our employee belongs to company 100, and cost center 1000. Oracle iExpenses follows these steps to generate his account during the expense report entry:

Step 1: The Default Expense Account Defined in employee’s HR assignment:

Step 2: Employee enters the Expense Report Header. If he does not override the Cost Center, iExpenses proceeds to Step 3. If he does override the Cost Center (e.g. 2000), Oracle iExpenses builds an initial accounting combination of his Default Expense Account with his new Override Department.

The Feature: If this initial combination is invalid, employee will be able to proceed with the expense report entry but the report submission will fail without notifying the employee and regardless what the employee enters below!

Step 3: Employee enters expense line with an expense type (e.g. Airfare=50050) and no project. The system generates the expense line accounting flexfield. If project and task are entered, the system proceeds to Step 5:

Step 4: If Expense Allocations functionality is enabled, employee can change the above expense distribution for each line (e.g. 200-2222). If the above expense combination is invalid and the employee does not update it, the expense report submission will fail.

Step 5: Project and Task were entered at the expense line level: iExpenses will engage the Account Generator, and will follow its rules to update the initial combination, and build the new one. For example, let’s say the Company is derived from Project Organization (Seattle=100), Department from Override Department above (2000), and Account from Expense Type (Airfare). The resulting accounting combination will look as follows:


Popular posts from this blog

SQL Query to extract Oracle Purchase Order Information

SELECT   poh.po_header_id,    poh.type_lookup_code PO_TYPE,   poh.authorization_status PO_STATUS,   poh.segment1 PO_NUMBER,   pov.vendor_name SUPPLIER_NAME,   povs.vendor_site_code Location,   hrls.location_code Ship_To,   hrlb.location_code Bill_to,   pol.line_num ,   msib.segment1 Item,   pol.unit_price,   pol.quantity,   pod.amount_billed Amount,   pod.destination_subinventory,   ppf.full_name Buyer_Name,   poh.closed_Code  FROM   PO_HEADERS_ALL poh,   PO_LINES_ALL pol,   mtl_system_items_b msib,   PO_LINE_LOCATIONS_ALL poll,   PO_DISTRIBUTIONS_ALL pod,   po_vendors pov,   po_vendor_sites_All povs,   hr_locations_all hrls,   hr_locations_all hrlb,   per_all_people_f ppf,   po_line_types polt WHERE   1                         =1 AND polt.line_type_id    = pol.line_type_id AND povs.vendor_site_id     = poh.vendor_site_id AND pov.vendor_id           = poh.vendor_id AND pol.item_id             = msib.inventory_item_id AND msib.organization_id  

Query to find Operating Unit, Business Group and Legal Entity Information

SELECT   DISTINCT   hrl . country ,                  hroutl_bg . name              bg ,                  hroutl_bg . organization_id ,                  lep . legal_entity_id ,                  lep . name                    legal_entity ,                  hroutl_ou . name              ou_name ,                  hroutl_ou . organization_id   org_id ,                  hrl . location_id ,                  hrl . location_code ,                  glev . flex_segment_value FROM     apps . xle_entity_profiles   lep ,         apps . xle_registrations   reg ,         apps . hr_locations_all   hrl ,         apps . hz_parties   hzp ,         apps . fnd_territories_vl   ter ,         apps . hr_operating_units   hro ,         apps . hr_all_organization_units_tl   hroutl_bg ,         apps . hr_all_organization_units_tl   hroutl_ou ,         hr_organization_units   gloperatingunitseo ,         apps . gl_legal_entities_bsvs   glev WHERE    lep . transacting_entity_flag   =   'Y'         AND   l

List of iExpenses Tables

List of iExpenses Tables  Table Name Description AP_EXPENSE_REPORT_HEADERS_ALL Expense report header information AP_EXPENSE_REPORT_LINES_ALL Expense report lines information AP_EXP_REPORT_DISTS_ALL Expense report distribution information. It contains the accounts against each expense report line. AP_CREDIT_CARD_TRXNS_ALL Table to store the corporate credit card transactions that are sent by the banks. These lines are saved as expense lines when the user creates the expense lines for credit cards AP_NOTES Table to store the comments entered by approvers and auditors     Setup tables   AP_EXPENSE_REPORTS_ALL This table contains the header level information about the expense templates AP_EXPENSE_REPORT_PARAMS_ALL This table contains the detail level information about the expense templates AP_POL_CAT_OPTIONS_ALL Table to store the policy options AP_POL_CONTEXT Table to store the policy context     AP_POL_LOCATIONS_TL Table