Featured post

General Ledger Revaluation

General Ledger Revaluation Account balances denominated in foreign currencies are adjusted through the revaluation procedure. Revaluat...

Sunday, 24 July 2016

MULTI‐PERIOD ACCOUNTING IN ACCOUNTS PAYABLE AND HOW TO INTEGRATE IT TO PROJECTS


A better way to record, process and report pre-paid expenses.



This article focuses on the basic steps in setting up multi‐period accounting in Oracle E-Business Suite (EBS) Payables using Sub‐Ledger Accounting and the common mistakes that people make during setup.
We also cover the lack of functionality in EBS to support transfer of multi‐period entries to the Projects module. We will share how we overcame the deficiency to successfully make multi‐period accounting work in projects mirroring the accounts payable entries

Multi‐period Accounting

Multi‐period Accounting is a standard Oracle EBS function in the Accounts Payable module that enables expenses to be recognized over multiple periods. This is an option available at the invoice line level that can be enabled for both purchase order (PO) matched and unmatched manual invoices. You need to select the "Deferred Option" checkbox and specify the start date, number of periods and period type (days, weeks, months or years).

Environment and Expectations

Founded in 1915, the National Board of Medical Examiners (NBME) is an independent, not-for-profit organization that serves the public through its high-quality assessments of healthcare professionals. NBME is a project-driven organization using Oracle E-Business Suite Release 12.1.3, in a single legal entity, single operating unit and non-Multiple Reporting Currencies (non-MRC) environment. Modules used include AP, AR, GL, FA, Purchasing, i-expenses, OTL, Projects, Cash Management, Order Management and HR.
Purchase orders are created from purchase requisitions entered by end users with expense account coding. Purchase orders also contain Project, Organization, Expenditure Type, Task and Expenditure Date (POET) information. Invoices for these are created by matching to purchase orders. In some cases, these are pre‐paid invoices that are paid well in advance for future services/goods.
We wanted to record expense of such pre‐paid invoice lines over a given period. Also, we wanted the information to flow into projects in the same fashion as information flows into GL from AP. We reconcile the Projects amounts by expenditure type to GL account balances. In addition, we wanted the capability to report on the amortized expense details for reconciling the pre‐paid expense account balances in GL.

Setting up Multi‐period Accounting

The setup of multi‐period accounting is straightforward, but it is a multi‐step process. The setup starts at the lowest level, which is the journal line type, and ends when the ledger setup is updated to use the new Subledger Accounting Method (SLAM). The setup has flexibility to allow invoking rules based on certain conditions, but care should be taken while setting up the rules to handle both "meets" and "not meets" conditions. For example, we would like to use the PO charge account while expensing monthly amortized amounts for invoice lines that have PO line information but use the invoice distribution account entered for other lines that do not have the PO line information. Failure to handle the in and out conditions will result in exceptions during create accounting process.
Complete multi-period account setup steps are detailed in Exhibit A for our requirement above.

Shortcomings of the Standard Multi‐period Accounting Process

The standard multi‐period accounting process does have some major shortcomings that did not help us attain the time savings and efficiency we were hoping to gain (See Figure 1):
  • Lack of functionality to feed projects module with information about multi‐period amounts is one of them. When Payables Invoice information is interfaced to projects module, the full invoice line amount is transferred to projects in the same month of the invoice, irrespective of the start date of multi‐period accounting specified at the invoice line. But the information is sent to GL properly based on the multi‐period setup.
  • The projects and GL amounts are different, so these transactions have to be reconciled manually.
  • There is no standard reporting available to see what has been expensed so far and what is due for expensing in the future. This makes it very difficult to reconcile the pre‐paid account balance in GL.

Missing in the Standard Multi-period Accounting Process

For a given invoice line with deferred expense recognition.
  • Full invoice line amount is transferred to projects and accounted in the current period.
  • Amount transferred to GL from payables for a given period does not match amount interfaced to projects.
  • Unable to report on expense amortization information.
  • Unable to easily reconcile pre-paid account balance in GL with subledger.

NBME's Solutions to the Missing Functionality

We addressed the missing functionality with this custom solution (See Figure 2):
  • We created a custom program that pulls information from the SLA accounting tables and interfaces it to the Projects module like a Supplier Invoice transaction. The logic is to first reverse (create similar transaction with negative amount) the full invoice line amount transaction for the multi‐period invoice line created in projects by the standard "PRC: Interface Supplier Costs" program. Then, pull accounted information that has been transferred to GL for the given period from SLA module and stage the records in the PA_TRANSACTIONS_INTERFACE_ALL table.
