Showing posts with label R12 Custom Top. Show all posts
Showing posts with label R12 Custom Top. Show all posts

Wednesday, May 7, 2014

Issues When Upgrading Oracle Apps from 11i to R12


If you are starting or thinking of starting your Oracle R12 upgrade, you are probably wondering what type of issues other companies had with their upgrade.  It’s been about six months since I was the project manager on a 11i to R12 (12,1.1) upgrade.  Here’s a list of the modules that were upgraded:

  • General Ledger
  •  Payables
  •  Fixed Assets
  •  Receivables
  •  i-Receivables
  • Projects
  • Purchasing
  • Inventory
  • E-Business Tax
  • HR (shared install)
This upgrade seemed to focus around new functionality in Payables (or the Payments module), the integration of E-Business Tax, and addition of Subledger Accounting processes.  From our 3 test cycles, we found 182 issues.
Resolution Type
Total
3rd Party Configuration
7
Customization
25
DBA Action
11
Module Configuration
22
Oracle Sys Admin Config.
30
Patch
28
SQL Script
4
Training
55
Grand Total
182
As you can see, most of the issues were training related (30%).  If you look by module, Payables almost had half of the issues followed by Receivables.  This makes sense because in R12 payments and receipts are now processed differently.
Resolution Type
AP
AR
FA
GL
INV
iREC
PA
PO
SYS
TAX
Total
3rd Party Configuration
2
1
1
2
1
7
Custom Code
12
3
1
8
1
25
DBA Action
2
2
4
1
1
1
11
Module Configuration
7
5
2
1
2
1
4
22
Sys Admin Config.
14
5
2
1
1
1
2
1
3
30
Patch
10
6
3
2
1
2
1
2
1
28
SQL Script
2
1
1
4
Training
30
5
5
4
2
1
2
1
5
55
Total
79
27
15
11
4
12
6
9
9
10
182

R12-Invoice to Payment Process Flow in Oracle Payables

Overview Of payable :
An invoice is an itemized list of goods shipped or services rendered, with an account of all costs. Oracle Payables lets you capture all the attributes of the real-life invoice documents you receive from your suppliers. When you enter an invoice in Payables, the invoice information is divided between the invoice header and the invoice lines.


The Invoice to Payment process takes you from entering an invoice to paying the vendor.
  •  Entering or Importing the Supplier Invoice
  • Entering Invoices with Matched Purchase Orders and Receipts in the Invoice Workbench
  • Validating the invoice
  • Resolving automatic invoice holds
  •  Running the invoice approval process and approving invoices
  • Creating and approving payment

Entering or importing the supplier invoice
Invoice Types
Payables provide the following invoice types:
• Standard
• Mixed
• PO Price Adjustment
• Credit Memo
• Debit Memo
• Prepayment
• Expense Report
You can use these invoice types to enter any type of invoice document you receive from a supplier. For example, you can enter basic invoices that are not matched to purchase orders or more complex invoices that matched to purchase orders at the header, lines, shipping or receipt levels. You can enter invoices in foreign currency or enter invoices for suppliers who are subject to income tax reporting requirements (1099). The characteristics of each invoice type are described below.
Standard Invoices
Standard Invoice is invoices from a supplier representing an amount due for goods or services purchased. Standard invoices can be either matched to a purchase order or not matched. Standard invoices must be positive amounts.
Mixed Invoices
Mixed Invoices can be matched to both purchase orders and invoices. Mixed invoices can have either positive or negative amounts.
PO Price Adjustment Invoices
PO Price Adjustment Invoices are for recording the difference in price between the original invoice and the new purchase order price. PO price adjustment invoices can be matched to both purchase orders and invoices.
Credit Memo
Credit Memos are memos from a supplier representing a credit amount toward goods or services. Credit memos are always negative amounts.
Debit Memo
Debit Memos are invoices you enter to record a credit for a supplier who does not send you a credit memo.
Prepayment
Prepayments are invoices you enter to record an advance payment for expenses to a supplier or employee.
Expense Reports
Expense Reports are invoices representing an amount due to an employee for business-related expenses.

