Monday, November 15, 2010

Anatomy of Auto Invoice


What is Auto Invoice??
Auto Invoice is a tool that can be used to import and validate transaction data from other financial systems from which one can create invoices, debit memos, credit memos, and on-account credits. It rejects transactions with invalid information to insure the integrity of the data.

What Module data can be integrated?
  • Oracle Order Management
  • Oracle Project Accounting
  • Oracle Services
Top 10 reasons for using Auto Invoice

1. Powerful Interface Tool
2. Supports Oracle & Non-Oracle Systems
3. Import Large Amount of Data
4. Calculate or Import Tax
5. Group Lines & Invoices
6. Online Error Correction
7 .Lines Validation
8. Derive GL Date
9 .Import Flex fields
10. Import or Derive Accounting Info


What is inside Auto Invoice

Auto Invoice is a tool consists of 3 main programs. Each program will have unique nature of work to do and they are called internally except Purge program whose execution is derived on the setup otherwise ready to execute stand alone.
         Master (RAXMTR)
         Import (RAXTRX)
         Purge (RAXDEL)

1. Auto Invoice Master Program RAXMTR
Selects and marks records in the interface tables to be processed based on the parameters the user entered and then calls the Auto Invoice Import program. Auto Invoice Master Program has no report output.
•Gathers statistics, it means it gathers the stats on interface tables and set the stats on certain 
   indices on interface tables.
•Marks interface records for processing by marking request_id
•Submits multiple workers for Parallel Processing by creating instances for request.

2. Auto Invoice Import Program Validates the selected record and creates transaction if it passes validation. Any record that fails validation is left in the interface table with an error code. Depending on the setup, related records may be rejected as well. This program has an output file called Auto Invoice Execution report, which you can view by clicking the View Report button in the Requests window.

·         Workhorse of Auto invoice
·         Validates data
·         Inserts records
·         Deletes interface data
·         Only when system option purge set to ‘Y’

3.       Auto Invoice Purge Program Deletes records from the interface tables. If you set the Purge Interface Table system option to No in Define System Option window, Auto Invoice does not delete processed records from the interface tables after each run,and we must submit Auto Invoice Purge Program periodically to clean up the interface tables. This program only deletes transaction lines that have been successfully imported.
•Deletes all rows where interface_status =‘P’
•Ra_interface_lines
•Ra_interface_distributions
•Ra_interface_salescredits

How to start
A custom feeder program is required to transfer data from the Advantage extract files and populate the Auto Invoice interface tables (RA_INTERFACE_LINES_ALL and RA_INTERFACE_DISTRIBUTIONS_ALL).If there is need to run populate sales credit into RA_INTERFACE_SALESCREDITS_ALL table.
When run, AutoInvoice produces the AutoInvoice Execution Report and the AutoInvoice Validation Report.
Any entries which failed validation can be reviewed in Oracle Receivables’ AutoInvoice Interface Exceptions window. Depending on the error, changes may need to be made in Receivables, the feeder program or the imported records in the interface tables.

How Auto invoice Execution works
Normally, Auto Invoice can be divided into three major phases

Pre-grouping: here the validates all of the line level data takes place
Grouping: groups lines based on the grouping rules and validates header level data
Transfer: validates information that exists in Receivables tables

 What happen when Auto invoice run
Once the Auto invoice Program gets called, the following activity takes place is part of execution process. This can be analyzed by debug options.

•Line, accounting, and sales credit information for each line populates 3 interface tables
•Lines are ordered and grouped
•Tax is calculated
•GL date is determined
•GL accounts are assigned using Auto Accounting
•Tax, freight, commitments, and credit memos are linked to transaction lines
•All transactions are batched
•Validated lines are used to create the transaction

How Data is flowing
Select, insert and update and delete take place on certain tables once it is logged out.
Selects
           – RA_INTERFACE_LINES_ALL
           – RA_INTERFACE_DISTRIBUTIONS_ALL
           – RA_INTERFACE_SALESCREDITS_ALL