Once the information is staged, it is marked as processed in the SLA tables using a descriptive flexfield (DFF) to prevent it from getting pulled again. The staged records can then be pulled into projects via the standard "PRC: Transaction Import" program. This enables us to easily reconcile the GL amounts to Project amounts.
See Exhibit B for the query to get the information from SLA tables for a given invoice line and period.
  • We created custom reports using information from the SLA tables. The report provides detailed information on which invoice line has been expensed, how much and what is left of it, and when it will be expensed. This gives us a complete picture of all the multi‐period transactions, and we are able to reconcile our GL pre‐paid balance accurately. This report can be run any time, giving you up-to-date information.
See Exhibit B for the query, which can be slightly modified to obtain balance/reconciliation reports by eliminating the clause in the query that limits the selection of record for reporting.

NBME's Solution to Address Missing Functionality

  • Created custom concurrent program.
    – To pull information from SLA tables.
    – Reverse the full invoice line amount in projects.
    – Create new expenditures in projects for the GL amount transferred in a given month.
    – Used the standard "PRC: Transaction Import" process to pull above adjustments into projects.
    – This custom program is run as part of month-end process.
  • Created custom reports.
    – To select information from SLA tables.
    – Provide detail amortization information.
    – Provide information on what has been expensed/remaining.
    – Used the standard "PRC: Transaction Import" process to pull above adjustments into projects.
    – Can be run at any time

Lessons Learned During Setup and Implementation

There is good documentation available for setting up multi‐period accounting, but here are some of the things we learned during the setup and implementation:
  • When creating a new setup, use the copy functionality on the screens to duplicate the standard item and make changes to the new one. This way, all the standard functionality is still maintained, and you do not risk overwriting the standard setup.
  • When setting up account derivation rules, make sure to use conditions to execute the rule only when the deferred option is checked in the invoice line. If not, the rule will fire for every line of your invoice, and you will have incomplete/incorrect accounting.
When setting up the account derivation rule for the journal line description, have the first rule to derive the complete accounting combination without any conditions. Subsequently, add rules to derive specific values for segments of the combination by using conditions. This way, the create accounting will not error out because of an incomplete accounting combination.
  • When setting up the multi‐period options for the journal line description, make sure to select the prorate type based on your needs. If you would like equal amounts in every period, select the "360 days" value instead of period name. Also, the line assignment should be set up completely to avoid any accounting entries.
  • Any change to the setup at any level may invalidate the Application Accounting Definition (AAD). So after every change, make sure the invoice class in the AAD is "Valid."

Conclusion

Implementing multi‐period accounting saved us more than eight hours during month-end processing. The basic setup needed has been documented well and is straightforward. The key to implementing this successfully is to understand how the rules and conditions work. Our custom process enhancements made it more worthwhile for reporting and made the process completely automatic by eliminating manual uploads and reconciliation. (See Figure 3.)

What We Achieved

  • Savings of 8 hours per month.
  • Automated process to manage pre-paid expense recognition.
  • Visibility to detail amortization information.
  • Better reporting capability.
  • Easier reconciliation to GL.

References

Oracle Subledger Accounting Implementation Guide Release 12.1 Part No. E13628‐04 1315106.1.
R12.x: Subledger Accounting: White Paper on Multi Period Accounting.

Exhibit A:

Setup Steps