Entering Invoices Overview
You can enter and import invoices into Payables in many ways:
Manual Invoice Entry
You usually enter supplier invoices in either the Invoice Workbench or the Quick Invoices window. You can match to purchase orders when entering these invoices. For information on the differences between these windows, see the following section,
Differences between Entering Invoices in the Quick Invoices Window and the Invoice Workbench.
• Invoice Workbench: (Invoice Batches window, Invoices window, Distributions window, and the associated windows). Used to enter any invoice directly into the Payables system. Use this instead of the Quick Invoices when entering complex invoices or invoices that require online validation and defaulting. Also used when entering an invoice that needs immediate action, such as payment.
• Quick Invoices window: Used for quick, high-volume invoice entry for invoices that does not require extensive validation and defaults. After entry, you import these into the Payables system. Validation and defaulting occur during import.
Automatic Invoice Creation
You can set up your system to automatically create periodic invoices, for example, rent invoices:
• Recurring Invoices.
• RTS Invoices. If you use Return to Supplier feature in Oracle Purchasing, the system creates these debit memos directly in Payables.
• Retroactive Price Adjustment Invoices. If Oracle Purchasing users use the Retroactive Pricing of Purchase Orders feature, the system automatically creates Adjustment and PO Price Adjustment invoices.
Imported Invoices
You can import invoices or invoice information to create invoices in Payables.
• Oracle Internet Expenses expense reports: Expense reports your employees enter using a Web browser.
• Payables expense reports: Expense reports entered in the Payables Expense reports window by the Payables department.
• Credit Card invoices: Invoices for employee credit card expenses. The credit card company sends you these invoices as a flat file.
• EDI invoices. Electronic invoices transferred from Oracle e-Commerce Gateway.
• XML invoices. Electronic invoices transferred from the Oracle XML Gateway.
• Invoices from external systems. Invoices, such as invoices from legacy systems, loaded using SQL*Loader.
• Oracle Property Manager invoices: Lease invoices transferred from Oracle
Property Manager.
• Oracle Assets lease payments: Lease payments transferred from Oracle Assets.


Entering Invoices with Matched Purchase Orders and Receipts in the Invoice Workbench

You can match Payables invoices to purchase orders to ensure that you pay only for the goods that you have ordered, or you can match to purchase order receipts to ensure that you pay only for goods that you have received. Purchase order matched invoices are invoices that you match to any of the following:

• Purchase order shipments

• Purchase order receipts
• Purchase order receipt lines
• Purchase order distributions
You can set up controls in your system to require you to purchase order match each invoice. You can also set an option on a purchase order shipment that controls whether invoices should match to that shipment directly or to a receipt. You set tolerances to specify the range of variance you will allow if the amounts or quantities on the invoice are greater than the amounts or quantities on the purchase order or receipt.
When you enter an invoice and match it, Payables automatically creates distributions for you and checks that the match is within the tolerance you define.
After you save the match, Payables updates the quantity or amount billed for each matched shipment and its corresponding distribution(s) based on the amount you enter in the Quantity Invoiced field. Payables also update the amount billed on the purchase order distribution(s).
Receipt and purchase order matching setup and functionality is described in detail in Purchasing Integration. 

The following section describes how to enter and match invoices.

You can match an invoice to a purchase order in different ways:
• Receipt match. Matching to receipts allows you to pay only for goods or services you receive, and to pay for partial shipments without getting invoice holds. In addition, any exchange rate variance is likely to be smaller because the time between the receipt and invoice is less than the time between the purchase order and invoice.
If you use one of the Periodic Costing options available in Oracle Cost Management to record costs of goods that you order, it is critical that you always match to receipts to ensure accurate cost accounting. When you match an invoice for goods to a receipt, you can also link other charges, such as freight, tax, and miscellaneous to that receipt, so that costing can include those charges in the cost of the goods. If you match to a purchase order instead of a receipt, you will not have accurate costing data.

• Purchase order shipment match. Based on the Quantity Invoiced, Payables prorates the Match Amount across all non-fully billed purchase order distributions associated with the purchase order shipments you match to. Payables automatically create invoice distributions based on the purchase order distributions.
You can match to individual purchase order shipments. Payables automatically create invoice distributions based on the purchase order distributions.

• Purchase order distribution match. You can allocate the match amount to specific purchase order distributions. Payables automatically create invoice distributions based on the purchase order distributions you match to. See: Matching to Purchase
Order Shipments and Distributions from the Invoice Workbench.

• Price correction. Use a price correction to adjust the invoiced unit price of previously matched purchase order shipments, distributions, or receipts without adjusting the quantity billed.
When you are matching to a purchase order, open the View PO window to have easy access to purchase order information.

