This is a continuation of my earlier post, ‘You have been tasked with developing an interface to AR and you’ve never used Oracle’s Auto Invoice before. What do you do?’. This time, the idea is to show some of the scenarios one would face while trying to import the invoices.
As most of you would agree, most of the time, the code never works the first time you run it. When you try to run Auto Invoice, after developing the code to interface the invoices into AR, you are naturally going to see some rejections.
Types of rejections in Auto Invoice program
Type One:
When the ‘Auto Invoice Master Program’ is submitted, the program does initial validations to gather the data in the interface tables. When no records are found in the interface tables for the given criteria, then the program ends with ‘Warning’. This is easy to fix by making sure your parameters reference the right data. One of the common errors that would appear in the log is the following:
Error: Not all AutoAccounting types are defined
Explanation: Auto Invoice program expects the following 7 Transaction Types.
Freight
Receivable
Revenue
AutoInvoice Clearing
Tax
Unbilled Receivable
Unearned Revenue
If all of these are not setup, then the above error shows up. Additionally, you can run the following query to verify that these are setup in your system, before running the AutoInvoice program.
SELECT GL_DEFAULT_ID, TYPE
FROM RA_ACCOUNT_DEFAULTS_ALL
WHERE ORG_ID = &orgid
AND TYPE IN
('FREIGHT', 'REC', 'REV', 'SUSPENSE', 'TAX', 'UNBILL', 'UNEARN')
The missing ones can be setup in Receivables under Setup -> Transactions -> AutoAccounting
Type Two:
When you submit the ‘Auto Invoice Master Program’, this in turn submits the ‘Auto Invoice Import Program’ concurrent request. Successful completion of this program doesn’t mean that all your invoices have been imported. The output of this program lists how many invoices have been successfully imported and lists all the rejected invoices with the rejection reason. It is imperative that you carefully review this execution report to see that there were no rejections and all the transactions have been imported successfully. The following are the common errors listed in the execution report and ways to fix them:
Error | Explanation |
You must define a period for this GL date | The transaction date you have used is in a closed AR period. Open the AR periods and you would be able to process your transactions. |
You cannot supply payment terms for your credit memo transaction | While an ‘Invoice’ needs payment terms, the ‘Credit Memo’ does not need the payment term. Do not populate the payment terms field for credit memos and you will be able process the transactions |
The supplied unit of measure and the primary unit of measure of your system item must share the same unit of measure class | The above error simply means that while the supplied unit of measure code is valid, the inventory item uses a different unit of measure code as the primary unit. Correct and use an appropriate unit of measure code for that item. |
The total distribution amount for a transaction line must equal the transaction amount | The amount for a line does not match the sum of its distribution amount. Verify that you have correctly created the distribution lines for an interface line and correct amounts are used. |
Cannot get remit to address | No remit to address has not been defined which can be derived for a specific bill-to-address. Identify the bill-to-address and its operating unit, and setup the remit-to-address address under Setup -> Print –> Remit To Address |
What is described here is just the tip of the iceberg. Depending upon your organization’s setup, the errors may vary.
References
For a complete list of errors related to AutoInvoice, please refer metalink note: Listing of AutoInvoice Error Messages and Troubleshooting Tips to Resolve each Error [ID 1138254.1]
For sample code and use of APIs, please refer the following metalink note: Oracle Receivables Invoice API: Setup and Sample Scripts [ID 1242202.1]
Blog author: Louis Premkumar
Louis is a contributing blog author on the Applications Technical Services Practice team at BizTech.