Please note that these steps for using multi-period accounting are based on Oracle E‐Business Suite Release 12.1.3
1) Setup two new Journal Line Types.
Payables SuperUser – Setup‐Accounting Setups – Subledger Accounting Setup – Accounting Methods Builder – Journal Entry Setups – Journal Line Types
- The first Journal Line Type is a new Journal Line Type created for Expense Recognition.
- The Second Journal Line Type is for Item expense and is copied from the standard "Item Expense" Journal Line Type.
2) Set up New Journal Line Definition.
It is always recommended to copy from the existing standard Journal Line definition.
Create a new Journal Line definition NBME MPA ACCRUAL_INVOICES_ALL by copying definition from ACCRUAL_INVOICES_ALL. Uncheck the Active flag on the Standard Item Expense Journal Line Type. This way, the Journal Line Type will be used instead of the standard line type.
Create a new record for the Journal Line Type you created in Step 1.
The next step is to derive the Account Derivation Rule. But before that, create the "Mapping Set" to derive the pre‐paid expense Natural account. This is specifically needed for Invoice lines matched to a PO that you are planning to defer, as the distribution chart of accounts is inherited from a PO document that usually has an expense account coded and cannot be changed in the invoice.
– Create a mapping set with list of input and output values.
– Create a new account derivation rule using the mapping set above, and make sure the condition is set up properly. In this case, this account derivation rule will kick in only when the "Deferred" flag is checked on the invoice line.
– Create another rule for deriving the "Unit" segment of the chart of accounts. Make sure the condition is set up properly to execute when you want it to.
Now, set up the Journal Line Type with the Account Derivation Rules created above. It is important to have the first rule set up to generate a default chart of account value without any conditions. The custom rules can then be applied subsequently to derive values for individual chart of account segments.
Select the newly created Journal Line Type and click on the Multi‐Period Accounting button. In the options section, select the options needed. Please note that selecting "360 days" for "proration type," expenses the amount equally over the number of periods selected during invoice line creation.
Click on the Line Assignments to assign the line types created earlier.
- The first line type is the credit account derivation for each month.
- The second line type is the debit account derivation for the expense recognition
The setup for the NBME MPA Expense Rule is below. This is important to handle both purchase order matched invoices and manually entered invoices.
3) Set up a new AAD (Application Accounting Definition) by copying from standard Accrual Basis and assign the new Journal Line definition created above to the Invoice event class. Make sure to validate the complete AAD.
Payables SuperUser – Setup‐Accounting Setups – Subledger Accounting Setup – Accounting Methods Builder – Methods and Definitions – Application Accounting Definitions
4) Create a new Subledger Accounting Method (SLAM) by copying from standard SLAM Standard Accrual. Assign the new AAD to the Payables Application.
Payables SuperUser – Setup‐Accounting Setups – Subledger Accounting Setup – Accounting Methods Builder – Methods and Definitions – Subledger Accounting Methods
5) Update the Ledger Setup to use the new SLAM for your operating unit.
Payables SuperUser – Setup‐Accounting Setups – Ledger Setup – Define – Accounting setups
Click on Update against your operating unit and update the SLAM to the new one you created. Save the changes.
6) Now when the Create Accounting is run in payables, the invoice lines deferred for multi-period expense recognition are staged in the SLA module with the line amounts split across periods.
7) To account the multi‐period expense for every period, run the concurrent request "Complete –Multi-period Accounting" to transfer entries from the SLA module to General Ledger.

Exhibit B:


Query to Pull Information from SLA Table for Custom Processing and Reporting

select a.event_type_code, a.ae_header_id,
b.ae_line_num, b.description,
b.gl_sl_link_id, a.accounting_date,
a.accounting_entry_status_code, a.gl_transfer_status_code,
b.accounting_class_code, d.concatenated_segments, decode(b.accounting_class_code,'LIABILITY',(‐ 1*f.unrounded_entered_cr),f.unrounded_entered_dr) amount,
a.period_name, f.applied_to_dist_id_num_1,
g.project_id, g.task_id,
g.expenditure_type, g.invoice_line_number inv_line_num,
h.name org_name, g.expenditure_organization_id exp_org_id,
decode(b.accounting_class_code,'LIABILITY',g.dist_code_combination_id,b.code_combination_i
d) code_combination_id, g.invoice_id invoice_id
from xla_ae_headers a,
xla_Ae_lines b,
ap_invoices_all c,
gl_code_combinations_kfv d,
xla_transaction_entities e,
xla_distribution_links f,
ap_invoice_distributions_all g,
hr_organization_units h
where a.ae_header_id = b.ae_header_id
and d.code_combination_id = decode(b.accounting_class_code,'LIABILITY',g.dist_code_combination_id,b.code_combination_i d)and e.source_id_int_1 = c.invoice_id
and e.entity_code = 'AP_INVOICES'
and b.accounting_class_code in ('LIABILITY','EXPENSE')
and g.invoice_distribution_id = f.applied_to_dist_id_num_1
and e.entity_id = a.entity_id
and g.expenditure_organization_id = h.organization_id
and b.ae_header_id = f.ae_header_id
and b.ae_line_num = f.ae_line_num
and c.invoice_id =<invoice_id>
and g.invoice_line_number =<invoice_line_number>
and a.period_name =<period_name>
and a.accounting_entry_status_code = 'F'
and a.gl_transfer_status_code = 'Y'
and b.attribute15 is null ;.

Saturday, 23 July 2016

Setup Steps to Enable GL Reconciliation from Subledgers in Oracle R12

Setup Steps to Enable GL Reconciliation from Subledgers in Oracle R12

1] Customize the complete Subledger Accounting (SLA), reconciliation reference is enabled as a part of Journal Line Type.

2] For the Custom SLA ensure that the Journal Line Type for the corresponding line for the corresponding subledger is set to 'Detail'. Navigation: Setup : Accounting Setups : Subledger Accounting Setup : Accounting Methods Builder : Journal Entry Setups

3] Enable 'Reconciliation Reference' for this particular line by selecting something in the 'Source' field LOV, click on 'Accounting Attribute Assignments' in the Journal Line Type form. Note that such changes can not be made in Standard (Seeded) SLA setups, hence a completely customized SLA is required to enable reconciliation references

4] Ensure that the customized SLA is attached to the concerned Ledger as well. this can be done using Accounting Setup Manager (ASM). Navigation: Setup : Financials : Accounting Setup Manager