Prerequisites
• Enter a purchase order.
• Enter purchase order shipment information.
• Select a Match Approval Level and an Invoice Match Option for the purchase order.
• Enter the supplier and at least one pay site.


Validating the Invoice

Actions --> Validate --> select Validate check box --> OK.


  • Before you can pay or create accounting entries for any invoice, the Invoice Validation process must validate the invoice.
  • Invoice Validation checks the matching, tax, period status, exchange rate, and distribution information for invoices you enter. It checks the supplier site to determine which invoice tolerance template to use. If no invoice tolerance template is specified, tolerance checking is not performed. If an invoice tolerance template is specified,
  • Invoice Validation will check against the specific invoice tolerances template stored in the Invoice Tolerances window to determine if the invoice falls within the defined tolerances and automatically applies holds to exception invoices. If an invoice has a hold, you can release the hold by correcting the exception that caused Invoice Validation to apply the hold by updating the invoice or the purchase order, or changing the invoice tolerances. Then resubmit Invoice Validation to release the hold. In the Invoice Holds tab, you can manually release certain invoice holds, even if you have not resolved the matching error condition.



Note:
  • When the invoice is in a validated state, the Liability Account field cannot be updated.
  • Authorized users can always correct an invoice, even if you have validated, approved, paid, or created accounting entries for the invoice.
  • You can identify all invoices that Payables has not yet reviewed with Invoice Validation by submitting the Invoice Register and selecting the Invalidated Invoices Only parameter. You can review the validation status of an invoice online in the Invoice Overview window or the Invoices window.
  • Payables and Oracle Alert integrate to alert the appropriate accounts payable or purchasing staff when you or Payables place an invoice on hold. Oracle Alert also provides an integrated system of alerts, messages, and message distribution to focus attention on time-sensitive or critical information and streamline the validation process.
  • Exception reporting in Oracle Alert is accomplished using either electronic mail or paper reports.


You can submit an invoice for validation in one of the following ways:
• Online by using either the Validate or the Validate Related Invoices check box in the Invoice Actions window.

• Online by using the Validate button in the Invoice Batches window.

• Batch by submitting the Payables Invoice Validation program from the Submit Request window.
The order of the Invoice Validation process and Invoice Approval Workflow Program is based on the Approval Processing Sequence Payables option.

For example, you might want to validate before you approve if you enter invoices that require the Invoice Validation process to create tax distributions for you. If your approves need to review tax details before they approve an invoice, then we recommend that you select an option that validates before approving.

Validation Example
For example, Invoice Validation places three invoices on matching hold. The first invoice is on matching hold because the quantity billed exceeds the quantity received.

The second invoice is on matching hold because the invoice price exceeds the purchase order shipment price. The third invoice is on matching hold because the quantity billed exceeds the quantity ordered.

Invoice 1. Your receiving department receives the goods and records the receipt information. Your invoice now matches the receipt and Payables releases the hold when you submit Invoice Validation.

Invoice 2. A supplier sends a credit to correct the amount due on a previous invoice.
You match the credit to the purchase order as a price correction and associate it with the invoice during the match. The weighted average price of the invoice and credit memo now matches the purchase order shipment price. Payables release the hold when you resubmit Invoice Validation. Use the Validate Related Invoices option in the Invoice
Actions window to submit Invoice Validation for both the credit and the original invoice.

Invoice 3. You increase your tolerance levels using the Invoice Tolerances window.
Your invoice now matches your receipt and purchase order within your newly-defined tolerance levels and Payables releases the hold when you resubmit Invoice Validation.


Resolving Invoice Holds
When the validation process places an invoice on hold, you must either resolve the hold or release the hold before payment can be made.  Some holds can be released (like price and quantity holds) and other need to be resolved.  These holds are called system holds and are need to be resolved to make the invoice valid.
 Running the invoice approval process and approving invoices
After we have a valid invoice, you will need to run the invoice approval process.  This process can be tailor to your specific business needs with the Approval Management Engine (AME).  If the invoice meets the rules to require approval, AME will determine the approver(s) and send a notification.  The approver can then approve or reject the invoice online.
Creating and Approving payment
After we have an approved invoice, you are ready to pay the supplier.  You can create a manual payment for this invoice or you can batch all the invoices that are due for payment.  To create a payment batch, you use the Payments Process Request and select a template.  This template will identify the invoices to be paid and determines if approval is necessary.  If approval is not necessary, the payment documents will be formatted for printing (for checks) or electronic transmission.