Updates/Insert
           – RA_INTERFACE_ERRORS_ALL
           – RA_CUSTOMER_TRX_ALL
           – RA_CUSTOMER_TRX_LINES_ALL
           – AR_PAYMENT_SCHEDULES_ALL
           – AR_RECEIVABLE_APPLICATIONS_ALL
Inserts
           – RA_INTERFACE_ERRORS_ALL

Auto Invoice Exception Handling
Records that fail validation are called ‘Exceptions’
•Exceptions stay in Interface Tables which is RA_INTERFACE_ERRORS_ALL
•Errors can be corrected in the Exception Handling window
•Once corrections are made, Auto invoice must be resubmitted
•Records that pass validation get transferred to Receivables tables

Auto Invoice Exception Handling Windows
•Interface Exception window displays exception messages associated with all invalid records
•Interface Lines window displays records that fail validation, provides an error message and can be used to correct the errors
•The Line Errors windows displays errors associated with a specific line, and can only be opened from Interface Lines window
•Interface Exceptions window displays Interface Id, Exception Type, Error Message and Invalid Value associated to the error
•Data cannot be edited in this window, but error can be viewed and corrected by clicking the Details button
•Error Message and Column name with invalid data are displayed in the Message column, and the invalid value that needs to be corrected is displayed in the Invalid Value column

How Auto Invoice Derive Dates:
General ledger date for Invoices without Rules:
1. Autoinvoice uses the general ledger date in the interface tables, if one exists and it is in an open or future enterable period.
2. If a general ledger date is not populated in the interface tables and Derive Date is set to no, Auto invoice uses the value of the default date parameter entered for the particular Auto invoice run.
3. If a general ledger date is not populated in the interface tables and Derive Date is set to yes, Auto invoice uses the ship date in the interface tables. If the ship date does not exist or is in a closed period Auto invoice uses the sales order date. If the sales order date does not exist or is in a closed period, Auto invoice uses the value of the default date parameter entered for the particular Auto invoice run.

General ledger date for Invoices with Rules
1. Autoinvoice uses the general ledger date in the interface table, if one exists and it is in an open or future enterable period.

2. If the invoice uses Bill in Advance as the invoicing rule, Auto invoice uses the earliest accounting rule start date as the invoice Gl date.

3.If the invoice uses Bill in Arrears as the invoicing rule, and the invoice line has an accounting rule of type ’Accounting, Fixed Duration,’ and a period of ’Specific Date,’ Autoinvoice computes an ending date using the latest accounting rule date. The latest ending date is the GL date. For all other accounting rules, with Bill in Arrears as the invoicing rule Autoinvoice computes an ending date for each invoice line based on the accounting rule, accounting rule start date, and duration. Once Autoinvoice computes the ending date for each line of your transaction, it takes the latest ending date and uses it as the invoice GL date. Rule Start Date
If the invoice does not use an accounting rule with a type of ’Accounting, Fixed Duration’ and a period of ’Specific Date,’ or if Derive Date is not selected, Autoinvoice uses the default date parameter entered for the particular Autoinvoice run.
If the invoice has an accounting rule with a type of ’Accounting, Fixed Duration’ and a period of ’Specific date,’ Autoinvoice uses the earliest accounting rule date as the rule start date. For example, if the accounting rule dates are 10–JUN–02, 10–JUL–02 and 10–AUG–02,
Autoinvoice uses 10–JUN–02 as the rule start date. If it is elected to derive the date, Autoinvoice first uses the ship date in the interface table. If the ship date does not exist, Autoinvoice uses the sales order date. If the sales order date does not exist, Autoinvoice uses the default date parameter entered for the particular Autoinvoice run.

Transaction date
If a transaction date is not passed for an invoice or debit memo, Autoinvoice uses the general ledger date. If the transaction date is passed specifically, it will be used.

No comments:

Post a Comment