5] Ensure that reconciliation is enabled for the ledger as well, this can be done using Accounting Setup Manager (ASM). Navigation: Setup : Financials : Accounting Setup Manager

6] Ensure that the code combination which is used in Subledger and transferred to General Ledger as a part of Create Accounting process is enabled for Reconciliation. This can be done at Setup > Accounts > Combinations form, there is a new field in this form in R12 called as 'Reconcile'. This should be enabled for the required code combination. If this is enabled then only journal import imports the reconciliation references.

To to automatically propagate the Reconciliation Flag of a segment value to all account code combinations which contain that segment value Program - Inherit Segment Value Attributes needs to be run

Enable Diagnostics in Oracle apps

How to enable Oracle apps Diagnostics-> Examine, for certain users?
Steps 1
Navigate to System Administrator responsibility> Profile> System>
  

Steps 2
Enter profile name: Utilities:Diagnostics
Enter Application User for whom you want to enable Diagnostics-> Examine

Steps 3
Give Yes at User level and Save the Changes
Note –
You can set Yes at Site level also if you want to enable this option for all Oracle application users

Steps 4
Again navigate to System Administrator responsibility> Profile> System>
Enter profile name: Hide Diagnostics menu entry
Enter Application User for whom you do not want to hide Diagnostics menu entry

Steps 5
Give No at User level and Save the Changes
Note –
You can set No at Site level also if you do not want to hide menu entry option for all Oracle application users

Steps 6
Congratulations you have successfully enabled Diagnostics-> Examine
Logout from Oracle Application and login again. Now can see Diagnostics-> Examine option

Enable Diagnostics in Oracle apps

How to enable Oracle apps Diagnostics-> Examine, for certain users?
Steps 1
Navigate to System Administrator responsibility> Profile> System>
  

Steps 2
Enter profile name: Utilities:Diagnostics
Enter Application User for whom you want to enable Diagnostics-> Examine

Steps 3
Give Yes at User level and Save the Changes
Note –
You can set Yes at Site level also if you want to enable this option for all Oracle application users

Steps 4
Again navigate to System Administrator responsibility> Profile> System>
Enter profile name: Hide Diagnostics menu entry
Enter Application User for whom you do not want to hide Diagnostics menu entry

Steps 5
Give No at User level and Save the Changes
Note –
You can set No at Site level also if you do not want to hide menu entry option for all Oracle application users

Steps 6
Congratulations you have successfully enabled Diagnostics-> Examine
Logout from Oracle Application and login again. Now can see Diagnostics-> Examine option

Tuesday, 19 July 2016

Oracle Application Testing Suite

Oracle Application Testing Suite

Oracle Application Testing Suite is very comprehensive and includes Load Testing for Applications, Functional Testing for Applications and Test Manager for Applications.
If you are looking for a product that fit for achieving higher quality and performance of their applications then Oracle Application Testing Suite is right tool. This integrated, full life cycle solution enables you to define and manage your application testing process, validate application functionality, and ensure that your applications will perform under load.
Oracle Application Testing Suite
  • Comprehensive Pacakge - covers functional testing, load testing and test management
  • Maximize application performance for peak loads - Delivers rigorous validation that protocol-based legacy testing tools cannot provide
  • Testing effort is greatly enhanced - Ensures functional reliability while reducing your testing effort by 50% or more
  • Simplify test process management - Provides integrated test management for functional and load testing but also includes defect and requirements tracking.
  • Come with Web-based interface - Enables remote access and multi-user, concurrent, collaboration
OracleTestingSuite
Oracle Application Testing Suite's also has Accelerators for Oracle E-Business Suite to provide a comprehensive solution for ensuring the quality and performance of Oracle E-Business Suite applications. The Functional Testing Accelerator for Oracle E-Business Suite extends Oracle Functional Testing to enable automated functional and regression testing of Oracle E-Business Suite applications. The Load Testing Accelerator for Oracle E-Business Suite extends Oracle Load Testing to enable load and performance testing of Oracle E-Business Suite applications. The Testing Accelerators for Oracle E-Business Suite are components of Oracle Application Testing Suite, the centerpiece of the Oracle Enterprise Manager solution for comprehensive testing of packaged, Web and service oriented architecture-based applications. The tool offers following benefits.
  • Automates complex Oracle EBusiness Suite transactions for both functional testing and load testing
  • Supports automation of both Web and Oracle Forms application interfaces and protocols
  • Provides custom test cases to validate application content
  • Enables parameterization of test scripts for data-driven testing
  • Simulates loads of hundreds to tens of thousands of concurrent users while minimizing hardware requirements
  • Gathers critical infrastructure performance metrics to identify bottlenecks under load
  • Provides an intuitive Web based console to configure and run load tests and share real-time results with distributed users