Oracle E-Business R12 - Configuring the Custom Top

Use the following instructions to create a Custom Top in Oracle R12: 
1) Create the directory structure for your custom application files.
cd $APPL_TOP
mkdir custom_top
mkdir custom_top/12.0.0
Create the following subdirectories:
./admin
./admin/sql
./admin/odf
./admin/template
./admin/driver
./forms
./forms/US
./html
./lib
./mds
./mesg
./patch
./sql
./bin
./help
./java
./log
./media
./out
./reports
./reports/US
2) Add the custom module into the environment

Site Map -> AutoConfig
2

4
Click Add

6
8

10

12
Run AutoConfig

3) Create new tablespace for database objects:
create tablespace ISE datafile '/emea/oracle/visuk09/visuk09data/ISE.dbf' size 10M default storage (initial 10k next 10k)

4) Create schema
create user ISE identified by ISE
default tablespace ISE
temporary tablespace temp
quota unlimited on ISE
quota unlimited on temp;
grant connect, resource to ISE;

5) Register your Oracle Schema
Login to Applications with System Administrator responsibility
Navigate to Application-->Register
Application = ISE Custom
Short Name = ISE
Basepath = ISE_TOP
Description = ISE Custom Application

6) Register Oracle User
Naviate to Security-->Oracle-->Register
Database User Name = ISE
Password = ISE
Privilege = Enabled
Install Group = 0
Description = ISE Custom Application User

7) Add Application to a Data Group
Navigate to Security-->Oracle-->DataGroup
Data Group = ISEGroup
Description = ISE Custom Data Group
Click on "Copy Applications from" and pick Standard data Group, then add the following entry.
Application = ISE Custom
Oracle ID = APPS
Description = ISE Custom Application

8) Create custom request group
This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility (which is defined at a later stage)
Navigate to Security-->responsbility-->Request
Group = ISE Request Group
Application = ISE Custom
Code = ISE
Description = ISE Custom Requests
We will not define any requests to add to the group at this stage, but you can add some now if required.

9) Create custom menu
This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility (which is defined at a later stage) We will create two menus, one for Core Applications and one for Self Service.
Navigate to Application-->Menu
Menu = ISE_CUSTOM_MENU
User Menu Name = ISE Custom Application
Menu Type = <leave blank>
Description = ISE Custom Application Menu
Seq = 100
Prompt = View Requests
Submenu = <leave blank>
Function = View All Concurrent Requests
Description = View Requests

Seq = 110
Prompt = Run Requests
Submenu = <leave blank>
Function = Requests: Submit
Description = Submit Requests

Menu = ISE_CUSTOM_MENU_SSWA
User Menu Name = ISE Custom Application SSWA
Menu Type = <leave blank>
Description = ISE Custom Application Menu for SSWA


10) Create new responsibility. One for Core Applications and One for Self Service (SSWA)
Navigate to Security-->Responsibility-->Define
Responsibility Name = ISE Custom
Application = ISE Custom
Responsibility Key = ISECUSTOM
Description = ISE Custom Responsibility
Available From = Oracle Applications
Data Group Name = ISEGroup
Data Group Application = ISE Custom
Menu = ISE Custom Application
Request Group Name = ISE Request Group

Responsibility Name = ISE Custom SSWA
Application = ISE Custom
Responsibility Key = ISECUSTOMSSWA
Description = ISE Custom Responsibility SSWA
Available From = Oracle Self Service Web Applications
Data Group Name = ISEGroup
Data Group Application = ISE Custom
Menu = ISE Custom Application SSWA
Request Group Name = ISE Request Group

11) Add responsibility to user
Navigate to Security-->User-->Define
Add ISE Custom responsibility to users as required.

12) Other considerations
You are now ready to create your database Objects, custom Reports, Forms, Packages, etc

Create the source code files in the ISE_TOP directory appropriate for the type of object. For example forms
would be located in $ISE_TOP/forms/US or package source code in $KARI_TOP/admin/sql for example.

Database Objects, such as tables, indexes and sequences should be created in the ISE schema, then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example : logged in as ISE user
grant all privileges on myTable to apps;

b) Create a synonym in APPS for each custom data object
For example : logged in as APPS user
create synonym myTable for ISE.myTable;