Oracle Projects Account generators

The main account generator processes that relate to Oracle Projects are:

PAAPINVW — Project Supplier Invoice Account Generation
PAAPWEBX — Project Expense Report Account Generator
POWFPOAG — PO Account Generator
POWFRQAG — PO Requisition Account Generator

The first two are called from Oracle Payables when creating project related supplier invoices and expense reports, and the second two are called from Oracle Purchasing when entering projects related requisitions and purchase orders.

For transactions created within Oracle Projects, CCIDs are generated using the autoaccounting setup.

Project Supplier Invoice Account Generator

Project Supplier Invoice by default: The default process “Generate default account” contains nothing more than a dummy
procedure (PA_ACC_GEN_WF_PKG.AP_INV_ACC_UNDEFINED_RULES) which generates the following message and aborts:
“The default workflow for the Oracle Payables account function Project Supplier Invoice charge Account has not been customised.Please replace the dummy function in the default process for account generation by your own account generation method”.

Expense Report Account Generator

The default Expense Report Account Generator works as follows:

The vendor on an expense report must be associated with an employee. Employees can be assigned a default expense account in the employee setup in Oracle Human Resources:
People->Enter and Maintain->Assignment->Purchase Order Information

The account generator will use this default expense account. If it is not defined you will get an error when you try to save your expense report.


PO/Requisition Account Generator

The PO and Requisition account generators actually generate a series of Accounts. Each has procedures to generate the charge/expense account, the
accrual account, the budget account and the variance account. Within the default account generator there is a separate process to generate each of these accounts for project related purchase orders and requisitions.


PO Project-Related?

The default PO and Requisition Account Generator processes contain a procedure to determine if the PO or requisition is project-related or not.

This procedure (PO_WF_PO_CHARGE_ACC.IS_PO_PROJECT_RELATED) as defined is a dummy procedure that always returns false.

In order to generate specific accounts for project-related purchase orders and requisitions, this process must be modified, or the activity replaced with another that accurately determines whether the object is projects-related.

A common technique to accomplish this is to replace the function activity with a Compare Number” function (available in the list of standard functions). This function allows you to compare the value of the “Test value” (which you set to be the item attribute “Project id”) and the “Reference value” (which you set to be the constant 0). The results of this function are “Greater Than”, “Less Than”, “Equal” or “Null”. It will return null if the test value is null.

Therefore branching off of this comparison you will have two transitions. One linked to the “Null” return value which leads to the non project-related process, and one which is the <Default> encompassing all the other return values which leads to the project-related process. In this way, if the project_id is not null, it will branch to the project related process.

Build Expense Project Accounts

There are four subprocesses of the default workflow which are called if the above process determines that the item is project related. They are all named “Build Expense Project XXXX Account”, where XXXX could be Budget, Accrual, Variance or Charge. Like the Supplier Invoice process, there is no
default logic associated with any of these processes, and if there is a business need to enter project information and to generate different accounts based on that, they must be customized.

Leave a Reply