dgreybarrow Major Components for Oracle Application Testing Suite
  1. OpenScript :Easy-to-use solution to create automated test scripts that simulate end-user transactions and execute automated functionaland regression testing. These scripts can also be used in Oracle Load Testing for load and performance testing
  2. Oracle Load Testing : This enables to easily test the scalability and performance of your enterprise applications.Uses automated scripts created in OpenScriptcan simulatehundreds or thousands of concurrent usersto test application performance under load and identify bottlenecks.
  3. Oracle Test Manager : The are used to Plan, organize, document, and manage the entire application testing process. This document and run both manual and automated test cases, track defectsand manage test requirements
  4. Oracle Application Testing Suite Administrator :These are used to manage users, roles, projects, and fields
dgreybarrow Comparison Of Oracle Application Testing suite and LoadRunner for Performance Testing?
As you might know Oracle Application Testing suite is a reframed version of e-Test Suite of Empirix (which Oracle bought) and not a well known nor widely used tool compared to HP Loadrunner(earlier Mercury LR). Also it depends on the support that you get when you start the scripting and for Loadrunner you have lot of avaiable resources even if it is for testing Oracle components like Siebel. If you are coming from HP to OAT, can compare the products as
  • Oracle Test Manager is what you have HP Quality Center
  • Oracle OpenScript is what you have HP Win Runner HP QuickTest Professional
  • Oracle Load Testing is what you have HP LoadRunner
dgreybarrow WHo can use /Whom you can engage with This tool
  • Project manager
  • Performance test team lead
  • Technical analyst
  • Database administrator
  • Application administrator
  • System administrator
  • Network administrator
  • Business analyst /Business System Analysts
  • User representative
  • User emulation scripting resource
dgreybarrow Oracle Test Starter Kit
  • Sample test scripts from Oracle E-Business Suite QA group
  • Test scripts against an EBS Vision Demo database
  • Previous versions created forHP WinRunner and HP QTP testing tools
Oracle Test Starter Kit for E-Business Suite R12.1.1 for OpenScript Oracle Functional Testing Accelerator for Oracle EBS Test Starter Kits for R12.1.1, you can download from here
  • Financial Products:
    • Oracle Payables
    • Oracle Receivables
    • Oracle General Ledger
    • Oracle Assets
    • Oracle Internet Expenses
  • Manufacturing Products:
    • Oracle Purchasing
    • Oracle Inventory
    • Oracle Order Management
    • Oracle Cost Management
    • Oracle Materials Requirement Planning
    • Oracle Process Manufacturing Products
  • CRM Products:
    • Oracle Contracts
    • Oracle Service
    • Oracle Marketing
  • Human Resources Product:
    • Oracle Human Resources
    • Projects Product:
    • Oracle Projects
  • Technology Product:
    • Oracle Application Object Library

Monday, 18 July 2016

R12: Employee Type Suppliers Frequently Asked Questions (FAQ)

R12: Employee Type Suppliers Frequently Asked Questions (FAQ)


QUESTIONS AND ANSWERS

Q1) Users are unable to query employee suppliers. What could be wrong?

The function POS_HT_SP_EMP_SUPPLIER has not been properly setup for the responsibility that is being used to run the supplier form.  New functionality in R12 has Employee type suppliers not being enterable or queriable unless the function POS_HT_SP_EMP_SUPPLIER is assigned to the menu where the Supplier forms is called from.
  • Include the function POS_HT_SP_EMP_SUPPLIER with the grant flag checked in the menu of the responsibility which the customer plans to have access to both standard and employee vendors.
    or
  • Check the grant flag for the function POS_HT_SP_EMP_SUPPLIER in the menu POS_HT_SP_FULL_ACCESS_MENU. However then all users that can create standard supplier will also be able to create employee supplier.
Then bounce the Apache server.
See Note.1371295.1 for more information.

Q2) Where is the Create a Supplier from an Employee Option in R12?  We are only able to create standard suppliers.

The solution is the same as shown above in Q1 for Querying An Employee Supplier
See Note:1371295.1 for more information.

Q3) Upgraded employee suppliers are not available in the suppliers form in R12. However, the supplier can be used to create an invoice. What is the problem?

New functionality in R12 has Employee Supplier Type not being enterable or queriable unless the function POS_HT_SP_EMP_SUPPLIER is assigned to the menu where the Supplier forms is called from.
The function Create/Update employee supplier details (POS_HT_SP_EMP_SUPPLIER) has not been properly setup for the responsibility that is being used to run the supplier form.
See Note:422849.1 for more information.

Q4) Why can address information not be viewed from AP for employee type suppliers?

