AutoInvoice in Oracle Apps R12

AutoInvoice in Oracle Apps R12

AutoInvoice is a powerful, flexible tool you can use to import and validate transaction data from other financial systems and create invoices, debit memos, credit memos, and on–account credits in Oracle Receivables. You use a custom feeder program to transfers transaction data from an external system into the AutoInvoice interface tables. AutoInvoice then selects data from the interface tables and creates transaction in Receivables. Receivables rejects transactions with invalid information to ensure the integrity of your data. You can run AutoInvoice together with Customer Interface or separately.

Oracle Receivables can create invoices from the following Oracle applications:  Oracle Order Management, Oracle Projects,  Oracle Service, Oracle Property Manager.
Oracle Receivables can create invoices from the following non-Oracle applications:  Legacy system (for transaction history),  Non-Oracle billing applications, Non-Oracle order entry applications.

Oracle Receivables uses three interface tables for AutoInvoice:


AutoInvoice transfers transaction data from the above three interface tables into the following Receivables tables:



  • This table contains information relating to all transactions to be processed by AutoInvoice.
  • Transactions include invoices, debit memos, credit memos, and on-account credits.
  • Each record contains line, tax, freight, or finance charges information.
  • The Line_Type field identifies the type of information contained in the record.
  • A record can be a parent record: Line, Header Freight, or Charges; or a child record: Tax or linelevel Freight.
  • A child record is linked to the parent record using the Link-To Transaction flexfield.


  • This table contains accounting distributions to be used by the transactions defined in RA_INTERFACE_LINES.
  • Accounts defined in this table override any accounts created using AutoAccounting.
  • You can choose to pass some or all account information to AutoInvoice. Any accounts that are not passed will be derived using AutoAccounting.
  • Records in this table are linked to records in the RA_INTERFACE_LINES table using the Transaction flexfield.
  • Not required if AutoAccounting determines GL distributions.


  • This table contains all sales credit information for the transactions in the RA_INTERFACE_LINES table.
  • The two tables are linked using the Transaction flexfield.
  • Not required if not tracking sales credit.

What occurs during auto-invoice:

  1. Populates the RA_Interface_Lines, RA_Interface_distribution and RA_Interface_salescredit tables.
  2. Lines are grouped and ordered by the grouping rule and line ordering line. Grouping rules are mandatory and determine how transaction lines are grouped into transactions. Optionally, you can use line-ordering rules to determine the order in which lines are displayed on a transaction.
  3. Tax, freight, commitments and credit memos are linked to transaction line by transaction line, transaction reference and transaction link-to descriptive flex fields. To uniquely identify imported transactions and link the tax, freight, commitments and credit memos, define the Transaction flexfields.
  4. GL date is determined.
  5. GL accounting code combinations are assigned using auto accounting rule.
  6. TAX is determined.
  7. All transactions are batched.
  8. Validated lines are used to create the transaction.

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.

Transaction flexfields:

  • Transaction flexfields are descriptive flexfields that AutoInvoice uses to uniquely identify transaction lines.
  • Because they are unique for each transaction line, they can also be used to reference and link to other lines.
  • Receivables lets you determine how you want to build your transaction flexfield structure and what information you want to capture.
  • Define a flexfield for each import source. Specify which one to use during import.

Types of transaction flexfields:

  • Invoice Header (optional): Specifies invoice header information
  • Line (required): Uniquely identifies invoice lines
  • Link-To (optional): Link tax and freight to invoice lines
  • Reference (optional): Links credit memos to transactions

What is inside AutoInvoice?

AutoInvoice 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:

Selects and marks records in the interface tables to  be processed based on the parameters the user entered and then calls the AutoInvoice 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.

AutoInvoice 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.

AutoInvoice 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.