In R12, employee address information is stored only in Oracle Human Resources. It is no longer stored in supplier records in the case of employee type suppliers. This is because the employee type supplier is modeled differently than standard suppliers. While processing payments or employee expense reimbursements the employee address information will be picked up from HRMS.
This enhancement is done to support the Safe Harbor related requirements, which requires the application to support data privacy and data security of sensitive information.

Q5) Why are we unable to view the address information in AP for suppliers created automatically by the Expense Report Export program?

Employee type suppliers do not have Address records in TCA associated with them. They can have the OFFICE or HOME site, but there is no address as defined in TCA. Address elements (Address1, City, State, etc.) are taken directly from HR, but are not displayed in the Supplier form at all. This is intended functionality meant to address the fact that a Payables clerk does not need to have access to the home address of every employee who is set up to receive Expense payments.
The address elements for the HOME site are from the address of the the employees record as seen in the People form in HR.
The address elements for the OFFICE site are from the address of the location of the employee’s current assignment. Get the Location from the Assignment window of the People form and then use that in the Locations form.
See Note:878607.1 for more information.

Q6) Why can the Employee Name not be updated from the AP webform in R12? This information was able to be updated in R11i.

In R12, it is no longer possible to update employee data directly via the supplier record. This data has to be updated in HR and then the changes replicated into the AP data by running the Employee Update Program.

Q7) Why are users unable to update a few attributes for employee type suppliers?

Users are prevented from updating employee type supplier attributes in AP because the supplier data should be in sync with that of the employee data in HRMS.
The following list of attributes cannot be updated in AP:
Supplier Name
Alternate Supplier Name
Alias
SIC Code
Please refer the following for details:
Bug 6666051: R12upgrade: Supplier search result and detail show diff. supplier name

Q8) Why is the data for employee suppliers when queried in AP different to how the data displayed in HR?

When a change is made to a HR employee record, that data is only updated in AP when the Employee Update Program is ran.

Q9) In invoice/payment workbench, when querying employee supplier, the display name is having format of Last name-First Name-Middle Name where as in HR such employee name is different. i.e  Swain, Sunil Kumar in Payables and Sunil Swain in HR.

Employee Supplier name (vendor_name in AP_SUPPLIERS) was incorrectly updated to the format last_name,first_name Middle name after the employee update program was run. This format did not match the way the name was stored in HR (PER_ALL_PEOPLE_F).
This was reported as Bug 9615088 and was fixed with a patch.
See Note:1269458.1 for more information.

Q10) In R12, what information for an employee type supplier is updated via Employee Update Program (EAP)?

The employee update program updates employee type supplier records if the corresponding employee record has been changed. In R12, when you submit the Employee Update Program, the system identifies any employee records that have changed since the last time you submitted the program.
If any employee records have been updated, then the Employee Update Program updates the supplier name (updated from Employee Name) and the inactive date information in the supplier records.
This program no longer updates the address information for the supplier.

Q11) How does duplicate supplier name validation happen in R12?

Duplicate supplier name validation happens only in case of standard suppliers.
It is a valid business scenario in case of multiple employees having same name. Hence the duplicate supplier name validation is not done for employee type supplier and also between standard suppliers and employee type suppliers.

Q12) How can multiple employees with the same first and last name be differentiated?

A field named ‘Employee Number’ has been provided to resolve this issue.
  • In Invoice and Payment workbench: Employee Number column was added in the Trading Partner and Supplier Num LOVs.
  • In Invoice Overview: Employee Number column was added in the LOVs belonging to Trading Partner section.
  • In Payment Overview: Employee Number column was added in the Name and Supplier Number LOVs belonging to the Payee section.

Q13) Why am I unable to create a provisional supplier site for employee suppliers?

Employee related information has to be maintained in HR. Till recently, there were only TWO ‘Mail To’ options available in HR Employee information – ‘Home’ & ‘Office’. These available ‘Mail To’ options were utilized to create the supplier site in Payables and while processing payment the address information will be retrieved from HR (for the applicable site) and printed on check.
If the requirement is to allow payments to a temporary address (Other than ‘Home’ & ‘Office’), then Patch:8320268, currently available for OA release 12.0 and 12.1, can be applied.
See Note:835313.1 for more information.

Q14) Some of our employees want to be paid in cheque to OFFICE or PROVISIONAL address.  In 11i, we can only use HOME address for employee-suppliers in Oracle Internet Expense. Can we use OFFICE and/or PROVISIONAL site addresses for employee suppliers in addition to HOME in R12?

Yes, in R12, the iExpense Application supports, Home, Office and Provisional as the address type.

Q15) Why are users unable to create and view contacts for employee type suppliers?

In R12, contacts cannot be created for employee type supplier. The supplier site contacts import program also has been modified to prevent import of such contacts. The view PO_VENDOR_CONTACTS.xdf has been modified to prevent contacts for employee type supplier from showing up in the view.
Please refer the following for details:
Bug 7390094: Data fix: Unable to view PO from Purchase Order Summary form

Q16) Why is the Tax and Financial Information Region Missing for Suppliers Classified as Employees in Oracle Payables?

The system is working as intended. This region is available for all suppliers except the ones classified as employees. The tax information is stored for the employees in HR. Define all the tax information for employees in HR.
See Note.466367.1 for more information.

Q17) What is the Address Printing logic on Checks for Employee Expense Reports?

In R12, employee address information is stored only in HRMS. It is no longer stored in supplier records in case of employee type suppliers. This is because the employee type supplier is modeled differently than standard suppliers.
In order process employee expense reimbursements, the following logic is applied:
  • If the expense payment site is ‘Home’, then the primary address of the employee record as seen in the People form in HR will be used.
  • If it is ‘Office’, then the address of the location of the employee’s current assignment will be used. You can get the Location from the Assignment window of the People form.
  • If the expense payment site is ‘Provisional’, then the address with address type as ‘Mailing’ from the employee record will be used.
However if the expense payment site is different from any the above mentioned (generally in case of an application upgrade from Release 11) (i.e.) ‘Home’, ‘Office’ or ‘Provisional’ then the logic applied for ‘Home’ will be applied.

Q18) When attempting to uncheck the ‘Federal’ checkbox in Supplier Entry for terminated employees the following error: FEDERAL_REPORTABLE_FLAG and 1099_TYPE do not match 1099 Type is inconsistent EMPLOYEE_ID is invalid Employee Info is invalid.  What is the problem?

Applying the patch released for Bug 7676989 for Oracle iSupplier Portal allows updating Supplier Tax Details (Federal; Reportable Flag and Income Tax Type).

Q19) Why can the termination date not be removed from an employee in AP in order to allow their final expense report to be entered and paid?

The new requirement that an Employee type supplier can not be updated if the associated employee record is not current. The core problem is that when the Employee Supplier record is inactivated by the Employee Update Program, the Actual Termination Date is used as the Inactive Date. This doesn’t allow for a grace period when an terminated employee can still get expenses paid.
Various bugs were logged for this and Patch 10014253 was released to correct the problem so that when the Employee Update Program is run, the Inactive Date on the supplier record is stamped with the Final Process Date from the employee’s termination record.  If the Final Process Date is NULL then the Actual Termination Date is used. If the Final Process Date is changed and Employee Update Program is run again, then the supplier Inactive date will be set to the new Final Process Date.

Sunday, 17 July 2016

Oracle Apps R12 SLA setup with example

Oracle Apps R12 SLA setup with example

SLA Setup in R12 with a simple example for Payables


Subledger Accounting:
SLA is a new concept in R12, where all the accounting information and rules are defined. Accounting entries generated in Subledgers are first transferred to SLA and then interfaced to GL. Hence reconciliation is already done in SLA before transferring to GL.

One big advantage in SLA is to configure rules to derive different accounting entries. Each and every segment for different accounting events could be configured to suit different business requirements which was not possible in 11i.

Liability account in payables would be defaulted from supplier site on to the invoices in 11i. If individual segments need to be different for different business, then custom programs were required. In SLA, we can set different rules to derive different segments for the liability account.
We shall see how we can derive the liability account based on one business requirement(to derive cost center based on invoice currency). We will be using the below functionalities to achieve the purpose.

Journal Line Type
Mapping Sets
Account Derivation Rules
Journal Lines Definition
Application Accounting Definition
Subledger Accounting Method

Then assigning the Subledger Accounting Method to the Ledger.
In our example we shall make use of the copy functionality provided by Oracle where ever available to derive our own custom types.

For complete definition of SLA and its components please refer to Oracle SLA Implementation guide.
The chart of accounts considered in the below example has 5 segments. Company, Cost Center, Account, Analysis, Others. Also automatic offset is enabled and set as 'Balancing' for the Operating Unit considered

Journal Line Type:
Subledger Accounting Setup --> Accounting Methods Builder --> Journal Entry Setup --> Journal Line Types
Journal types are defined for a particular event class(like invoices, credit memos..) and assigned to journal line definition along with mapping sets, account derivation rules.
We shall use the Oracle seeded Journal Line Type ‘Liability with Automatic Offsets Balancing Segment’ to make our custom line type.
Open the Journal Line Types window and query for ‘Liability with Automatic Offsets Balancing Segment’.


Click on copy, give our custom name.
‘XX Liab with Automatic Offsets Balancing Segment’

Click on Conditions, it would be same as the seeded Oracle Journal Line Type

The conditions are specified to create a Journal Entry based on this Journal Line Type when certain conditions are met.
The conditions in the above screenshot mentions the Journal Line Type to be created when Automatic Offset is set to ‘Balancing’ and for different invoice types.

Our requirement is to derive the cost center based on the invoice currency code. We shall see how we can achieve this using Mapping Sets and Account Derivation Rules.

Mapping Sets:
Subledger Accounting Setup --> Accounting Methods Builder --> Journal Entry Setup --> Mapping Sets
Mapping sets are used to get an output value for a particular segment or entire accounting flexfield based on input value.
Open mapping sets, click on New. Create new mapping set ‘XX Liability CC Map’.

In the input region, we have specified AP_SRS_CURRENCY valueset which will restrict the input value to valid currencies. In the output section we have selected the Chart of accounts and selected the segment as ‘Cost Center’.
In the mapping set values we have selected input value as ‘EUR’ and the output cost center.

Account Derivation Rules:
Subledger Accounting Setup --> Accounting Methods Builder --> Journal Entry Setup --> Account Derivation Rules
Account derivation rules are used along with Mapping sets to derive the accounting flexfield or individual segments.
Open ‘Account Derivation Rules’, click on ‘New’. Create Account derivation rule ‘XX LIABILITY CC ADR’


Select the Output Type as Segment and select ‘Cost Center’ segment. In priorities region, give the value type as ‘Mapping Set’ and value as ‘XX Liability CC Map’ which was created earlier. Select the input source as ‘Invoice Currency Code’

Journal Line Definition:
Subledger Accounting Setup --> Accounting Methods Builder --> Methods and Definition --> Journal Lines Definition
Journal line definition is used to assign journal line types for an event class or event type. This is where the Account Derivation rule is assigned to a journal line type.
Instead of creating an entirely new Journal Line Definitions, we shall make use of the copy definition functionality provided by Oracle.
Open the ‘Journal Lines Definition’. Query for event class ‘Invoices’, event type ‘All’ and definition code ‘ACCRUAL_INVOICES_ALL’.


Click on ‘Copy Definition’, give the definition code as ‘XX_ACCRUAL_INVOICES_ALL’, name as ‘XX Accrual Invoices All’. Select transaction and accounting chart of accounts as ‘Accounting Flexfield‘. Click on Done

In the ‘Line Assignments’ region disable ‘Liability with Automatic Offsets Balancing Segment‘ line type. Add the Journal Line Type Created – ‘XX Liab with Automatic Offsets Balancing Segment’.
In the Account Derivation Rules tab, select ‘All Segments’ and assign the standard Account Derivation Rule ‘Liability’. Select ‘Company’ segment and choose ‘Inherit’. Assign the Account Derivation rule created ‘XX Liability CC ADR’ to the segment ‘Cost Center’.


Application Accounting Definitions:
Subledger Accounting Setup --> Accounting Methods Builder --> Methods and Definition --> Application Accounting Definitions
Application accounting definition is used for assigning Journal Line Definitions to event classes and types.
We shall use copy functionality provided by Oracle to copy the Application Accounting Definition and make modifications.
Open ‘Application Accounting Definition’ and query for definition code ‘ACCRUAL’.


Click on Copy. Give the definition code ‘XX ACCRUAL’ and definition name as ‘XX Accrual Basis’. Select the transaction and accounting chart of accounts as ‘Accounting Flexfield’. Click on done. For the event class ‘Invoices’, delete the default journal line definition assigned and assign the Line Definition created earlier ‘XX Accrual Invoices All’.

Click on validate and make sure it is validated.

Subledger Accounting Method:
Subledger Accounting Setup --> Accounting Methods Builder --> Methods and Definition --> Subledger Accounting Methods
Application Accounting Definitions defined are assigned to different applications in Subledger Accounting Method. Subledger Accounting Method is then assigned to the ledger.
Open the Subledger Accounting Method. Click on New. Give the method code as ‘XX_STANDARD_ACCRUAL’ and method name as XX Standard Accrual. Select the transaction and accounting chart of accounts as ‘Accounting Flexfield’. In the Application Accounting Definition Assignment region assign ‘XX Accrual Basis’ for Payables.


The Subledger accounting method is attached to the ledger.

Create an invoice with currency code as ‘EUR’, validate and account the invoice. Check for the accounting entries created. The liability account would be having the cost center segment as ‘000000000EUR’.

For Supporting References please refer the below link.
Oracle R12 SLA Supporting References

For SLA accounting tables refer below link
Oracle SLA accounting tables

For Intercompany Setup refer the below link.
Oracle Apps R12 Intercompany Setup 

For SLA Accounting : Presentation  refer the below link.
http://www.slideshare.net/alibrahim7/oracle-applications-sla-r12-sla-demos

For SLA Setup and Example refer the below link.

I request you to provide your valuable comments.